
/* ═══════════════════════════════════════════════
   CARDDEN DESIGN SYSTEM
   Black × Violet × Green — collector dark mode
═══════════════════════════════════════════════ */
:root{
  --bg:#080808;
  --bg1:#0f0f0f;
  --bg2:#161616;
  --bg3:#1e1e1e;
  --bg4:#272727;
  --bg5:#303030;
  --border:#ffffff0d;
  --border2:#ffffff1a;
  --border3:#ffffff2e;
  --txt:#f5f5f5;
  --txt2:#a0a0a0;
  --txt3:#606060;
  --sky:#0ea5e9;
  --sky2:#0284c7;
  --sky3:#7dd3fc;
  --sky-glow:#0ea5e930;
  --sky-sub:#0ea5e912;
  --green:#22c55e;
  --green2:#16a34a;
  --g-subtle:#22c55e12;
  --red:#ef4444;
  --r-subtle:#ef444412;
  --gold:#f59e0b;
  --gold2:#d97706;
  --g2-subtle:#f59e0b10;
  --cyan:#06b6d4;
  --c-subtle:#06b6d412;
  --r:8px;
  --r2:12px;
  --r3:16px;
  --font:'Space Grotesk',sans-serif;
  --mono:'IBM Plex Mono',monospace;
  --body:'Inter',sans-serif;
}
/* Light theme — opt-in via body[data-theme="light"]. Just remaps the
   neutral-greys; accent colours (sky/green/red/gold) keep working. */
body[data-theme="light"]{
  --bg:#f8fafc;
  --bg1:#f1f5f9;
  --bg2:#ffffff;
  --bg3:#f1f5f9;
  --bg4:#e2e8f0;
  --bg5:#cbd5e1;
  --border:#0f172a14;
  --border2:#0f172a1f;
  --border3:#0f172a30;
  --txt:#0f172a;
  --txt2:#334155;
  --txt3:#64748b;
  --sky-sub:#0ea5e914;
  --g-subtle:#22c55e14;
  --r-subtle:#ef444414;
  --g2-subtle:#f59e0b14;
  --c-subtle:#06b6d414;
}
body[data-theme="light"] .ci{box-shadow:0 1px 3px rgba(15,23,42,.06)}

/* ═══════════════════════════════════════════════════════════════════
   FoilMarket v2 design system — ADDITIVE tokens + utility classes
   ───────────────────────────────────────────────────────────────────
   Adds a second parallel token set under distinct names so existing
   components keep working unchanged. Screens migrate one at a time by
   swapping old classes for the new v2 equivalents (see the utility
   class block below). Do NOT rename existing --bg/--txt/--border/etc —
   live components depend on them.
   ═══════════════════════════════════════════════════════════════════ */
:root,
body[data-theme="dark"]{
  /* Ink — deep night backgrounds, warm undertone */
  --ink-0:#05070d; --ink-1:#0a0e1a; --ink-2:#0f1424; --ink-3:#141a2e;
  --ink-4:#1c2339; --ink-5:#262e47; --ink-6:#323c58;
  --paper:#0a0e1a;

  /* Hairlines */
  --line-1:#ffffff0a; --line-2:#ffffff14; --line-3:#ffffff22; --line-hi:#ffffff40;

  /* Text */
  --text-1:#f4f6fb; --text-2:#a8b1c7; --text-3:#6e778f; --text-4:#4a5168; --text-inv:#0b1020;

  /* Brand sky (collides with old --sky #0ea5e9 — same hex, safe). */
  --sky-1:#38bdf8; --sky-2:#7dd3fc; --sky-ink:#0c4a6e; /* --sky + --sky-glow + --sky-sub defined in old block */

  /* Foil — the holographic accent palette */
  --foil-1:#67e8f9; --foil-2:#c4b5fd; --foil-3:#fbcfe8; --foil-4:#86efac;
  --foil-grad:linear-gradient(100deg,#7dd3fc 10%,#c4b5fd 30%,#fbcfe8 55%,#86efac 80%,#fde68a 100%);
  --foil-shimmer:linear-gradient(125deg,transparent 35%,#ffffff38 50%,transparent 65%);

  /* Semantic signal colors (aliases — existing --green/--red/--gold also work) */
  --up:#22c55e; --up-sub:#22c55e18; --up-ink:#14532d;
  --down:#ef4444; --down-sub:#ef444418; --down-ink:#7f1d1d;
  --warn:#f59e0b; --warn-sub:#f59e0b18; --warn-ink:#78350f;
  --info:#38bdf8; --info-sub:#38bdf818;

  /* Grading slab tints — PSA/CGC inspired */
  --grade-10:#fde68a; --grade-9:#bae6fd; --grade-8:#a7f3d0; --grade-7:#fed7aa;
  --grade-low:#cbd5e1; --grade-raw:#94a3b8;

  /* Rarity gradients — used for card badges, set tiles, hero fans */
  --ra-UR:linear-gradient(135deg,#fcd34d,#f59e0b);
  --ra-SAR:linear-gradient(135deg,#c4b5fd,#7c3aed);
  --ra-IR:linear-gradient(135deg,#f0abfc,#a21caf);
  --ra-HR:linear-gradient(135deg,#fdba74,#ea580c);
  --ra-SR:linear-gradient(135deg,#a5b4fc,#4f46e5);
  --ra-RR:linear-gradient(135deg,#67e8f9,#0891b2);
  --ra-ACE:linear-gradient(135deg,#fca5a5,#dc2626);
  --ra-R:linear-gradient(135deg,#93c5fd,#2563eb);
  --ra-UC:linear-gradient(135deg,#86efac,#059669);
  --ra-C:linear-gradient(135deg,#d1d5db,#6b7280);

  /* Shadow system */
  --shadow-card:0 1px 0 #ffffff08 inset,0 24px 40px -20px #00000088;
  --shadow-float:0 28px 80px -20px #000000d0,0 0 0 1px #ffffff10 inset;
  --shadow-foil:0 30px 80px -20px #0ea5e955,0 0 40px -10px #67e8f944;
  --shadow-slab:0 2px 0 #00000050,0 30px 60px -15px #000000a0,0 0 0 1px #ffffff12 inset;
  --shadow-pop:0 4px 10px -2px #00000060,0 20px 40px -8px #00000080;

  /* Type stack */
  --f-display:'Fraunces','Space Grotesk',ui-serif,serif;
  --f-ui:'Space Grotesk','Inter',system-ui,sans-serif;
  --f-body:'Inter',system-ui,sans-serif;
  --f-mono:'JetBrains Mono','IBM Plex Mono',ui-monospace,monospace;

  /* Radii + nav */
  --r-1:4px; --r-2:8px; --r-3:12px; --r-4:16px; --r-5:22px;
  --r-card:12px; --r-pill:999px;
  --nav-h:60px;

  --overlay:#000000c8;
}
body[data-theme="light"]{
  --ink-0:#f4f1ea; --ink-1:#faf7f0; --ink-2:#ffffff; --ink-3:#f0ece3;
  --ink-4:#e6e0d2; --ink-5:#d8d2c2; --ink-6:#bfb8a5;
  --paper:#faf7f0;
  --line-1:#0b10200c; --line-2:#0b102016; --line-3:#0b102028; --line-hi:#0b102048;
  --text-1:#111827; --text-2:#4b5563; --text-3:#6b7280; --text-4:#9ca3af; --text-inv:#f9fafb;
  --sky-ink:#0369a1;
  --shadow-card:0 1px 0 #ffffff inset,0 12px 24px -16px #0b102030;
  --shadow-float:0 28px 80px -20px #0b102030,0 0 0 1px #0b102010 inset;
  --shadow-pop:0 4px 10px -2px #0b102020,0 20px 40px -8px #0b102018;
}

/* ───── v2 utility classes ─────────────────────────────────────────── */
/* Typography helpers */
.fm2-disp{font-family:var(--f-display);font-weight:400;letter-spacing:-.02em;line-height:1.1}
.fm2-italic{font-family:var(--f-display);font-style:italic;font-weight:400}
.fm2-mono,.fm2-num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.fm2-eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3)}
.fm2-tiny{font-size:11px;color:var(--text-3);line-height:1.4}

/* Foil text — holographic gradient headline */
.fm2-foil{background:var(--foil-grad);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 200%;animation:fm2-foil-pan 12s ease-in-out infinite}
@keyframes fm2-foil-pan{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Surface card — the dominant container of v2 */
.fm2-surface{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);box-shadow:var(--shadow-card)}
.fm2-panel-title{font-family:var(--f-display);font-size:17px;font-weight:500;letter-spacing:-.015em}

/* Chips — compact metadata pills */
.fm2-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--r-pill);font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.04em;background:var(--ink-3);color:var(--text-2);border:1px solid var(--line-2);white-space:nowrap}
.fm2-chip-sky{background:var(--sky-sub);color:var(--sky-2);border-color:#0ea5e944}
.fm2-chip-up{background:var(--up-sub);color:var(--up);border-color:#22c55e40}
.fm2-chip-down{background:var(--down-sub);color:var(--down);border-color:#ef444440}
.fm2-chip-warn{background:var(--warn-sub);color:var(--warn);border-color:#f59e0b40}
.fm2-chip-pro{background:linear-gradient(135deg,#fde68a22,#fbbf2422);color:#fde68a;border-color:#fbbf2455;font-weight:700}
.fm2-chip-live{background:var(--up-sub);color:var(--up);border-color:#22c55e50}
.fm2-chip-live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--up);box-shadow:0 0 8px var(--up);animation:fm2-pulse 2s infinite}
@keyframes fm2-pulse{0%,100%{opacity:1}50%{opacity:.5}}

/* Delta (price movement) indicators */
.fm2-delta{display:inline-flex;align-items:center;gap:3px;font-family:var(--f-mono);font-size:11px;font-weight:600}
.fm2-delta.up{color:var(--up)}
.fm2-delta.down{color:var(--down)}
.fm2-delta.flat{color:var(--text-3)}

/* Rarity badges — foil gradient fills, mono uppercase text */
.fm2-rb{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:18px;padding:0 6px;border-radius:3px;font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.06em;color:#0b1020;text-shadow:0 1px 0 #ffffff40}
.fm2-rb-UR{background:var(--ra-UR)} .fm2-rb-SAR{background:var(--ra-SAR);color:#fff;text-shadow:0 1px 0 #00000040}
.fm2-rb-IR{background:var(--ra-IR);color:#fff;text-shadow:0 1px 0 #00000040}
.fm2-rb-HR{background:var(--ra-HR)} .fm2-rb-SR{background:var(--ra-SR);color:#fff;text-shadow:0 1px 0 #00000040}
.fm2-rb-RR{background:var(--ra-RR)} .fm2-rb-ACE{background:var(--ra-ACE);color:#fff;text-shadow:0 1px 0 #00000040}
.fm2-rb-R{background:var(--ra-R);color:#fff;text-shadow:0 1px 0 #00000040}
.fm2-rb-UC{background:var(--ra-UC)} .fm2-rb-C{background:var(--ra-C)}

/* Segmented toggle — used for 30d/90d/1y and grid/list toggles */
.fm2-seg{display:inline-flex;gap:2px;padding:2px;background:var(--ink-3);border-radius:var(--r-2);border:1px solid var(--line-1)}
.fm2-seg>button{padding:5px 12px;background:transparent;border:none;color:var(--text-3);font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.02em;cursor:pointer;border-radius:6px;transition:all .15s}
.fm2-seg>button.on{background:var(--ink-5);color:var(--text-1)}

/* Status dot — leading-dot labels (Delivered, Shipped, Pack & ship) */
.fm2-status-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}
.fm2-status-dot::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}

/* Holo card frame — applies tilt+shimmer to card thumbnails */
.fm2-holo-card{position:relative;border-radius:8px;overflow:hidden;transform-style:preserve-3d;transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.fm2-holo-card::after{content:'';position:absolute;inset:0;background:var(--foil-shimmer);background-size:200% 200%;mix-blend-mode:screen;opacity:.35;pointer-events:none;transition:opacity .2s}
.fm2-holo-card:hover::after{opacity:.6;animation:fm2-shimmer 2.5s linear infinite}
@keyframes fm2-shimmer{0%{background-position:0% 0%}100%{background-position:200% 0%}}

/* Buttons — extra-large hero variant + outline/sky */
.fm2-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--r-2);font-family:var(--f-ui);font-weight:500;font-size:13px;cursor:pointer;transition:all .15s;border:1px solid transparent;line-height:1}
.fm2-btn-xl{padding:14px 22px;font-size:14px;border-radius:var(--r-3)}
.fm2-btn-primary{background:var(--sky);color:#fff;border-color:var(--sky)}
.fm2-btn-primary:hover{background:var(--sky-1);border-color:var(--sky-1);box-shadow:0 10px 24px -10px var(--sky-glow)}
.fm2-btn-sky{background:var(--sky);color:#fff;border-color:var(--sky)}
.fm2-btn-outline{background:transparent;color:var(--text-1);border-color:var(--line-3)}
.fm2-btn-outline:hover{border-color:var(--line-hi);background:var(--ink-3)}
.fm2-btn-ghost{background:var(--ink-3);color:var(--text-1);border-color:var(--line-1)}
.fm2-btn-ghost:hover{background:var(--ink-4);border-color:var(--line-2)}

/* Ticker band — horizontal scrolling market movers */
.fm2-ticker-band{padding:10px 0;background:var(--ink-1);border-top:1px solid var(--line-1);border-bottom:1px solid var(--line-1);overflow:hidden;position:relative}
.fm2-ticker-track{display:flex;gap:36px;white-space:nowrap;animation:fm2-ticker 60s linear infinite;font-family:var(--f-mono);font-size:11px}
.fm2-ticker-track .ti{display:inline-flex;gap:10px;color:var(--text-3)}
.fm2-ticker-track .ti .n{color:var(--text-1);font-weight:500}
.fm2-ticker-track .ti .u{color:var(--up)} .fm2-ticker-track .ti .d{color:var(--down)}
@keyframes fm2-ticker{0%{transform:translateX(0)}100%{transform:translateX(-33.33%)}}

/* Scroll-snap carousel row */
.fm2-row-carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.fm2-row-carousel>*{scroll-snap-align:start;flex:0 0 auto}
.fm2-hide-sb{scrollbar-width:none}
.fm2-hide-sb::-webkit-scrollbar{display:none}

/* Section labels (eyebrow + count + "View all →") */
.fm2-sec-label{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:16px;flex-wrap:wrap}
.fm2-sec-title{font-family:var(--f-display);font-size:28px;font-weight:400;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.fm2-sec-count{font-family:var(--f-mono);font-size:11px;color:var(--text-3);font-weight:400;margin-left:4px}
.fm2-sec-more{font-family:var(--f-mono);font-size:11px;color:var(--sky-1);text-decoration:none;cursor:pointer;letter-spacing:.05em}
.fm2-sec-more:hover{color:var(--sky-2)}

/* "Fresh on the market" — inline filter pills in the rail header (one-rail home) */
.fm2-fresh-head{align-items:center}
.fm2-fresh-pills{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex:1;min-width:0}
.fm2-fresh-pill{font-family:var(--f-ui);font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:var(--r-pill);white-space:nowrap;cursor:pointer;background:var(--ink-3);color:var(--text-2);border:1px solid var(--line-2);transition:all .15s}
.fm2-fresh-pill:hover{border-color:var(--line-hi);color:var(--text-1)}
.fm2-fresh-pill.on{background:var(--sky);border-color:var(--sky);color:#fff}
.fm2-fresh-empty{padding:28px 0;font-size:13px;color:var(--text-3);font-family:var(--f-body)}
@media(max-width:760px){
  /* Pills drop to their own full-width scrollable row under the title */
  .fm2-fresh-pills{flex-basis:100%;order:3;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .fm2-fresh-pills::-webkit-scrollbar{display:none}
}

html{scroll-behavior:smooth}
body{
  font-family:var(--body);
  background:var(--bg);
  color:var(--txt);
  min-height:100vh;
  font-size:14px;
  line-height:1.5;
  overflow-x:hidden;
}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--bg5)}
::selection{background:var(--sky);color:#fff}
h1,h2,h3,h4,h5{font-family:var(--font);font-weight:700;letter-spacing:-0.02em;color:var(--txt)}
.mono{font-family:var(--mono)}

/* ── Grid dot texture ── */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(circle,#ffffff05 1px,transparent 1px);
  background-size:24px 24px;
}

/* ═══════════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════════ */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  height:54px;
  background:rgba(8,8,8,.96);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;
  padding:0 16px;gap:6px;
}
.logo{
  font-family:var(--font);font-size:19px;font-weight:700;
  letter-spacing:-0.04em;cursor:pointer;flex-shrink:0;
  display:flex;align-items:center;gap:4px;
  text-decoration:none;
}
.logo-main{color:var(--txt)}
.logo-dot{color:var(--sky)}
.logo-tld{color:var(--txt3);font-size:13px;font-weight:400}

.nav-search{
  /* Fixed-size flex item (no grow, no shrink past min) so the search
     cannot cheat into the nav-links area. 32px right margin is a hard
     visual gap between the input and "Home". On viewports where the
     logo + search + nav-links + actions don't all fit, the whole bar
     wraps via @media rules below rather than overlapping. */
  flex:0 0 auto;width:300px;min-width:180px;max-width:300px;
  position:relative;margin:0 44px 0 14px;
}
@media(max-width:1100px){.nav-search{width:220px;max-width:220px;margin-right:28px}}
@media(max-width:880px){.nav-search{width:160px;max-width:160px;margin-right:14px}}
/* Below 760px, hide the nav-search entirely — the hero + /market + /sets
   all have their own prominent search inputs, and the mobile drawer + bottom
   nav take you there in one tap. Removing it here prevents the search
   pill from overlapping the theme toggle + language + cart + user avatar
   when ~5-6 action buttons compete for the right side of the bar. */
@media(max-width:760px){
  .nav-search{display:none}
  .nav-actions{gap:4px;margin-left:auto}
  #theme-toggle-btn,#lang-btn{padding:4px 7px}
}
.nav-search input{
  width:100%;height:32px;
  background:var(--bg2);border:1px solid var(--border2);
  border-radius:6px;color:var(--txt);
  font-family:var(--body);font-size:13px;
  padding:0 32px 0 10px;outline:none;
  transition:border-color .2s,background .2s;
}
.nav-search input:focus{border-color:var(--sky);background:var(--bg3)}
.nav-search input::placeholder{color:var(--txt3)}
.nav-search-icon{
  position:absolute;right:9px;top:50%;transform:translateY(-50%);
  color:var(--txt3);font-size:12px;pointer-events:none;
}
.nav-ac{
  position:absolute;top:calc(100% + 4px);left:0;right:0;
  background:var(--bg2);border:1px solid var(--border2);
  border-radius:var(--r2);
  display:none;z-index:200;
  box-shadow:0 16px 40px #00000080;
  overflow:hidden;max-height:320px;overflow-y:auto;
}
.nav-ac.show{display:block}

.nav-links{display:flex;gap:2px;margin-left:12px;flex-shrink:0}
.nav-link{
  padding:5px 11px;border-radius:6px;
  font-size:13px;font-weight:500;color:var(--txt2);
  cursor:pointer;transition:all .15s;
  white-space:nowrap;border:none;background:none;font-family:var(--body);
}
.nav-link:hover{color:var(--txt);background:var(--bg3)}
.nav-link.active{color:var(--txt);background:var(--bg3)}

.nav-actions{display:flex;gap:6px;margin-left:auto;align-items:center}
.nav-btn{
  padding:5px 13px;border-radius:6px;
  font-size:13px;font-weight:600;font-family:var(--font);
  cursor:pointer;transition:all .15s;border:none;
  white-space:nowrap;
}
.btn-ghost{background:transparent;border:1px solid var(--border2);color:var(--txt2)}
.btn-ghost:hover{border-color:var(--border3);color:var(--txt);background:var(--bg3)}
.btn-violet{background:var(--sky);color:#fff}
.btn-violet:hover{background:var(--sky2);transform:translateY(-1px)}
.btn-sell{
  background:linear-gradient(135deg,var(--green),var(--green2));
  color:#000;font-weight:700;
}
.btn-sell:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 16px #22c55e30}
.nav-avatar{
  width:30px;height:30px;border-radius:50%;
  background:var(--sky-glow);border:1px solid var(--sky);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;color:var(--sky3);
  cursor:pointer;flex-shrink:0;
}
.hamburger{display:none;background:none;border:none;color:var(--txt);font-size:18px;cursor:pointer;padding:4px}
/* Mobile header trim — declutter the cramped 6-control bar down to
   menu · logo · cart · alerts · avatar, all ≥40px touch targets. Theme +
   language move to the drawer footer; +Sell is the bottom-nav action. */
@media(max-width:640px){
  #theme-toggle-btn,.lang-wrap,.nav-actions .btn-sell{display:none!important}
  .hamburger{order:-1;display:grid;place-items:center;width:42px;height:42px;font-size:21px;padding:0;border-radius:10px;margin-left:-6px}
  .nav-actions{gap:2px}
  .notif-bell{width:42px;height:42px;display:grid!important;place-items:center;padding:0;font-size:20px}
  .nav-avatar{width:38px;height:38px;font-size:13px}
  #nav-login-btn{padding:8px 10px}
  #nav-reg-btn{padding:8px 12px}
}

/* ═══════════════════════════════════════════════
   MOBILE NAV
═══════════════════════════════════════════════ */
.mob-drawer{
  position:fixed;top:0;left:0;bottom:0;width:292px;
  background:var(--ink-1);border-right:1px solid var(--line-1);
  z-index:600;transform:translateX(-100%);
  transition:transform .22s ease;
  display:flex;flex-direction:column;
  box-shadow:var(--shadow-float);
}
.mob-drawer.open{transform:none}
.mob-overlay{position:fixed;inset:0;z-index:590;background:rgba(5,8,15,.65);backdrop-filter:blur(4px);display:none}
.mob-overlay.show{display:block}
/* Account header */
.mob-acct{padding:18px 18px 16px;border-bottom:1px solid var(--line-1);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mob-acct-av{width:44px;height:44px;border-radius:50%;background:var(--sky-sub);border:1px solid var(--sky);color:var(--sky-1);font-family:var(--f-mono);font-weight:700;font-size:14px;display:grid;place-items:center;flex:0 0 auto}
.mob-acct-body{min-width:0;flex:1}
.mob-acct-name{font-family:var(--f-ui);font-weight:600;font-size:15px;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mob-acct-meta{font-family:var(--f-mono);font-size:10.5px;color:var(--text-3);margin-top:2px;display:flex;align-items:center;gap:6px}
.mob-acct-meta .star{color:var(--gold)}
.mob-acct-cta{display:flex;gap:8px;width:100%}
.mob-acct-cta button{flex:1;height:38px;border-radius:var(--r-2);font-family:var(--f-ui);font-weight:600;font-size:13px;cursor:pointer}
.mob-acct-cta .login{background:transparent;border:1px solid var(--line-2);color:var(--text-1)}
.mob-acct-cta .signup{background:var(--sky);border:1px solid var(--sky);color:#fff}
/* Grouped nav */
.mob-nav{flex:1;overflow-y:auto;padding:6px 12px 12px}
.mob-grp{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);padding:14px 14px 6px}
.mob-item{
  padding:11px 14px;border-radius:var(--r-2);
  font-family:var(--f-ui);font-size:13.5px;font-weight:500;color:var(--text-2);
  cursor:pointer;display:flex;align-items:center;gap:13px;
  transition:all .12s;letter-spacing:.01em;
}
.mob-item:hover,.mob-item.active{background:var(--ink-3);color:var(--text-1)}
.mob-item:active{background:var(--ink-3)}
.mob-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;opacity:.9;flex:0 0 auto;color:var(--text-2)}
.mob-icon svg{width:19px;height:19px;display:block}
.mob-item:hover .mob-icon,.mob-item.active .mob-icon{color:var(--sky-1)}
/* Footer: theme toggle + language flags */
.mob-foot{border-top:1px solid var(--line-1);padding:12px;display:flex;flex-direction:column;gap:10px;align-items:stretch}
.mob-foot-theme{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:var(--r-2);background:var(--ink-2);border:1px solid var(--line-1);color:var(--text-2);font-family:var(--f-ui);font-size:13px;font-weight:500;cursor:pointer;align-self:flex-start}
.mob-foot-theme .mob-icon{width:18px;height:18px;opacity:1}
.mob-foot-theme .mob-icon svg{width:18px;height:18px}
.mob-foot-langs{display:flex;gap:6px;justify-content:flex-start;flex-wrap:wrap}
.mob-foot-lang{width:34px;height:34px;border-radius:8px;background:var(--ink-2);border:1px solid var(--line-1);font-size:15px;cursor:pointer;display:grid;place-items:center;padding:0;line-height:1}
.mob-foot-lang.on{border-color:var(--sky);background:var(--sky-sub)}

/* ═══════════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════════ */
#app{position:relative;z-index:1;padding-top:54px;min-height:100vh}
.section{display:none}
.section.active{display:block}
.page-wrap{max-width:1280px;margin:0 auto;padding:0 16px}

/* ═══════════════════════════════════════════════
   COOKIE CONSENT
═══════════════════════════════════════════════ */
#cookie-banner{
  position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:800;
  background:var(--ink-2);border:1px solid var(--line-2);
  border-radius:var(--r-3);padding:14px 18px;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  box-shadow:var(--shadow-float);backdrop-filter:blur(12px);
  max-width:640px;width:calc(100% - 32px);
}
.cookie-text{font-family:var(--f-ui);font-size:12.5px;color:var(--text-2);flex:1;min-width:220px;line-height:1.5;letter-spacing:.01em}
.cookie-text a{color:var(--sky-1);text-decoration:none}
.cookie-text a:hover{color:var(--sky-2)}
.cookie-btns{display:flex;gap:8px;flex-shrink:0}
.cookie-reject{padding:7px 14px;background:transparent;border:1px solid var(--line-1);border-radius:var(--r-2);color:var(--text-3);font-family:var(--f-mono);font-size:11px;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;transition:all .15s}
.cookie-reject:hover{border-color:var(--line-2);color:var(--text-1)}
.cookie-accept{padding:7px 14px;background:var(--sky);border:1px solid var(--sky);border-radius:var(--r-2);color:#fff;font-family:var(--f-ui);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.cookie-accept:hover{background:var(--sky-1);border-color:var(--sky-1)}

/* ═══════════════════════════════════════════════
   RARITY BADGES
═══════════════════════════════════════════════ */
.rb{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:9px;font-weight:500;
  padding:1px 5px;border-radius:3px;line-height:1.6;
}
.rb-UR{background:linear-gradient(135deg,#f59e0b,#d97706);color:#000}
.rb-SAR{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff}
.rb-IR{background:linear-gradient(135deg,#d946ef,#a21caf);color:#fff}
.rb-HR{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}
.rb-SR{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}
.rb-RR{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#000}
.rb-ACE{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}
.rb-R{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}
.rb-UC{background:linear-gradient(135deg,#10b981,#059669);color:#fff}
.rb-C{background:var(--bg4);color:var(--txt3);border:1px solid var(--border2)}
.lang-badge{font-size:9px;font-family:var(--mono);padding:1px 4px;border-radius:3px;background:var(--bg4);color:var(--txt2);border:1px solid var(--border2);line-height:1;display:inline-block;vertical-align:middle;margin-left:4px}

/* ═══════════════════════════════════════════════
   LISTING CARDS (marketplace)
═══════════════════════════════════════════════ */
.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:12px;
}

/* ═══════════════════════════════════════════════
   HERO / LANDING
═══════════════════════════════════════════════ */
#s-home{}
/* Beta strip */
.beta-strip{
  max-width:1280px;margin:0 auto;padding:10px 16px;
  font-size:12px;color:var(--txt3);font-family:var(--mono);
  display:flex;align-items:center;gap:8px;
}

.hero{
  padding:56px 16px 48px;
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:1fr 440px;
  gap:48px;align-items:center;
  background:radial-gradient(ellipse at 80% 20%,#0ea5e90a 0%,transparent 60%),radial-gradient(ellipse at 20% 80%,#22c55e06 0%,transparent 60%);
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--sky-sub);border:1px solid var(--border2);
  border-radius:20px;padding:4px 12px;
  font-size:11px;font-weight:500;color:var(--sky3);
  margin-bottom:18px;font-family:var(--mono);
}
.live-pip{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 6px var(--green);animation:pip 2s ease-in-out infinite}
@keyframes pip{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{
  font-size:clamp(32px,4vw,52px);
  line-height:1.1;margin-bottom:14px;
}
.hero h1 .v{color:var(--sky3)}
.hero h1 .g{color:var(--green)}
.hero-sub{
  font-size:15px;color:var(--txt2);line-height:1.65;
  max-width:480px;margin-bottom:28px;
}
.hero-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}
.btn{
  padding:11px 22px;border-radius:var(--r-2);
  font-family:var(--f-ui);font-weight:500;font-size:13px;letter-spacing:.01em;
  cursor:pointer;border:1px solid transparent;transition:all .15s;
  display:inline-flex;align-items:center;gap:8px;
  text-decoration:none;
}
.btn-primary{background:var(--sky);border-color:var(--sky);color:#fff}
.btn-primary:hover{background:var(--sky-1);border-color:var(--sky-1);box-shadow:0 10px 24px -10px var(--sky-glow)}
.btn-primary:active{transform:translateY(0)}
.btn-secondary{background:transparent;border-color:var(--line-3);color:var(--text-1)}
.btn-secondary:hover{background:var(--ink-3);border-color:var(--line-hi)}
.btn-green{background:var(--up);border-color:var(--up);color:#051709;font-weight:500}
.btn-green:hover{background:#16a34a;border-color:#16a34a;box-shadow:0 10px 24px -10px rgba(34,197,94,.4)}
.btn-green:active{transform:translateY(0)}
/* Focus-visible for keyboard navigation (a11y). */
.btn:focus-visible,.nav-btn:focus-visible,.nav-link:focus-visible{outline:2px solid var(--sky);outline-offset:2px}

.hero-numbers{display:flex;gap:12px}
.hero-stat{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);
  padding:10px 16px;min-width:70px;text-align:center;
}
.hero-num-val{font-family:var(--font);font-size:22px;font-weight:700}
.hero-num-lbl{font-size:9px;color:var(--txt3);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}

/* Hero right: card showcase */
.hero-showcase{position:relative;height:480px}
.showcase-glow{
  position:absolute;width:300px;height:300px;top:50%;left:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,#0ea5e918 0%,transparent 70%);
  border-radius:50%;pointer-events:none;z-index:0;
}
.showcase-card{
  position:absolute;border-radius:12px;overflow:hidden;
  box-shadow:0 24px 64px #000000a0;
  border:1px solid var(--border2);transition:transform .3s;
}
.showcase-card img{width:100%;height:100%;object-fit:cover;display:block}
.showcase-card-ph{
  width:100%;height:100%;background:var(--bg3);
  display:flex;align-items:center;justify-content:center;font-size:42px;
}
.sc1{width:190px;height:265px;left:0;top:80px;transform:rotate(-6deg);z-index:1}
.sc2{width:220px;height:307px;left:75px;top:16px;transform:rotate(-1deg);z-index:3;filter:drop-shadow(0 0 40px #0ea5e915)}
.sc3{width:185px;height:259px;left:210px;top:100px;transform:rotate(5deg);z-index:2}
.sc1:hover{transform:rotate(-9deg) translateY(-8px);z-index:4}
.sc2:hover{transform:rotate(-1deg) translateY(-14px);z-index:4}
.sc3:hover{transform:rotate(8deg) translateY(-8px);z-index:4}
.showcase-badge{
  position:absolute;z-index:5;
  background:var(--bg2);border:1px solid var(--border2);
  border-radius:var(--r);padding:8px 12px;
  backdrop-filter:blur(8px);
}
.sb-price{bottom:10px;left:-8px}

/* ═══════════════════════════════════════════════
   MARQUEE TICKER
═══════════════════════════════════════════════ */
.ticker-wrap{
  overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  background:var(--bg1);padding:6px 0;max-width:1280px;margin:0 auto;border-radius:var(--r);
}
.ticker{display:flex;gap:0;animation:ticker 30s linear infinite;white-space:nowrap}
.ticker:hover{animation-play-state:paused}
.ticker-item{display:inline-flex;align-items:center;gap:8px;padding:0 24px;font-size:12px;font-family:var(--mono);color:var(--txt2)}
.ticker-name{color:var(--txt);font-weight:500}
.ticker-price{color:var(--green)}
.ticker-chg{font-size:10px}
.ticker-chg.up{color:var(--green)}
.ticker-chg.dn{color:var(--red)}
.ticker-sep{color:var(--border3);margin:0 4px}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ═══════════════════════════════════════════════
   CATEGORY STRIP
═══════════════════════════════════════════════ */
.cat-strip{max-width:1280px;margin:0 auto;padding:20px 16px 0}
.cat-strip-inner{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.cat-strip-inner::-webkit-scrollbar{display:none}
.cat-pill{
  flex-shrink:0;padding:7px 16px;border-radius:20px;
  background:var(--bg3);border:1px solid var(--border);
  color:var(--txt2);font-size:12px;font-weight:500;font-family:var(--font);
  cursor:pointer;transition:all .15s;white-space:nowrap;
}
.cat-pill:hover{background:var(--bg4);color:var(--txt);border-color:var(--border3)}
.cat-pill-accent{background:var(--sky-sub);color:var(--sky3);border-color:#0ea5e930}
.cat-pill-accent:hover{background:var(--sky);color:#fff}

/* ═══════════════════════════════════════════════
   HOME SECTIONS
═══════════════════════════════════════════════ */
.home-block{max-width:1280px;margin:0 auto;padding:0 16px 48px}
.block-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.block-title{font-family:var(--font);font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px}
.block-tag{
  font-family:var(--mono);font-size:9px;font-weight:500;
  padding:2px 7px;border-radius:3px;
  background:var(--sky-sub);color:var(--sky3);
  border:1px solid var(--border);vertical-align:middle;
}
.block-more{font-size:12px;color:var(--txt3);cursor:pointer;transition:color .15s}
.block-more:hover{color:var(--sky3)}

/* Horizontal scroll row */
.home-scroll-row{
  display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:8px;
}
.home-scroll-row::-webkit-scrollbar{display:none}
.home-scroll-row .lcard{flex:0 0 220px;scroll-snap-align:start}

/* Featured sets row */
.feat-sets{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.feat-sets::-webkit-scrollbar{display:none}
.feat-set{
  flex:0 0 240px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r2);
  padding:18px;cursor:pointer;transition:all .18s;scroll-snap-align:start;
}
.feat-set:hover{border-color:var(--sky);transform:translateY(-3px);box-shadow:0 12px 32px #0ea5e912}
.feat-set-name{font-size:15px;font-weight:700;margin-bottom:3px}
.feat-set-series{font-size:11px;color:var(--txt3);margin-bottom:8px}
.feat-set-meta{display:flex;gap:12px;font-size:11px;color:var(--txt2);font-family:var(--mono)}
.feat-set-count{color:var(--sky3)}

/* WHY section */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.why-card{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--r2);
  padding:20px;transition:border-color .2s;
}
.why-card:hover{border-color:var(--border3)}
.why-icon{font-size:24px;margin-bottom:12px}
.why-title{font-size:14px;font-weight:600;margin-bottom:6px;font-family:var(--font)}
.why-body{font-size:12px;color:var(--txt2);line-height:1.6}

/* ═══════════════════════════════════════════════
   MARKETPLACE
═══════════════════════════════════════════════ */
#s-market{padding:20px 0 40px}
.market-wrap{
  max-width:1280px;margin:0 auto;padding:0 16px;
}
.market-head{
  display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap;
}
.mkt-type-toggle{display:flex;background:var(--bg3);border-radius:8px;padding:2px;gap:2px}
.mkt-type-btn{padding:6px 16px;border-radius:6px;font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;border:none;background:transparent;color:var(--txt2);transition:all .15s}
.mkt-type-btn.active{background:var(--sky);color:#fff}
.mkt-type-btn:hover:not(.active){color:var(--txt);background:var(--bg4)}
.ptype-badge{font-size:9px;font-family:var(--mono);padding:2px 6px;border-radius:4px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;line-height:1;display:inline-block;font-weight:600;letter-spacing:.04em}
[data-slid] .lcard-img{background:linear-gradient(145deg,#1a1f3a,#0f172a)}
[data-slid] .lcard-img img{object-fit:contain;padding:18px 12px;width:100%;height:100%}
.market-layout{
  display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start;
}
.filters{
  background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--r2);padding:14px;
  position:sticky;top:70px;
}
.filter-group{margin-bottom:16px}
.filter-group:last-child{margin-bottom:0}
.fg-label{
  font-size:10px;font-weight:600;color:var(--txt3);
  text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:8px;font-family:var(--mono);
}
.fg-opts{display:flex;flex-direction:column;gap:2px}
.fg-opt{
  display:flex;align-items:center;gap:8px;
  padding:5px 7px;border-radius:5px;
  cursor:pointer;font-size:12px;color:var(--txt2);
  transition:all .12s;
}
.fg-opt:hover{background:var(--bg3);color:var(--txt)}
.fg-opt input[type=checkbox]{width:12px;height:12px;accent-color:var(--sky);flex-shrink:0}
.filter-select{
  width:100%;background:var(--bg3);border:1px solid var(--border2);
  border-radius:5px;color:var(--txt);font-size:12px;padding:6px 8px;
  outline:none;cursor:pointer;font-family:var(--body);
}
.filter-range-row{display:flex;gap:5px;align-items:center}
.filter-num{
  flex:1;min-width:0;background:var(--bg3);border:1px solid var(--border2);
  border-radius:5px;color:var(--txt);font-size:12px;padding:5px 7px;
  outline:none;transition:border-color .2s;
  -moz-appearance:textfield;
}
.filter-num::-webkit-inner-spin-button,.filter-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.filter-num:focus{border-color:var(--sky)}
.filter-clear{
  width:100%;padding:6px;background:transparent;
  border:1px solid var(--border);border-radius:5px;
  color:var(--txt3);font-size:11px;cursor:pointer;
  margin-top:12px;transition:all .12s;
}
.filter-clear:hover{border-color:var(--border2);color:var(--txt2)}

.market-toolbar{
  display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap;
}
.search-inp{
  flex:1;min-width:180px;
  background:var(--bg2);border:1px solid var(--border2);
  border-radius:6px;color:var(--txt);font-family:var(--body);
  font-size:13px;padding:8px 11px;outline:none;
  transition:border-color .2s;
}
.search-inp:focus{border-color:var(--sky)}
.market-count{font-size:12px;color:var(--txt3);font-family:var(--mono)}

/* ═══════════════════════════════════════════════
   DASHBOARD (logged-in home)
═══════════════════════════════════════════════ */
#s-dashboard{padding:20px 0 40px}
.dash-wrap{max-width:1280px;margin:0 auto;padding:0 16px}
.dash-greeting{margin-bottom:22px}
.dash-greeting h2{font-family:var(--f-display);font-size:28px;font-weight:400;letter-spacing:-.02em;margin:0 0 4px;color:var(--text-1)}
.dash-greeting p{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em;margin:0}
.dash-stats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:10px;margin-bottom:24px;
}
.up{color:var(--up)}.dn{color:var(--down)}
.dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}
.dash-panel{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);overflow:hidden;box-shadow:var(--shadow-card)}
.dash-panel-head{
  padding:14px 18px;border-bottom:1px solid var(--line-1);background:var(--ink-1);
  font-family:var(--f-display);font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.dash-panel-link{font-family:var(--f-mono);font-size:10px;font-weight:500;color:var(--sky-1);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;transition:color .15s}
.dash-panel-link:hover{color:var(--sky-2)}

/* Activity list */
.activity-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-bottom:1px solid var(--line-1);
  font-family:var(--f-ui);font-size:12px;transition:background .12s;
}
.activity-item:hover{background:var(--ink-3)}
.activity-item:last-child{border-bottom:none}
.activity-icon{
  width:32px;height:32px;border-radius:var(--r-2);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;flex-shrink:0;border:1px solid var(--line-1);
}
.ai-sold{background:var(--up-sub);color:var(--up);border-color:#22c55e40}
.ai-bought{background:var(--sky-sub);color:var(--sky-1);border-color:#0ea5e944}
.ai-listed{background:rgba(6,182,212,.12);color:#22d3ee;border-color:rgba(6,182,212,.3)}
.ai-view{background:var(--warn-sub);color:var(--warn);border-color:#f59e0b44}
.activity-body{flex:1;min-width:0}
.activity-name{font-family:var(--f-ui);font-weight:500;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}
.activity-meta{font-family:var(--f-mono);color:var(--text-3);font-size:10px;margin-top:2px;letter-spacing:.03em}
.activity-price{font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--text-1);white-space:nowrap;font-feature-settings:"tnum"}

/* Quick actions */
.quick-actions{display:flex;flex-direction:column;gap:6px;padding:14px 16px}
.qa-btn{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:var(--r-2);
  background:var(--ink-3);border:1px solid var(--line-1);
  cursor:pointer;transition:all .15s;
  font-family:var(--f-ui);font-size:13px;letter-spacing:.01em;
  color:var(--text-2);text-align:left;width:100%;
}
.qa-btn:hover{background:var(--ink-4);border-color:var(--line-2);color:var(--text-1);transform:translateX(2px)}
.qa-icon{font-size:15px;width:22px;text-align:center}

/* ═══════════════════════════════════════════════
   AUTH MODAL
═══════════════════════════════════════════════ */
.modal-overlay{
  position:fixed;inset:0;z-index:700;
  background:rgba(5,8,15,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  display:none;align-items:center;justify-content:center;padding:20px;
}
.modal-overlay.show{display:flex;animation:fm2-fade .15s ease}
.modal{
  background:var(--ink-2);border:1px solid var(--line-1);
  border-radius:var(--r-4);width:100%;max-width:440px;
  padding:28px;position:relative;
  box-shadow:var(--shadow-float);
}
.modal-close{
  position:absolute;top:14px;right:14px;
  width:32px;height:32px;background:var(--ink-3);border:1px solid var(--line-1);
  border-radius:50%;color:var(--text-2);font-size:14px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.modal-close:hover{background:var(--ink-4);color:var(--text-1);border-color:var(--line-2)}
.auth-logo{
  font-family:var(--f-display);font-size:22px;font-weight:500;letter-spacing:-.015em;
  margin-bottom:22px;text-align:center;color:var(--text-1);
}
.auth-logo em{font-style:italic}
.auth-tabs{
  display:flex;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);padding:3px;
  margin-bottom:22px;gap:2px;
}
.auth-tab{
  flex:1;padding:8px;border-radius:6px;
  font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;transition:all .15s;text-align:center;
  border:none;background:transparent;color:var(--text-3);
}
.auth-tab.active{background:var(--ink-5);color:var(--text-1)}
.auth-tab:hover:not(.active){color:var(--text-2)}
.auth-fields{display:flex;flex-direction:column;gap:12px}
.auth-field{}
.auth-label{font-family:var(--f-mono);font-size:10px;font-weight:500;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;display:block}
.auth-input{
  width:100%;background:var(--ink-3);border:1px solid var(--line-1);
  border-radius:var(--r-2);color:var(--text-1);font-family:var(--f-ui);
  font-size:13px;padding:10px 14px;outline:none;
  transition:all .15s;
}
.auth-input:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
.auth-input::placeholder{color:var(--text-3)}
.auth-submit{
  width:100%;padding:12px;background:var(--sky);border:1px solid var(--sky);
  border-radius:var(--r-2);color:#fff;font-family:var(--f-ui);
  font-weight:500;font-size:13px;cursor:pointer;
  margin-top:4px;transition:all .15s;letter-spacing:.01em;
}
.auth-submit:hover{background:var(--sky-1);border-color:var(--sky-1);box-shadow:0 10px 24px -10px var(--sky-glow)}
.auth-sep{text-align:center;font-family:var(--f-mono);font-size:10px;color:var(--text-3);margin:14px 0;letter-spacing:.1em;text-transform:uppercase}
.auth-social{
  width:100%;padding:10px 14px;background:var(--ink-3);
  border:1px solid var(--line-1);border-radius:var(--r-2);
  color:var(--text-1);font-family:var(--f-ui);font-size:13px;font-weight:500;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:10px;
  transition:all .15s;letter-spacing:.01em;
}
.auth-social:hover{background:var(--ink-4);border-color:var(--line-2)}
.auth-footer{text-align:center;font-family:var(--f-mono);font-size:11px;color:var(--text-3);margin-top:16px;letter-spacing:.02em}
.auth-footer a{color:var(--sky-1);cursor:pointer;text-decoration:none}
.auth-footer a:hover{color:var(--sky-2)}
.auth-error{
  background:var(--down-sub);border:1px solid #ef444440;
  border-radius:var(--r-2);padding:10px 12px;
  font-family:var(--f-mono);font-size:11px;color:var(--down);display:none;letter-spacing:.02em;line-height:1.5;
}
.auth-error.show{display:block}

/* ═══════════════════════════════════════════════
   LISTING DETAIL MODAL — v2
═══════════════════════════════════════════════ */
.lm-body{display:grid;grid-template-columns:230px 1fr;gap:24px;padding:24px}
@media(max-width:620px){.lm-body{grid-template-columns:1fr;gap:16px;padding:18px}}
.lm-img{border-radius:var(--r-2);width:100%;box-shadow:0 16px 44px #00000070;cursor:pointer;transition:transform .2s}
.lm-img:hover{transform:scale(1.015)}
.lm-thumbs{display:flex;gap:6px;margin-top:10px;justify-content:center;flex-wrap:wrap}
.lm-thumb{width:46px;height:64px;border-radius:6px;object-fit:cover;cursor:pointer;border:2px solid transparent;opacity:.6;transition:all .15s}
.lm-thumb:hover,.lm-thumb.active{opacity:1;border-color:var(--sky)}
.lm-img-ph{
  width:100%;aspect-ratio:5/7;background:var(--ink-3);border:1px solid var(--line-1);
  border-radius:var(--r-2);display:flex;align-items:center;
  justify-content:center;font-size:56px;color:var(--text-3);
}
.lm-price-row{display:flex;align-items:baseline;gap:10px;margin:14px 0 16px}
.lm-price{font-family:var(--f-display);font-size:32px;font-weight:500;color:var(--up);letter-spacing:-.01em;font-feature-settings:"tnum"}
.lm-market{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.02em}
.lm-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.lm-meta{background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);padding:9px 11px}
.lm-meta-k{font-family:var(--f-mono);font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;font-weight:500}
.lm-meta-v{font-family:var(--f-ui);font-size:12px;font-weight:500;color:var(--text-1)}
.lm-seller-row{
  display:flex;align-items:center;gap:10px;
  background:var(--ink-3);border:1px solid var(--line-1);
  border-radius:var(--r-2);padding:10px 12px;margin-bottom:16px;
}
.lm-av{
  width:36px;height:36px;border-radius:50%;
  background:var(--sky-sub);border:1px solid var(--sky);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-mono);font-weight:600;font-size:12px;color:var(--sky);flex-shrink:0;
}
.lm-actions{display:flex;flex-direction:column;gap:8px}
.btn-buy{
  width:100%;padding:12px 16px;background:var(--sky);border:1px solid var(--sky);
  border-radius:var(--r-2);color:#fff;font-family:var(--f-ui);
  font-weight:500;font-size:14px;cursor:pointer;transition:all .15s;letter-spacing:.01em;
}
.btn-buy:hover{background:var(--sky-1);border-color:var(--sky-1);transform:translateY(-1px);box-shadow:0 10px 24px -8px var(--sky-glow)}
.btn-offer{
  width:100%;padding:10px 14px;background:transparent;
  border:1px solid var(--line-2);border-radius:var(--r-2);
  color:var(--text-1);font-family:var(--f-ui);font-weight:500;
  font-size:13px;cursor:pointer;transition:all .15s;letter-spacing:.01em;
}
.btn-offer:hover{border-color:var(--warn);color:var(--warn);background:var(--warn-sub)}
.btn-vault-add{
  width:100%;padding:9px 12px;background:transparent;
  border:1px solid var(--line-1);border-radius:var(--r-2);
  color:var(--text-2);font-family:var(--f-ui);font-size:12px;cursor:pointer;transition:all .12s;font-weight:500;
}
.btn-vault-add:hover{background:var(--ink-3);border-color:var(--line-2);color:var(--text-1)}
.btn-delete{
  width:100%;padding:9px 12px;background:transparent;
  border:1px solid var(--down);border-radius:var(--r-2);
  color:var(--down);font-family:var(--f-ui);font-size:12px;font-weight:500;cursor:pointer;transition:all .12s;
}
.btn-delete:hover{background:var(--down-sub)}
.lm-name{font-family:var(--f-display);font-size:24px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);line-height:1.15;margin-bottom:3px}
.lm-set{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px}
.lm-btn-crypto{background:linear-gradient(135deg,#f7931a 0%,#627eea 100%)!important;border-color:transparent!important;position:relative;opacity:.55;cursor:not-allowed;filter:saturate(.7)}
.lm-btn-crypto:hover{opacity:.7;filter:saturate(.85);box-shadow:none}
.lm-btn-crypto-chip{position:absolute;top:-7px;right:-4px;background:var(--warn);color:#0b0a12;font-family:var(--f-mono);font-size:9px;padding:2px 7px;border-radius:999px;font-weight:700;letter-spacing:.06em}
.lm-btn-cart{background:var(--ink-3)!important;color:var(--text-1)!important;border:1px solid var(--line-1)!important}
.lm-btn-cart:hover{background:var(--ink-4)!important;border-color:var(--line-2)!important;box-shadow:none!important;transform:translateY(-1px)}
.lm-btn-report{background:transparent;border:1px solid var(--line-1);color:var(--text-3);font-family:var(--f-mono);font-size:10px;padding:8px 14px;border-radius:var(--r-2);cursor:pointer;margin-left:auto;letter-spacing:.06em;text-transform:uppercase;transition:all .12s}
.lm-btn-report:hover{border-color:var(--down);color:var(--down);background:var(--down-sub)}
.lm-offer-form{margin-top:14px;padding:14px;background:var(--ink-3);border-radius:var(--r-2);border:1px solid var(--line-1)}
.lm-offer-form-title{font-family:var(--f-display);font-size:14px;font-weight:500;color:var(--text-1);margin-bottom:10px;letter-spacing:-.005em}
.lm-offer-cancel{padding:10px 14px;background:transparent;border:1px solid var(--line-1);border-radius:var(--r-2);color:var(--text-3);font-family:var(--f-ui);font-size:12px;cursor:pointer;transition:all .12s}
.lm-offer-cancel:hover{border-color:var(--line-2);color:var(--text-1)}
.offer-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}
.offer-row:last-child{border-bottom:none}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.03)}}
.order-card:hover{border-color:var(--sky)!important;background:var(--bg3)!important}
.notif-wrap{position:relative}
.notif-bell{background:none;border:none;font-size:18px;cursor:pointer;position:relative;padding:4px 6px}
.notif-badge{position:absolute;top:-2px;right:-2px;background:var(--red);color:#fff;font-size:9px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.notif-bell.has-unread{animation:bellShake 1.6s ease-in-out 1}
@keyframes bellShake{
  0%,100%{transform:rotate(0)}
  10%,30%{transform:rotate(-12deg)}
  20%,40%{transform:rotate(12deg)}
  50%{transform:rotate(0)}
}
/* Cardmarket-style hover preview floating next to cursor */
.cardpv{position:fixed;z-index:9999;pointer-events:none;border-radius:var(--r-3);box-shadow:var(--shadow-float);background:var(--ink-0);border:1px solid var(--line-2);transition:opacity .15s;display:none;width:240px;aspect-ratio:.71}
.cardpv img{width:100%;height:100%;object-fit:contain;border-radius:var(--r-3)}
@media(hover:none){.cardpv{display:none!important}}
.notif-panel{display:none;position:absolute;top:100%;right:0;width:340px;max-height:440px;overflow-y:auto;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);box-shadow:var(--shadow-float);z-index:200;margin-top:8px}
.notif-panel.show{display:block}
/* Mobile: the 340px right-anchored panel overflows off the left edge. Pin it
   as a full-width sheet just below the header instead. */
@media(max-width:640px){.notif-panel{position:fixed;top:58px;left:8px;right:8px;width:auto;max-height:72vh}}
.notif-item{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line-1);cursor:pointer;transition:background .12s;position:relative}
.notif-item:last-child{border-bottom:none}
.notif-item:hover{background:var(--ink-3)}
.notif-item.unread{background:linear-gradient(90deg,var(--sky-sub),transparent)}
.notif-item.unread::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--sky)}
.notif-item .ni-icon{font-size:16px;flex-shrink:0;margin-top:2px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--ink-3);border-radius:var(--r-2);border:1px solid var(--line-1)}
.notif-item .ni-body{flex:1;min-width:0}
.notif-item .ni-title{font-family:var(--f-ui);font-size:13px;font-weight:500;color:var(--text-1);margin-bottom:2px;letter-spacing:.01em}
.notif-item .ni-text{font-family:var(--f-ui);font-size:12px;color:var(--text-2);line-height:1.45}
.notif-item .ni-time{font-family:var(--f-mono);font-size:10px;color:var(--text-3);margin-top:4px;letter-spacing:.03em}
.notif-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line-1);background:var(--ink-1)}
.notif-head span{font-family:var(--f-display);font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--text-1)}
.notif-head button{background:none;border:none;color:var(--sky-1);font-family:var(--f-mono);font-size:10px;cursor:pointer;letter-spacing:.04em;text-transform:uppercase}
.notif-head button:hover{color:var(--sky-2)}
.nav-user{position:relative}
.user-dropdown{display:none;position:absolute;top:100%;right:0;width:200px;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);box-shadow:var(--shadow-float);z-index:200;margin-top:8px;padding:6px 0;overflow:hidden}
.user-dropdown.show{display:block}
.user-dropdown a{display:block;padding:9px 16px;font-family:var(--f-ui);font-size:12.5px;color:var(--text-1);cursor:pointer;transition:background .12s;letter-spacing:.01em}
.user-dropdown a:hover{background:var(--ink-3)}
.user-dropdown hr{border:none;border-top:1px solid var(--line-1);margin:4px 0}

/* ═══════════════════════════════════════════════
   COLLECTION (formerly Vault)
   — Standalone #s-vault retired; these classes are used by the dashboard
     Collection tab (.coll-grid, .ci, .ct). Vault-specific selectors are
     gone. /vault URL still redirects via go() for backwards compat.
═══════════════════════════════════════════════ */
.coll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:9px}
.ci{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);
  overflow:hidden;cursor:pointer;transition:all .15s;
}
.ci:hover{border-color:var(--border2);transform:translateY(-2px)}
.ci-img{aspect-ratio:5/7;background:var(--bg3);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}
.ci-img img{width:100%;height:100%;object-fit:contain}
.ci-qty{position:absolute;bottom:4px;right:4px;background:#000000aa;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;font-family:var(--mono)}
.ci-body{padding:7px 9px}
.ci-name{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px}
.ci-price{font-family:var(--mono);font-size:11px;color:var(--green)}

/* Collection table */
.ct{width:100%;border-collapse:collapse;font-size:12px}
.ct th{text-align:left;padding:7px 10px;font-size:9px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--border);font-family:var(--mono)}
.ct td{padding:9px 10px;border-bottom:1px solid var(--border)}
.ct tr:hover td{background:var(--bg3)}
.ct tr:last-child td{border-bottom:none}

/* ═══════════════════════════════════════════════
   SELL PAGE
═══════════════════════════════════════════════ */
#s-sell{padding:20px 0 60px}
.sell-wrap{max-width:640px;margin:0 auto;padding:0 16px}
.sell-head{margin-bottom:24px}
.sell-head h1{font-size:24px;margin-bottom:4px}
.sell-head p{font-size:13px;color:var(--txt2)}

/* Form components */
.form-block{
  background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--r2);padding:18px 20px;margin-bottom:12px;
}
.fb-title{
  font-size:10px;font-weight:700;color:var(--txt3);
  text-transform:uppercase;letter-spacing:.08em;font-family:var(--mono);
  margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border);
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.form-grid.g3{grid-template-columns:1fr 1fr 1fr}
.form-grid.g1{grid-template-columns:1fr}
.fg{display:flex;flex-direction:column;gap:5px}
.fl{font-family:var(--f-mono);font-size:10px;font-weight:500;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em}
.fi{
  background:var(--ink-3);border:1px solid var(--line-1);
  border-radius:var(--r-2);color:var(--text-1);font-family:var(--f-ui);
  font-size:13px;padding:10px 12px;outline:none;transition:all .15s;
}
.fi:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
.fi::placeholder{color:var(--text-3)}
select.fi{cursor:pointer}
textarea.fi{resize:vertical;min-height:76px;line-height:1.5}
.fhint{font-family:var(--f-mono);font-size:9px;color:var(--text-3);letter-spacing:.03em;margin-top:3px}
.fee-preview{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:6px;padding:10px 12px;
  font-size:12px;color:var(--txt2);margin-bottom:14px;
  display:flex;gap:16px;flex-wrap:wrap;
}
.fee-item span{color:var(--txt);font-family:var(--mono);font-weight:500}

/* Card preview in sell form */
.card-preview-strip{
  display:none;background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r);padding:10px;margin-bottom:12px;
  flex-direction:row;gap:12px;align-items:flex-start;
}
.card-preview-strip.show{display:flex}
.cps-img{width:64px;height:89px;object-fit:contain;border-radius:5px;background:var(--bg4)}
.cps-info{flex:1}
.cps-name{font-size:14px;font-weight:600;margin-bottom:2px;font-family:var(--font)}
.cps-set{font-size:11px;color:var(--txt2);margin-bottom:6px}
.cps-price{font-family:var(--mono);font-size:13px;color:var(--green)}

.submit-btn{
  width:100%;padding:12px 22px;background:var(--sky);border:1px solid var(--sky);
  border-radius:var(--r-2);color:#fff;font-family:var(--f-ui);
  font-weight:500;font-size:13px;cursor:pointer;transition:all .15s;letter-spacing:.01em;
}
.submit-btn:hover{background:var(--sky-1);border-color:var(--sky-1);box-shadow:0 10px 24px -10px var(--sky-glow)}
.submit-btn.green-btn{background:var(--up);border-color:var(--up);color:#051709}
.submit-btn.green-btn:hover{background:#16a34a;border-color:#16a34a;box-shadow:0 10px 24px -10px rgba(34,197,94,.4)}

/* Add to Vault modal form */
.av-form{padding:16px 20px}
.av-preview{
  display:none;background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r);padding:10px;margin-bottom:14px;
  flex-direction:row;gap:10px;align-items:flex-start;
}
.av-preview.show{display:flex}

/* ═══════════════════════════════════════════════
   PROFILE PAGE
═══════════════════════════════════════════════ */
#s-profile{padding:24px 0 60px}
.profile-wrap{max-width:1000px;margin:0 auto;padding:0 16px}
.profile-head{
  position:relative;background:linear-gradient(135deg,var(--sky),#8b5cf6);
  border-radius:var(--r-4);padding:32px 28px;color:#fff;
  display:flex;align-items:center;gap:20px;margin-bottom:22px;
  box-shadow:var(--shadow-float);overflow:hidden;flex-wrap:wrap;
}
.profile-head::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top right,rgba(255,255,255,.18),transparent 60%),linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.3));pointer-events:none}
.profile-head>*{position:relative;z-index:1}
.profile-av{
  width:80px;height:80px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-display);font-size:30px;font-weight:500;
  background:rgba(255,255,255,.18);border:3px solid rgba(255,255,255,.35);
  color:#fff;backdrop-filter:blur(8px);
}
.profile-name{font-family:var(--f-display);font-size:32px;font-weight:500;letter-spacing:-.02em;margin-bottom:6px;color:#fff;line-height:1.1;text-shadow:0 2px 12px rgba(0,0,0,.2)}
.profile-meta{font-family:var(--f-mono);font-size:11px;color:rgba(255,255,255,.85);display:flex;gap:12px;flex-wrap:wrap;align-items:center;letter-spacing:.03em}
.rating-stars{color:#fde68a}
.trust-chip{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 10px;border-radius:var(--r-pill);
  font-size:10px;font-weight:600;font-family:var(--f-mono);letter-spacing:.04em;
  background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.26);
  backdrop-filter:blur(8px);
}
.profile-head button.btn-ghost{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff;backdrop-filter:blur(8px)}
.profile-head button.btn-ghost:hover{background:rgba(255,255,255,.26)}
#prof-edit-form{background:var(--ink-2)!important;border:1px solid var(--line-1)!important;border-radius:var(--r-3)!important;padding:22px!important;margin-bottom:18px!important;box-shadow:var(--shadow-card)}
#prof-edit-form>div:first-child{font-family:var(--f-display);font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--text-1)}
#profile-security{background:var(--ink-2)!important;border:1px solid var(--line-1)!important;border-radius:var(--r-3)!important;padding:22px!important;box-shadow:var(--shadow-card);margin-top:22px!important}
.rating-stars{color:var(--gold)}

/* ═══════════════════════════════════════════════
   MESSAGES
═══════════════════════════════════════════════ */
#s-messages{padding:20px 0}
/* Messages v2 is rendered from the `.fm2-msg-*` block further down — legacy
   `.msg-*` / `.chat-*` / `.conv*` selectors were retired in the v2 migration. */

/* ═══════════════════════════════════════════════
   LEGAL PAGES
═══════════════════════════════════════════════ */
#s-legal{padding:36px 0 60px}
.legal-wrap{max-width:800px;margin:0 auto;padding:0 18px}
#s-legal h1{font-family:var(--f-display);font-size:32px;font-weight:400;letter-spacing:-.02em;margin-bottom:22px!important}
.legal-tabs{
  display:flex;gap:2px;margin-bottom:28px;
  border-bottom:1px solid var(--line-1);
  padding-bottom:0;flex-wrap:wrap;
}
.legal-tab{
  padding:10px 16px;border-radius:0;
  font-family:var(--f-mono);font-size:11px;font-weight:500;color:var(--text-3);
  cursor:pointer;transition:all .15s;border:none;background:none;
  border-bottom:2px solid transparent;margin-bottom:-1px;
  letter-spacing:.05em;text-transform:uppercase;
  flex:0 0 auto;white-space:nowrap;
}
.legal-tab:hover{color:var(--text-1)}
.legal-tab.active{color:var(--sky-1);border-bottom-color:var(--sky)}
.legal-content{display:none}
.legal-content.active{display:block}
.legal-content h2{font-family:var(--f-display);font-size:26px;font-weight:400;letter-spacing:-.02em;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line-1);color:var(--text-1)}
.legal-content h3{font-family:var(--f-display);font-size:15px;font-weight:500;letter-spacing:-.01em;margin:22px 0 8px;color:var(--text-1)}
.legal-content p{font-family:var(--f-ui);font-size:13.5px;color:var(--text-2);line-height:1.7;margin-bottom:12px}
.legal-content ul{font-family:var(--f-ui);font-size:13.5px;color:var(--text-2);line-height:1.7;margin-bottom:12px;padding-left:22px}
.legal-content ul li{margin-bottom:6px}
.legal-content a{color:var(--sky-1);text-decoration:none;border-bottom:1px solid #0ea5e944;transition:all .15s}
.legal-content a:hover{color:var(--sky-2);border-bottom-color:var(--sky-2)}
.legal-content strong{color:var(--text-1);font-weight:600}
.legal-content .lbox{
  background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);
  padding:14px 18px;margin:14px 0;font-family:var(--f-ui);font-size:13px;color:var(--text-2);line-height:1.6;
  box-shadow:var(--shadow-card);
}
.legal-content .lbox strong{color:var(--text-1)}

/* ═══════════════════════════════════════════════
   CARD SEARCH AUTOCOMPLETE (shared)
═══════════════════════════════════════════════ */
.cac{
  position:absolute;top:calc(100% + 4px);left:0;right:0;
  background:var(--bg2);border:1px solid var(--border2);
  border-radius:var(--r2);display:none;z-index:300;
  overflow:hidden;max-height:420px;overflow-y:auto;
  box-shadow:0 16px 40px #00000080;
  scrollbar-width:thin;scrollbar-color:var(--border2) transparent;
}
.cac::-webkit-scrollbar{width:6px}.cac::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}
.cac.show{display:block}
.cac-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;cursor:pointer;
  border-bottom:1px solid var(--border);transition:background .12s;
}
.cac-item:last-child{border-bottom:none}
.cac-item:hover{background:var(--bg3)}
.cac-img{width:42px;height:58px;object-fit:contain;border-radius:4px;background:var(--bg3);flex-shrink:0}
.cac-info{flex:1;min-width:0}
.cac-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cac-num{font-size:11px;color:var(--txt2);font-family:var(--mono)}
.cac-set{font-size:10px;color:var(--txt3);display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.cac-setcode{font-family:var(--mono);font-size:9px;background:var(--bg3);padding:1px 4px;border-radius:3px;color:var(--txt2);text-transform:uppercase}
.cac-price{font-family:var(--mono);font-size:11px;color:var(--green);white-space:nowrap}
.photo-upload-row{display:flex;gap:12px;margin-top:8px}
.photo-slot{flex:1;position:relative;border:2px dashed var(--border2);border-radius:var(--r2);padding:16px 8px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden}
.photo-slot:hover{border-color:var(--cyan);background:rgba(0,200,255,.04)}
.photo-slot.has-photo{border-style:solid;border-color:var(--green);padding:0}
.photo-slot img{width:100%;height:100%;object-fit:contain;border-radius:6px}
.photo-slot .photo-label{font-size:11px;color:var(--txt3);font-weight:500;text-transform:uppercase;letter-spacing:.5px}
.photo-slot .photo-icon{font-size:22px;opacity:.5}
.photo-slot .photo-remove{position:absolute;top:4px;right:4px;background:var(--bg);border:1px solid var(--border2);color:var(--txt);width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;z-index:2}
.photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--txt3);cursor:pointer}
/* Visually-hidden but keyboard-focusable: needed so <input type=file> can be
   triggered via its <label for> by both pointer and keyboard users. The
   prior display:none made the inputs unfocusable, blocking keyboard upload. */
.vhidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes fm2-skel{0%{background-position:200% 0}100%{background-position:-200% 0}}
.photo-slot:focus-within{border-color:var(--sky);outline:2px solid var(--sky-sub,#0ea5e933);outline-offset:2px}
.photo-thumb{width:100%;height:100%;object-fit:contain;border-radius:6px;cursor:pointer}
button.photo-remove{position:absolute;top:4px;right:4px;background:var(--red);color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;z-index:2;border:none;line-height:1}

/* ═══════════════════════════════════════════════
   TOAST / NOTIFY
═══════════════════════════════════════════════ */
#toasts{position:fixed;bottom:16px;right:16px;z-index:900;display:flex;flex-direction:column;gap:7px}
.toast{
  background:var(--bg2);border:1px solid var(--border2);
  border-radius:var(--r);padding:10px 14px;font-size:12px;
  box-shadow:0 8px 24px #00000080;min-width:200px;max-width:280px;
  animation:toast-in .2s ease;
}
.toast.success{border-left:3px solid var(--green)}
.toast.error{border-left:3px solid var(--red)}
.toast.info{border-left:3px solid var(--sky)}
@keyframes toast-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}

/* ═══════════════════════════════════════════════
   EMPTY STATES
═══════════════════════════════════════════════ */
.empty{text-align:center;padding:48px 20px;color:var(--txt2)}
.empty-icon{font-size:40px;opacity:.3;margin-bottom:10px}
.empty-title{font-size:16px;font-weight:600;color:var(--txt);margin-bottom:5px;font-family:var(--font)}
.empty-sub{font-size:12px;color:var(--txt2);max-width:260px;margin:0 auto 16px}

/* ═══════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════ */
footer{
  background:var(--ink-1);border-top:1px solid var(--line-1);
  padding:48px 18px 24px;margin-top:72px;
}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:32px;margin-bottom:32px;
}
.ft-logo{
  font-family:var(--f-display);font-size:18px;font-weight:500;
  letter-spacing:-.02em;margin-bottom:10px;color:var(--text-1);
}
.ft-desc{font-family:var(--f-mono);font-size:10px;color:var(--text-3);line-height:1.7;max-width:200px;letter-spacing:.03em}
.ft-title{font-family:var(--f-mono);font-size:10px;font-weight:500;color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}
.ft-links{display:flex;flex-direction:column;gap:8px}
.ft-link{font-family:var(--f-ui);font-size:12.5px;color:var(--text-2);cursor:pointer;transition:color .15s;text-decoration:none;letter-spacing:.01em}
.ft-link:hover{color:var(--sky-1)}
.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid var(--line-1);padding-top:18px;
  flex-wrap:wrap;gap:10px;
}
.footer-copy{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em}
.footer-legal-links{display:flex;gap:14px;flex-wrap:wrap}
.footer-legal-links a{font-family:var(--f-mono);font-size:10px;color:var(--text-3);cursor:pointer;text-decoration:none;transition:color .15s;letter-spacing:.03em}
.footer-legal-links a:hover{color:var(--sky-1)}

/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════
   PREMIUM POLISH — animations, focus states, sections
═══════════════════════════════════════════════ */
.section{animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.section.active{animation:fadeIn .25s ease forwards}

/* Better focus states */
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{
  outline:2px solid var(--sky);outline-offset:2px;
}

/* Filter panel improvements */
.filters{transition:border-color .2s}
.filters:hover{border-color:var(--border2)}
.filter-group{position:relative}

/* Active filter count badge */
.filter-active-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:16px;height:16px;border-radius:8px;
  background:var(--sky);color:#fff;font-size:9px;font-weight:700;
  padding:0 4px;margin-left:6px;
}

/* Market search improvements */
.mkt-search-wrap{position:relative;flex:1;min-width:180px}
.mkt-search-wrap .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--txt3);font-size:12px;pointer-events:none}
.mkt-search-wrap .search-inp{padding-left:30px}

/* Sets page search — lives inside the toolbar row */
.sets-search{
  flex:1;min-width:180px;max-width:420px;background:var(--ink-3);border:1px solid var(--line-1);
  border-radius:var(--r-2);color:var(--text-1);font-family:var(--f-ui);
  font-size:13px;padding:9px 14px;outline:none;
  transition:all .15s;
}
.sets-search:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
.sets-search::placeholder{color:var(--text-3)}

/* Sets page stats bar */
.sets-stats{
  display:flex;gap:14px;font-family:var(--f-mono);font-size:11px;color:var(--text-3);
  padding:10px 14px;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-2);letter-spacing:.03em;
}
.sets-stats span{color:var(--sky-1);font-weight:500}

/* Sets page toolbar (search / language / toggles) */
.sets-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:-4px 0 10px}
/* Pin search + filters + era rail while scrolling the 400+ set grid. */
.sets-stickybar{position:sticky;top:var(--nav-h,60px);z-index:20;background:var(--bg);margin:0 -16px;padding:12px 16px 0;border-bottom:1px solid var(--line-2)}
/* Era rail — horizontal pill nav, one pill per shelf, amber active state */
.sets-rail{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none;-ms-overflow-style:none}
.sets-rail::-webkit-scrollbar{display:none}
.sets-rail-pill{flex-shrink:0;font-family:var(--f-ui);font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:var(--r-pill);white-space:nowrap;cursor:pointer;color:var(--text-3);background:transparent;border:1px solid var(--line-2);transition:all .15s}
.sets-rail-pill:hover{color:var(--text-1);border-color:var(--line-3)}
.sets-rail-pill.on{color:var(--warn);background:var(--warn-sub);border-color:#f59e0b59}
/* Era shelf — serif heading + mono meta above each group of tiles */
.sets-shelf{scroll-margin-top:calc(var(--nav-h,60px) + 118px);margin-bottom:34px}
.sets-shelf-head{display:flex;align-items:baseline;gap:12px;margin:0 0 12px}
.sets-shelf-title{margin:0;font-family:var(--f-display);font-size:21px;font-weight:500;letter-spacing:-.015em;color:var(--text-1)}
.sets-shelf-meta{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em}
.sets-select{
  background:var(--ink-3);border:1px solid var(--line-1);color:var(--text-1);
  font-family:var(--f-ui);font-size:12px;padding:8px 28px 8px 12px;border-radius:var(--r-2);
  cursor:pointer;outline:none;transition:all .15s;
  appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);
  background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.sets-select:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
.sets-toggle{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:11px;color:var(--text-2);cursor:pointer;user-select:none;padding:8px 12px;border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--ink-3);letter-spacing:.03em;transition:all .15s}
.sets-toggle:hover{border-color:var(--line-2);color:var(--text-1)}
.sets-toggle:has(input:checked){background:var(--sky-sub);color:var(--sky-2);border-color:#0ea5e966}
.sets-toggle input{accent-color:var(--sky);cursor:pointer}

/* Flat chronological grid (era-grouping was replaced with a single sorted list) */
.sets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:4px}
.sets-count{font-family:var(--f-mono);font-size:10px;color:var(--text-3);margin:2px 0 14px;letter-spacing:.04em;text-transform:uppercase}

/* Better empty states */
.empty{text-align:center;padding:48px 20px}
.empty-icon{font-size:48px;margin-bottom:12px;filter:grayscale(.4)}
.empty-title{font-family:var(--font);font-size:16px;font-weight:600;margin-bottom:6px}
.empty-sub{font-size:13px;color:var(--txt3);max-width:320px;margin:0 auto}

/* Dashboard tab styling override — v2 underline tabs */
.dash-wrap .legal-tabs{display:flex;gap:2px;margin-bottom:22px;border-bottom:1px solid var(--line-1);flex-wrap:wrap}
.dash-wrap .legal-tab{
  padding:10px 16px;border-bottom:2px solid transparent;border-radius:0;background:transparent;
  font-family:var(--f-mono);font-size:11px;font-weight:500;color:var(--text-3);transition:all .15s;
  letter-spacing:.04em;text-transform:uppercase;border-top:none;border-left:none;border-right:none;cursor:pointer;
}
.dash-wrap .legal-tab.active{color:var(--sky-1);border-bottom-color:var(--sky)}
.dash-wrap .legal-tab:hover:not(.active){color:var(--text-1)}

/* Smooth card entrance animation */
.lcard{animation:cardIn .3s ease both}
@keyframes cardIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Why card hover effect */
.why-card{transition:border-color .2s,transform .2s,box-shadow .2s}
.why-card:hover{border-color:var(--sky)30;transform:translateY(-3px);box-shadow:0 8px 24px #00000030}

/* Featured set hover */
.feat-set{transition:all .22s ease}

/* Premium hero stat glow */
.hero-stat{transition:border-color .2s,box-shadow .2s}
.hero-stat:hover{border-color:var(--border2);box-shadow:0 4px 12px #00000020}

@media(max-width:900px){
  .market-layout{grid-template-columns:1fr}
  /* .filters mobile behavior now lives in the Batch-4 bottom-sheet block */
  .hero{grid-template-columns:1fr;gap:32px}
  .hero-showcase{display:none}
  .dash-grid{grid-template-columns:1fr}
  .lm-body{grid-template-columns:1fr}
}
.bottom-nav{display:none}
@media(max-width:640px){
  .nav-links{display:none}
  .hamburger{display:block}
  /* Sticky bottom nav for mobile — 5 main destinations one tap away */
  .bottom-nav{
    display:flex;position:fixed;bottom:0;left:0;right:0;z-index:90;
    background:var(--bg2);border-top:1px solid var(--border);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));
    backdrop-filter:blur(10px);
  }
  .bn-item{
    flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
    background:transparent;border:none;color:var(--txt3);
    padding:6px 4px;font-size:10px;font-weight:600;cursor:pointer;
    transition:color .12s;font-family:var(--body);
  }
  .bn-item .bn-ico{display:flex;align-items:center;justify-content:center;height:24px}
  .bn-item .bn-ico svg{width:23px;height:23px;display:block}
  .bn-item.active{color:var(--sky3)}
  /* Elevated commerce-green Sell action (replaces the violet + emoji) */
  .bn-item.bn-cta{color:var(--green);font-weight:700}
  .bn-item.bn-cta .bn-sell-ring{
    width:44px;height:44px;margin-top:-18px;margin-bottom:1px;border-radius:14px;
    background:linear-gradient(135deg,var(--green),var(--green2));color:var(--up-ink);
    box-shadow:0 6px 18px #22c55e55;border:3px solid var(--bg2);
  }
  .bn-item.bn-cta .bn-sell-ring svg{width:24px;height:24px}
  body{padding-bottom:64px}    /* room for the bar */
  .hero h1{font-size:28px}
  .hero-numbers{flex-wrap:wrap;gap:8px}
  .hero-stat{padding:8px 12px;min-width:60px}
  .hero-num-val{font-size:18px}
  .card-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}
  .home-scroll-row .lcard{flex:0 0 170px}
  .feat-set{flex:0 0 200px;padding:14px}
  .form-grid{grid-template-columns:1fr}
  .form-grid.g3{grid-template-columns:1fr 1fr}
  .sets-stats{flex-wrap:wrap;gap:10px}

  /* ── Mobile-first listing flow ──────────────────────────────── */
  /* Search stays first; the two scan buttons share a row beneath it. */
  .sw3-ctrlrow{flex-wrap:wrap}
  .sw3-search{flex:0 0 100%}
  .scan-btn{flex:1 1 0;min-width:0;padding:0 8px;font-size:13px}

  /* Bigger, easier-to-tap photo slots. */
  .photo-slot{min-height:140px;padding:20px 8px}
  .photo-slot [style*="font-size:24px"]{font-size:32px!important}

  /* Bigger form inputs (16px font prevents iOS input zoom). */
  .fi{font-size:15px;padding:12px 12px}
  select.fi{padding:11px 32px 11px 12px;background-size:12px}

  /* Sell wrap: tighter padding, leave room at bottom for sticky CTA. */
  .sell-wrap{padding:0 12px 100px}

  /* Sticky publish button on mobile — always reachable without scrolling. */
  .submit-btn.green-btn{
    position:sticky;bottom:12px;z-index:10;
    box-shadow:0 -2px 24px rgba(0,0,0,.5);
    padding:16px;font-size:16px;
  }

  /* Bottom-sheet picker on mobile — slides up from the bottom instead of
     a centered modal. Easier thumb reach; looks native. */
  #scan-amb-modal{align-items:flex-end!important;padding:0!important}
  #scan-amb-modal > div{
    max-width:none!important;width:100%!important;
    border-radius:16px 16px 0 0!important;
    max-height:90vh!important;
    animation:slideUp .18s ease-out;
  }
  #scan-amb-modal .amb-item{padding:10px!important}
  #scan-amb-modal .amb-item img{width:64px!important;height:88px!important}

  /* Scan preview bigger on mobile so the user can verify the photo. */
  .scan-preview img{max-height:60vh}
}
@keyframes slideUp{from{transform:translateY(20%);opacity:0}to{transform:translateY(0);opacity:1}}

/* ── Community Feed ── */
/* Account settings v3 (Image #12) — left nav + right content panels */
.fm2-as-wrap{max-width:1200px;margin:0 auto;padding:32px 22px 60px}
.fm2-as-head{margin-bottom:28px}
.fm2-as-title{font-family:var(--f-display);font-size:48px;font-weight:400;letter-spacing:-.025em;line-height:1.05;margin:0 0 6px;color:var(--text-1)}
.fm2-as-title em{font-style:italic}
.fm2-as-sub{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em}
.fm2-as-grid{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:start}
@media(max-width:820px){.fm2-as-grid{grid-template-columns:1fr;gap:20px}.fm2-as-nav{position:static;flex-direction:row;flex-wrap:wrap;overflow-x:auto}}
.fm2-as-nav{position:sticky;top:80px;display:flex;flex-direction:column;gap:2px;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:8px;box-shadow:var(--shadow-card)}
.fm2-as-nav-btn{padding:10px 14px;background:transparent;border:none;color:var(--text-3);font-family:var(--f-ui);font-size:13px;cursor:pointer;text-align:left;border-radius:var(--r-2);transition:all .12s;font-weight:500;letter-spacing:.01em;white-space:nowrap}
.fm2-as-nav-btn:hover{color:var(--text-1);background:var(--ink-3)}
.fm2-as-nav-btn.active{color:var(--text-1);background:var(--ink-4)}
/* The @media(max-width:820px) override for .fm2-as-nav above is defined BEFORE
   the base .fm2-as-nav rule, so it loses on source order and the nav stays a
   full-width sticky column that overlaps the profile panel on scroll. Re-assert
   it here (after the base) so it actually un-sticks and rows-wrap. */
@media(max-width:820px){.fm2-as-nav{position:static;top:auto;flex-direction:row;flex-wrap:wrap;overflow-x:auto}}
.fm2-as-content{display:flex;flex-direction:column;gap:14px;min-width:0}
.fm2-as-panel{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:22px 26px;box-shadow:var(--shadow-card)}
.fm2-as-panel-title{font-family:var(--f-display);font-size:17px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);margin:0 0 18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}
.fm2-as-status-chip{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.04em;font-weight:400}
.fm2-as-hero-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fm2-as-av-big{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,var(--sky),#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:26px;font-weight:500;flex-shrink:0}
.fm2-as-hero-body{flex:1;min-width:200px}
.fm2-as-hero-name{font-family:var(--f-display);font-size:22px;font-weight:500;letter-spacing:-.015em;color:var(--text-1);margin-bottom:6px}
.fm2-as-hero-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em}
.fm2-as-hero-meta .trust-chip{font-family:var(--f-mono);font-size:10px;padding:3px 8px;border-radius:var(--r-pill);background:var(--up-sub);color:var(--up);border:1px solid #22c55e44;letter-spacing:.06em}
.fm2-as-hero-count{font-family:var(--f-mono);font-size:11px;color:var(--text-3)}
.fm2-as-hero-count b{color:var(--text-1);font-weight:600}
.fm2-as-edit-btn{padding:9px 18px;background:transparent;border:1px solid var(--line-2);color:var(--text-1);border-radius:var(--r-2);font-family:var(--f-ui);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.fm2-as-edit-btn:hover{background:var(--ink-3);border-color:var(--line-hi)}
.fm2-as-small-btn{padding:5px 12px;background:var(--ink-3);border:1px solid var(--line-1);color:var(--text-1);border-radius:var(--r-2);font-family:var(--f-mono);font-size:11px;font-weight:500;cursor:pointer;letter-spacing:.02em}
.fm2-as-small-btn:hover{background:var(--ink-4);border-color:var(--line-2)}
.fm2-as-notif-list{display:flex;flex-direction:column;gap:2px}
.fm2-as-notif-chan{display:flex;flex-wrap:wrap;gap:6px 22px;margin-bottom:20px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;color:var(--text-3)}
.fm2-as-notif-chan b{color:var(--text-1);font-weight:500;letter-spacing:.02em}
.fm2-as-notif-chan .ok{color:var(--up)}
.fm2-as-notif-sec{margin-top:20px}
.fm2-as-notif-sec:first-child{margin-top:0}
.fm2-as-notif-sechead{display:grid;grid-template-columns:1fr 56px 56px;gap:10px;align-items:end;padding:0 4px 7px;border-bottom:1px solid var(--line-2)}
.fm2-as-notif-sectitle{font-family:var(--f-display);font-size:14px;font-weight:500;color:var(--text-1);letter-spacing:-.005em}
.fm2-as-notif-col{font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--text-3);text-align:center}
.fm2-as-notif-erow{display:grid;grid-template-columns:1fr 56px 56px;gap:10px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--line-1)}
.fm2-as-notif-erow:last-child{border-bottom:none}
.fm2-as-notif-name{font-family:var(--f-ui);font-size:13px;color:var(--text-1);letter-spacing:.005em}
.fm2-as-notif-hint{font-family:var(--f-ui);font-size:11px;color:var(--text-3);margin-top:3px;line-height:1.45}
.fm2-as-notif-cell{display:flex;justify-content:center}
.fm2-as-tog{appearance:none;-webkit-appearance:none;margin:0;flex:none;position:relative;width:34px;height:19px;border-radius:var(--r-pill);background:var(--ink-4);border:1px solid var(--line-2);cursor:pointer;transition:background .15s,border-color .15s}
.fm2-as-tog::after{content:"";position:absolute;top:1px;left:1px;width:15px;height:15px;border-radius:50%;background:var(--text-3);transition:transform .16s,background .16s}
.fm2-as-tog:checked{background:var(--sky-sub);border-color:var(--sky)}
.fm2-as-tog:checked::after{transform:translateX(15px);background:var(--sky)}
.fm2-as-tog:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
.fm2-as-tog:disabled{cursor:not-allowed;opacity:.55}
.fm2-as-tog.locked{background:var(--up-sub);border-color:var(--up);cursor:not-allowed;opacity:1}
.fm2-as-tog.locked::after{transform:translateX(15px);background:var(--up)}
.fm2-as-notif-always{margin-top:20px;padding:14px 16px;border:1px solid var(--line-1);border-radius:var(--r-3);background:var(--ink-1)}
.fm2-as-notif-always-h{font-family:var(--f-mono);font-size:9.5px;font-weight:700;letter-spacing:.12em;color:var(--text-3);margin-bottom:10px;text-transform:uppercase}
.fm2-as-notif-always ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.fm2-as-notif-always li{font-family:var(--f-ui);font-size:12px;color:var(--text-2);display:flex;gap:9px;align-items:flex-start;line-height:1.4}
.fm2-as-notif-always li b{color:var(--text-1);font-weight:600}
.fm2-as-notif-always li::before{content:"";flex:none;margin-top:5px;width:5px;height:5px;border-radius:50%;background:var(--up)}
.fm2-as-notif-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--line-1);font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;line-height:1.6}
.fm2-as-notif-save-state{font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:var(--r-pill);margin-left:8px}
.fm2-as-notif-save-state.saving{background:var(--sky-sub);color:var(--sky);border:1px solid var(--sky)}
.fm2-as-notif-save-state.saved{background:var(--up-sub);color:var(--up);border:1px solid var(--up)}
.fm2-as-notif-save-state.error{background:var(--down-sub);color:var(--down);border:1px solid var(--down)}
.fm2-as-addr-lede{display:flex;gap:14px;align-items:flex-start;background:var(--sky-sub);border:1px solid #0ea5e944;border-radius:var(--r-2);padding:14px 16px;margin-bottom:14px}
.fm2-as-addr-lede-ic{flex:none;width:38px;height:38px;border-radius:10px;background:#0ea5e926;display:flex;align-items:center;justify-content:center;font-size:18px}
.fm2-as-addr-lede-h{font-family:var(--f-display);font-size:14px;font-weight:500;color:var(--text-1);margin-bottom:3px}
.fm2-as-addr-lede-b{font-family:var(--f-ui);font-size:12px;color:var(--text-2);line-height:1.5}
.fm2-as-addr-card{background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);overflow:hidden}
.fm2-as-addr-head{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-1)}
.fm2-as-addr-flag{font-size:20px;line-height:1;flex:none}
.fm2-as-addr-name{font-family:var(--f-display);font-size:15px;font-weight:500;color:var(--text-1);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-as-addr-badge{font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sky-1);background:var(--sky-sub);border:1px solid #0ea5e944;padding:3px 8px;border-radius:var(--r-pill);flex:none}
.fm2-as-addr-body{padding:13px 16px;font-family:var(--f-ui);font-size:13px;color:var(--text-1);line-height:1.7}
.fm2-as-addr-body .muted-line{color:var(--text-3);font-family:var(--f-mono);font-size:11px;letter-spacing:.04em}
.fm2-as-addr-empty{background:var(--ink-3);border:1px dashed var(--line-2);border-radius:var(--r-2);padding:18px;text-align:center;font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em;line-height:1.7}
/* Multi-select language picker inside the profile edit form */
.fm2-as-lang-picker{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);min-height:40px;align-items:center}
.fm2-as-lang-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:var(--r-pill);background:var(--ink-2);border:1px solid var(--line-1);color:var(--text-3);font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .12s}
.fm2-as-lang-chip:hover{border-color:var(--line-2);color:var(--text-1)}
.fm2-as-lang-chip.on{background:var(--sky-sub);border-color:#0ea5e966;color:var(--sky-1)}
/* Pro-active gold subscription card */
.fm2-as-pro-card{background:linear-gradient(135deg,rgba(251,191,36,.14),rgba(251,191,36,.04));border:1px solid rgba(251,191,36,.4);border-radius:var(--r-3);padding:16px 20px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-card),inset 0 1px 0 rgba(251,191,36,.1);flex-wrap:wrap}
.fm2-as-pro-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--r-1);background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#0b1020;font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0}
.fm2-as-pro-text{font-family:var(--f-ui);font-size:13px;color:var(--text-1);flex:1;min-width:200px;letter-spacing:.01em}
.fm2-as-pro-text b{color:#fde68a;font-weight:600}
.fm2-as-pro-manage{padding:8px 16px;background:var(--ink-3);border:1px solid rgba(251,191,36,.35);color:#fde68a;border-radius:var(--r-2);font-family:var(--f-ui);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.fm2-as-pro-manage:hover{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.6)}

/* Community v3 — 3-column layout with Feeds sidebar + Hot right now */
.fm2-cf3-wrap{max-width:1380px;margin:0 auto;padding:28px 22px 60px;display:grid;grid-template-columns:240px 1fr 280px;gap:24px;align-items:start}
@media(max-width:1100px){.fm2-cf3-wrap{grid-template-columns:220px 1fr;gap:18px}.fm2-cf3-right{display:none}}
@media(max-width:720px){.fm2-cf3-wrap{grid-template-columns:1fr;padding:20px 16px}.fm2-cf3-left{position:static;max-height:none}}
.fm2-cf3-left,.fm2-cf3-right{position:sticky;top:80px;display:flex;flex-direction:column;gap:12px}
/* Same source-order bug as .fm2-as-nav: the 720px override is defined before
   this base rule, so the Feeds sidebar stays sticky and overlaps the posts.
   Re-assert the un-stick here. */
@media(max-width:720px){.fm2-cf3-left,.fm2-cf3-right{position:static;top:auto}}
.fm2-cf3-center{min-width:0}
.fm2-cf3-side-panel{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:14px 16px}
.fm2-cf3-side-title{font-family:var(--f-display);font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line-1)}
.fm2-cf3-left .fm2-cf3-side-title{padding:14px 16px 10px;margin:0;background:var(--ink-2);border:1px solid var(--line-1);border-bottom:none;border-radius:var(--r-3) var(--r-3) 0 0}
.fm2-cf3-feed-list{background:var(--ink-2);border:1px solid var(--line-1);border-top:none;border-radius:0 0 var(--r-3) var(--r-3);overflow:hidden}
.fm2-cf3-feed-row{display:flex;align-items:center;gap:10px;padding:11px 16px;font-family:var(--f-ui);font-size:13px;color:var(--text-2);cursor:pointer;transition:all .12s;border-top:1px solid var(--line-1);position:relative}
.fm2-cf3-feed-row:first-child{border-top:none}
.fm2-cf3-feed-row:hover{background:var(--ink-3);color:var(--text-1)}
.fm2-cf3-feed-row.active{background:var(--ink-3);color:var(--text-1)}
.fm2-cf3-feed-row.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--sky)}
.fm2-cf3-feed-icon{font-size:14px;width:20px;text-align:center;opacity:.85}
.fm2-cf3-feed-label{flex:1}
.fm2-cf3-feed-count{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em}
.fm2-cf3-hot-list{display:flex;flex-direction:column;gap:10px}
.fm2-cf3-hot-row{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;cursor:pointer;transition:all .12s;padding:6px 0}
.fm2-cf3-hot-row:hover{transform:translateX(2px)}
.fm2-cf3-hot-rank{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.04em}
.fm2-cf3-hot-body{min-width:0}
.fm2-cf3-hot-name{font-family:var(--f-ui);font-size:13px;font-weight:500;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}
.fm2-cf3-hot-price{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em;margin-top:1px}
.fm2-cf3-hot-trend{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.02em;text-align:right}
.fm2-cf3-upcoming-name{font-family:var(--f-display);font-size:15px;font-weight:500;color:var(--text-1);margin-bottom:4px;letter-spacing:-.01em}
.fm2-cf3-upcoming-meta{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;margin-bottom:12px}
.fm2-cf3-upcoming-btn{width:100%;padding:8px 12px;background:var(--ink-3);border:1px solid var(--line-1);color:var(--text-1);border-radius:var(--r-2);font-family:var(--f-ui);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}
.fm2-cf3-upcoming-btn:hover{border-color:var(--line-2);background:var(--ink-4)}

/* Inline composer tweaks for 3-col (tighter) */
.fm2-cf3-center .cf-compose{margin-bottom:16px}

/* Community feed (v2) */
.cf-wrap{max-width:760px;margin:0 auto;padding:28px 18px 60px}
.cf-head{margin-bottom:24px}
.cf-head h1{font-family:var(--f-display);font-size:32px;font-weight:400;letter-spacing:-.02em;margin:0 0 6px;color:var(--text-1)}
.cf-head h1 em{font-style:italic}
.cf-sub{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em}
.cf-compose{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:16px;margin-bottom:20px;box-shadow:var(--shadow-card);transition:border-color .15s}
.cf-compose:focus-within{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
.cf-compose textarea{width:100%;border:none;background:transparent;color:var(--text-1);resize:vertical;min-height:72px;font-size:14px;font-family:var(--f-ui);line-height:1.5;outline:none}
.cf-compose textarea::placeholder{color:var(--text-3)}
.cf-compose-row{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.cf-kind{display:inline-flex;gap:4px;flex-wrap:wrap}
.cf-kind-pill{padding:5px 12px;border-radius:var(--r-pill);font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;background:var(--ink-3);color:var(--text-3);cursor:pointer;border:1px solid var(--line-1);transition:all .12s}
.cf-kind-pill:hover{color:var(--text-1);border-color:var(--line-2)}
.cf-kind-pill.active{background:var(--sky-sub);color:var(--sky-2);border-color:#0ea5e966}
.cf-compose-post{margin-left:auto;background:var(--sky);color:#fff;border:1px solid var(--sky);padding:8px 18px;border-radius:var(--r-2);font-family:var(--f-ui);font-weight:500;font-size:13px;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.cf-compose-post:disabled{opacity:.4;cursor:not-allowed}
.cf-compose-post:hover:not(:disabled){background:var(--sky-1);border-color:var(--sky-1);box-shadow:0 6px 18px -6px var(--sky-glow)}
.cf-feed{display:flex;flex-direction:column;gap:12px}
.cf-post{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:16px 18px;transition:all .15s;box-shadow:var(--shadow-card)}
.cf-post:hover{border-color:var(--line-2)}
.cf-post-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.cf-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--sky),#8b5cf6);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-weight:700;font-size:12px;color:#fff;flex-shrink:0}
.cf-post-who{flex:1;min-width:0}
.cf-post-name{font-family:var(--f-ui);font-size:13px;font-weight:500;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em}
.cf-post-meta{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.04em;margin-top:2px}
.cf-post-kind{padding:3px 10px;border-radius:var(--r-pill);font-family:var(--f-mono);font-size:9px;background:var(--ink-3);color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line-1);font-weight:600}
.cf-post-body{font-family:var(--f-ui);font-size:14px;line-height:1.55;color:var(--text-1);white-space:pre-wrap;word-break:break-word;margin-bottom:12px;overflow-wrap:anywhere}
.cf-post-body img,.cf-post-body video{max-width:100%;height:auto;border-radius:var(--r-2);margin-top:8px}
.cf-post-actions{display:flex;align-items:center;gap:6px;font-size:12px;flex-wrap:wrap}
.cf-react-btn{background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-pill);padding:5px 11px;font-family:var(--f-mono);font-size:11px;cursor:pointer;color:var(--text-2);display:inline-flex;align-items:center;gap:5px;transition:all .12s;letter-spacing:.02em}
.cf-react-btn:hover{color:var(--text-1);border-color:var(--line-2);background:var(--ink-4)}
.cf-react-btn.mine{background:var(--sky-sub);border-color:#0ea5e966;color:var(--sky-1)}
.cf-react-count{font-family:var(--f-mono);font-size:11px;font-feature-settings:"tnum"}
.cf-more-react{background:transparent;border:1px solid var(--line-1);border-radius:var(--r-pill);padding:5px 10px;font-size:12px;cursor:pointer;color:var(--text-3);transition:all .12s}
.cf-more-react:hover{color:var(--text-1);border-color:var(--line-2)}
.cf-comment-btn{margin-left:auto;background:transparent;color:var(--text-3);border:none;font-family:var(--f-mono);font-size:11px;cursor:pointer;padding:5px 8px;letter-spacing:.03em;transition:color .12s}
.cf-comment-btn:hover{color:var(--text-1)}
.cf-comments{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-1)}
.cf-comment{display:flex;gap:10px;margin-bottom:10px;font-size:13px}
.cf-comment .cf-av{width:28px;height:28px;font-size:10px}
.cf-comment-body{flex:1;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);padding:8px 12px;color:var(--text-2);word-break:break-word;line-height:1.5}
.cf-comment-name{color:var(--text-1);font-family:var(--f-ui);font-weight:500;font-size:12px;margin-bottom:2px;letter-spacing:.01em}
.cf-comment-input{display:flex;gap:6px;margin-top:8px}
.cf-comment-input input{flex:1;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-pill);padding:7px 14px;font-family:var(--f-ui);font-size:12px;color:var(--text-1);outline:none;transition:all .15s}
.cf-comment-input input:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
.cf-comment-input button{background:var(--sky);color:#fff;border:none;border-radius:var(--r-pill);padding:7px 14px;font-family:var(--f-ui);font-size:11px;font-weight:500;cursor:pointer;transition:background .15s}
.cf-comment-input button:hover{background:var(--sky-1)}
.cf-empty{padding:48px 20px;text-align:center;color:var(--text-3);background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);font-family:var(--f-mono);font-size:11px;letter-spacing:.03em;line-height:1.6}
/* Filter chip bar above the feed */
.cf-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line-1)}
.cf-fchip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;background:var(--ink-3);color:var(--text-3);border:1px solid var(--line-1);cursor:pointer;transition:all .12s}
.cf-fchip:hover{color:var(--text-1);border-color:var(--line-2)}
.cf-fchip.active{background:var(--sky-sub);color:var(--sky-2);border-color:#0ea5e966}
.cf-fchip-count{font-family:var(--f-mono);font-size:9px;opacity:.7;padding:0 4px;border-radius:var(--r-1);background:rgba(255,255,255,.05);font-weight:500;letter-spacing:.02em}
.cf-fchip.active .cf-fchip-count{opacity:.9}
/* Login gate (when not signed in) */
.cf-login-gate{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 20px;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);text-align:center}
.cf-login-gate-text{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em}
/* Staff + official badges */
.cf-staff-badge{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:var(--r-pill);background:var(--sky-sub);color:var(--sky-2);border:1px solid #0ea5e944;font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.cf-official-badge{display:inline-block;margin-left:8px;padding:3px 9px;border-radius:var(--r-pill);background:var(--sky);color:#fff;font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 2px 8px -2px var(--sky-glow)}
/* Announcement post — pinned style, sky accent */
.cf-post.cf-post-announcement{background:linear-gradient(135deg,var(--sky-sub),var(--ink-2));border-left:3px solid var(--sky);padding-left:15px}
.cf-post.cf-post-announcement .cf-post-body{font-size:14px;line-height:1.65;color:var(--text-1)}
.cf-av.cf-av-official{background:linear-gradient(135deg,var(--sky),#8b5cf6)}
/* Delete button (author/admin only) */
.cf-comment-btn.cf-delete-btn{margin-left:auto;color:var(--text-3)}
.cf-comment-btn.cf-delete-btn:hover{color:var(--down)}

/* ── Explorer (per-card, per-set public pages) ── */
.xplr-wrap{max-width:1100px;margin:0 auto;padding:24px 16px 60px}
.xplr-crumbs{font-size:12px;color:var(--txt3);margin-bottom:18px;font-family:var(--mono)}
.xplr-crumbs a{color:var(--txt2);text-decoration:none}.xplr-crumbs a:hover{color:var(--sky)}
.xplr-crumbs span{color:var(--txt)}
/* card-detail legacy selectors retired after v2 migration; preserved:
   xplr-wrap/crumbs/section/count/empty/empty-small/loading/sk shared with
   the order/seller/wishlist/set shells below. */
.xplr-section{margin-top:28px}
.xplr-section h3{font-size:14px;font-weight:600;letter-spacing:-.01em;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.xplr-count{font-family:var(--mono);font-size:11px;color:var(--txt3);font-weight:400}
.xplr-empty,.xplr-empty-small{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:40px 20px;text-align:center;color:var(--txt2)}
.xplr-empty-small{padding:18px;font-size:13px}
.xplr-empty h2{font-size:18px;margin-bottom:8px}
.xplr-loading{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}
.xplr-sk{background:linear-gradient(90deg,var(--bg2) 0%,var(--bg3) 50%,var(--bg2) 100%);background-size:200% 100%;animation:xplr-sh 1.2s infinite;border-radius:6px}
@keyframes xplr-sh{0%{background-position:200% 0}100%{background-position:-200% 0}}
/* Set page */
.xplr-set-head{margin-bottom:22px}
.xplr-set-name{font-family:var(--font);font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}
.xplr-set-meta{font-size:13px;color:var(--txt2)}
.xplr-set-meta .mono{font-family:var(--mono);color:var(--txt3);font-size:11px}
.xplr-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.xplr-tile{background:var(--bg2);border:1px solid var(--border);border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .12s,border-color .12s}
.xplr-tile:hover{transform:translateY(-2px);border-color:var(--border3)}
.xplr-tile-img{aspect-ratio:.71;background:var(--bg3);display:flex;align-items:center;justify-content:center;overflow:hidden}
.xplr-tile-img img{width:100%;height:100%;object-fit:contain;padding:6px}
.xplr-tile-info{padding:8px 10px}
.xplr-tile-num{font-family:var(--mono);font-size:10px;color:var(--txt3)}
.xplr-tile-name{font-size:12px;font-weight:500;margin:2px 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xplr-tile-price{font-family:var(--mono);font-size:11px;color:var(--green);font-weight:600}

/* Card Scan */
.scan-area{
  display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;
}
.scan-btn{
  flex:none;padding:0 16px;height:46px;
  background:transparent;border:1px solid var(--line-2,var(--border));
  border-radius:11px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:13px;font-weight:600;color:var(--text-2,var(--txt2));font-family:var(--f-ui,var(--body));
  transition:all .15s;
}
.scan-btn:hover{border-color:var(--sky);color:var(--txt)}
.scan-btn .scan-icon{font-size:16px}
/* Scan is secondary to search — a soft accent button, not a gradient slab. */
.scan-btn.scan-primary{
  background:var(--sky-sub);
  border:1px solid color-mix(in srgb,var(--sky) 30%,transparent);
  color:var(--sky-1,var(--sky));
}
.scan-btn.scan-primary:hover{background:color-mix(in srgb,var(--sky) 18%,transparent);color:var(--sky-1,var(--sky))}
.scan-btn.scan-primary .scan-icon{font-size:17px}
.scan-status{
  display:none;align-items:center;gap:8px;
  background:var(--sky-sub);border:1px solid var(--border);
  border-radius:var(--r);padding:10px 14px;margin-bottom:12px;
  font-size:12px;color:var(--sky3);
}
.scan-status.show{display:flex}
.scan-preview{
  display:none;margin-bottom:12px;
  border-radius:var(--r);overflow:hidden;
  border:1px solid var(--border2);
  position:relative;
}
.scan-preview.show{display:block}
.scan-preview img{width:100%;max-height:300px;object-fit:contain;background:var(--bg3);display:block}
.scan-preview .scan-remove{
  position:absolute;top:6px;right:6px;
  width:24px;height:24px;border-radius:50%;
  background:#000000aa;border:none;color:#fff;font-size:12px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
}
#scan-strip-camera-input,#scan-camera-input,#scan-file-input{display:none}


/* Spin */
.spin{display:inline-block;width:12px;height:12px;border:2px solid var(--border2);border-top-color:var(--sky);border-radius:50%;animation:spin .5s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── Payments tab — Stripe Connect rich panel ───────────────────────
   Two-column layout. Main column carries the active state (none/pending/
   action_required/verified); side carries payout preview + trust + help.
   Collapses to one column under 880px so the sidebar drops below the main
   panel rather than getting squeezed. */
.fm-pay-wrap{padding:6px}
.fm-pay-grid{display:grid;grid-template-columns:1fr 340px;gap:18px;align-items:start}
.fm-pay-main{min-width:0}
.fm-pay-side{min-width:0}
@media(max-width:880px){.fm-pay-grid{grid-template-columns:1fr}}

/* ── Onboarding coach (/onboarding/coach) — shown in the FoilMarket tab
   while Stripe is open in a second tab. Checklist on the left, actions +
   FAQ on the right. Collapses to one column on mobile (checklist below). */
.fm-coach-wrap{max-width:1100px;margin:0 auto;padding:0 18px 48px}
.fm-coach-grid{display:grid;grid-template-columns:440px 1fr;gap:28px;align-items:start}
.fm-coach-step{display:flex;gap:13px;padding:12px 14px;border-radius:10px;border:1px solid transparent}
.fm-coach-step:hover{background:var(--bg3)}
@media(max-width:880px){.fm-coach-grid{grid-template-columns:1fr}.fm-coach-actions{order:-1}}

/* ── Foil shimmer effect ── */
@keyframes foil-shift{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
.logo:hover .logo-dot{
  background:linear-gradient(90deg,#0ea5e9,#38bdf8,#7dd3fc,#0ea5e9);
  background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  animation:foil-shift 1.5s ease infinite;
}
/* Shimmer on UR/SAR card badges */
.rb-UR{
  background:linear-gradient(135deg,#f59e0b,#fbbf24,#d97706);
  background-size:200% auto;
  color:#000;
}
.lcard:hover .rb-UR,.ci:hover .rb-UR{
  animation:foil-shift 1s ease infinite;
}
/* Price ticker pause on hover already handled */
/* Market card grid — list view pill spacing */
.card-grid.list-view{grid-template-columns:1fr!important;gap:8px}
.card-grid.list-view .fm2-listing-card{display:grid;grid-template-columns:60px 1fr auto;align-items:center;min-height:auto;transform:none!important}
.card-grid.list-view .fm2-lc-art{height:80px;width:60px;aspect-ratio:auto;border-radius:var(--r-3) 0 0 var(--r-3)}
.card-grid.list-view .fm2-lc-art::after{display:none}
.card-grid.list-view .fm2-lc-rb{display:none}
.card-grid.list-view .fm2-lc-cond{top:auto;bottom:6px;right:6px;left:auto}
.card-grid.list-view .fm2-lc-lang{display:none}
.card-grid.list-view .fm2-lc-finish{display:none}
.card-grid.list-view .fm2-lc-seller{display:none}
.card-grid.list-view .fm2-lc-body{padding:8px 14px}
.card-grid.list-view .fm2-lc-foot{gap:12px}
.card-grid.list-view .fm2-lc-ptype{top:auto;bottom:6px;left:6px}

/* ═══════ Phase 1 · V2 Home ════════════════════════════════════════ */
/* Hero — editorial Fraunces italic, fanned-out card shelf on right. */
.fm2-hero-wrap{padding:48px 20px 32px;background:
  radial-gradient(ellipse 900px 500px at 80% 20%,#0ea5e920,transparent 60%),
  radial-gradient(ellipse 600px 400px at 10% 80%,#8b5cf618,transparent 60%),
  var(--paper);
  border-bottom:1px solid var(--line-1);position:relative;overflow:hidden}
.fm2-hero{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.fm2-hero-h1{font-family:var(--f-display);font-size:clamp(40px,6vw,76px);font-weight:400;letter-spacing:-.03em;line-height:1.02;margin:14px 0 22px;color:var(--text-1)}
.fm2-hero-h1 .fm2-italic{color:var(--sky-2)}
.fm2-hero-lead{font-size:15px;line-height:1.6;color:var(--text-2);margin-bottom:26px;max-width:540px}
.fm2-hero-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
@media(max-width:560px){
  /* Hero CTAs stack full-width on phones — primary + ghost buttons were
     wrapping then the second one falling below the stats grid. */
  .fm2-hero-ctas{flex-direction:column;gap:8px;align-items:stretch}
  .fm2-hero-ctas .fm2-btn{width:100%;justify-content:center}
  .fm2-hero-stats{grid-template-columns:repeat(2,1fr);gap:14px 0}
  .fm2-hero-stats > div{padding:8px 14px 8px 0}
}
.fm2-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:540px;border-top:1px solid var(--line-2);padding-top:18px}
.fm2-hero-stats > div{padding-right:16px;border-right:1px solid var(--line-1)}
.fm2-hero-stats > div:last-child{border-right:none}
.fm2-hs-val{font-family:var(--f-display);font-size:26px;font-weight:500;letter-spacing:-.015em;color:var(--text-1);line-height:1}
.fm2-hs-lbl{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-top:6px}

/* Hero fan — stacked rotated cards using CardArt */
.fm2-hero-fan{position:relative;height:520px;display:flex;align-items:center;justify-content:center}
.fm2-hf-card{position:absolute;width:200px;aspect-ratio:5/7;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-foil);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.fm2-hf-card:hover{transform:translateY(-12px) rotate(0deg) !important;z-index:10}
.fm2-hf-1{transform:rotate(-16deg) translate(-120px,20px);z-index:1}
.fm2-hf-2{transform:rotate(-8deg) translate(-60px,-10px);z-index:2}
.fm2-hf-3{transform:rotate(0deg);z-index:3;width:220px}
.fm2-hf-4{transform:rotate(8deg) translate(60px,-10px);z-index:2}
.fm2-hf-5{transform:rotate(16deg) translate(120px,20px);z-index:1}
.fm2-hf-glow{position:absolute;inset:-40px;background:radial-gradient(ellipse,#0ea5e930,transparent 60%);pointer-events:none;z-index:0;filter:blur(40px)}
@media (max-width:900px){
  .fm2-hero{grid-template-columns:1fr;gap:32px}
  .fm2-hero-fan{height:340px;order:-1}
  .fm2-hf-card{width:140px}
  .fm2-hf-3{width:160px}
  .fm2-hero-stats{grid-template-columns:repeat(2,1fr);gap:16px 0}
  .fm2-hero-stats > div:nth-child(2){border-right:none}
  .fm2-hero-stats > div{padding:0 12px}
}

/* Category pill row beneath hero */
.fm2-cat-pills{max-width:1280px;margin:24px auto 0;padding:0 20px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.fm2-cat-pills::-webkit-scrollbar{display:none}
.fm2-cat-pills button{padding:7px 14px;border-radius:var(--r-pill);background:var(--ink-2);border:1px solid var(--line-1);color:var(--text-2);font-family:var(--f-ui);font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .15s}
.fm2-cat-pills button:hover{border-color:var(--line-2);color:var(--text-1)}
.fm2-cat-pills button.on{background:var(--sky-sub);color:var(--sky-2);border-color:#0ea5e966}

/* Home sections (trending / featured / recent) */
.fm2-home-sec{max-width:1280px;margin:56px auto 0;padding:0 20px}

/* Featured sets — big tiles with set.hero color gradients */
.fm2-set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.fm2-set-tile{display:block;text-decoration:none;color:inherit;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);overflow:hidden;cursor:pointer;transition:all .2s}
.fm2-set-tile:hover{border-color:var(--line-2);transform:translateY(-3px);box-shadow:var(--shadow-pop)}
/* Spotlight tiles with live inventory. */
.fm2-st-hot{border-color:#22c55e3a}
.fm2-st-hot:hover{border-color:#22c55e85;box-shadow:0 0 0 1px #22c55e30,0 14px 30px -16px #22c55e55,var(--shadow-pop)}
/* Live ticker — pulsing dot + count (reuses @keyframes fm2-pulse). */
.fm2-st-ticker{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.04em;background:var(--up-sub);color:var(--up);border:1px solid #22c55e40;white-space:nowrap}
.fm2-st-ticker b{font-weight:700}
.fm2-st-ticker-dot{width:7px;height:7px;border-radius:50%;background:var(--up);box-shadow:0 0 8px var(--up);animation:fm2-pulse 2s infinite}
.fm2-st-floor{color:var(--text-2)}
.fm2-st-floor b{font-family:var(--f-mono);font-weight:700;color:var(--up)}
.fm2-chip-muted{opacity:.55}
.fm2-st-langchip{cursor:pointer;transition:filter .12s,transform .12s}
.fm2-st-langchip:hover{filter:brightness(1.25);transform:translateY(-1px)}
.fm2-set-tile-art{aspect-ratio:16/10;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.fm2-set-tile-art::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#00000080);pointer-events:none}
.fm2-st-code{position:absolute;top:12px;left:12px;font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;color:#ffffffa0;z-index:1}
.fm2-st-name-big{font-family:var(--f-display);font-size:22px;font-weight:500;letter-spacing:-.02em;color:#fff;text-shadow:0 2px 8px #00000060;text-align:center;z-index:1;padding:0 16px}
.fm2-set-tile-meta{padding:15px 16px 16px;text-align:center}
.fm2-st-name{font-family:var(--f-display);font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--text-1)}
.fm2-st-sub{font-family:var(--f-mono);font-size:11px;color:var(--text-3);margin-bottom:10px}
.fm2-st-stats{display:flex;gap:6px;flex-wrap:wrap}
.fm2-st-pill{position:absolute;top:10px;right:10px;z-index:2;font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.08em;padding:3px 8px;border-radius:var(--r-2);text-transform:uppercase;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.fm2-st-pill-current{background:rgba(34,197,94,.24);color:#86efac;border:1px solid rgba(34,197,94,.45)}
.fm2-st-pill-digital{background:rgba(168,85,247,.24);color:#d8b4fe;border:1px solid rgba(168,85,247,.5)}
.fm2-st-pill-upcoming{background:rgba(251,191,36,.24);color:#fde68a;border:1px solid rgba(251,191,36,.45)}
.fm2-st-pill-retired{background:rgba(255,255,255,.1);color:#cbd5e1;border:1px solid rgba(255,255,255,.22)}
.fm2-st-logo{max-height:88px;max-width:80%;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.6)) drop-shadow(0 0 20px color-mix(in srgb,var(--tile-accent,#0ea5e9) 42%,transparent));z-index:1;position:relative;transition:transform .25s ease}
.fm2-st-head{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:3px}
.fm2-st-head-symbol{width:22px;height:22px;object-fit:contain;flex-shrink:0;opacity:.85}
.fm2-st-name-row{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%}
.fm2-st-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.fm2-st-en{font-family:var(--f-mono);font-size:10px;color:var(--text-3);font-style:italic;margin-top:0;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-set-tile.fm2-st-empty{opacity:.9}
.fm2-set-tile.fm2-st-empty:hover{opacity:1}
.fm2-set-tile.fm2-st-empty .fm2-st-logo{filter:drop-shadow(0 6px 18px rgba(0,0,0,.6)) drop-shadow(0 0 20px color-mix(in srgb,var(--tile-accent,#0ea5e9) 36%,transparent))}
.fm2-set-tile:hover .fm2-st-logo{transform:scale(1.06)}
.fm2-st-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;align-items:center}
.fm2-st-en{text-align:center}

/* ═══ Why FoilMarket — v3 redesign (header + feature cards + buyer/seller split) ═══ */
.whyx-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:32px}
.whyx-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--text-3);margin:0 0 18px}
.whyx-edot{width:6px;height:6px;border-radius:50%;background:var(--up);box-shadow:0 0 0 4px color-mix(in srgb,var(--up) 18%,transparent)}
.whyx-title{font-family:var(--f-display);font-weight:400;font-size:40px;line-height:1.1;letter-spacing:-.02em;margin:0;max-width:18ch;color:var(--text-1)}
.whyx-title .whyx-acc{font-family:var(--f-display);font-style:italic;color:var(--sky-2)}
.whyx-sub{font-size:15px;line-height:1.6;color:var(--text-2);max-width:38ch;margin:0;flex-shrink:0}

.whyx-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}
.whyx-feat{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#ffffff06,transparent 120px),var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-4);padding:24px 24px 22px;box-shadow:var(--shadow-card);transition:transform .22s cubic-bezier(.2,.7,.3,1),border-color .22s,box-shadow .22s}
.whyx-feat:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:var(--shadow-pop)}
.whyx-icn{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;margin-bottom:20px;color:var(--tint);background:color-mix(in srgb,var(--tint) 10%,transparent);border:1px solid color-mix(in srgb,var(--tint) 26%,transparent)}
.whyx-icn svg{width:23px;height:23px}
.whyx-feat h3{font-family:var(--f-display);font-weight:500;font-size:18px;line-height:1.2;margin:0 0 9px;letter-spacing:-.01em;color:var(--text-1)}
.whyx-feat p{font-size:13.5px;line-height:1.55;color:var(--text-2);margin:0 0 18px}
.whyx-stat{margin-top:auto;padding-top:15px;border-top:1px solid var(--line-1);display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11.5px;color:var(--text-1)}
.whyx-stat .whyx-k{color:var(--tint)}
.whyx-stat .whyx-sep{color:var(--text-3)}
.whyx-t-eu{--tint:var(--sky-1)}
.whyx-t-pay{--tint:var(--foil-2)}
.whyx-t-data{--tint:var(--up)}
.whyx-t-prot{--tint:var(--gold)}

.whyx-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.whyx-big{position:relative;overflow:hidden;border:1px solid var(--line-1);border-radius:var(--r-5);padding:32px 34px 30px;box-shadow:var(--shadow-card);display:grid;grid-template-columns:1fr auto;gap:28px;align-items:stretch;cursor:pointer;text-decoration:none;transition:transform .22s cubic-bezier(.2,.7,.3,1),border-color .22s,box-shadow .22s}
.whyx-big:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:var(--shadow-pop)}
.whyx-big:active{transform:translateY(-2px)}
.whyx-buyer{background:linear-gradient(150deg,color-mix(in srgb,var(--sky-1) 13%,transparent),color-mix(in srgb,var(--sky-1) 2%,transparent) 55%),var(--ink-2)}
.whyx-seller{background:linear-gradient(150deg,color-mix(in srgb,var(--gold) 11%,transparent),color-mix(in srgb,var(--gold) 2%,transparent) 55%),var(--ink-2)}
.whyx-bbody{display:flex;flex-direction:column;min-width:0}
.whyx-badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:7px 12px;border-radius:999px;border:1px solid var(--line-2);background:#ffffff06;color:var(--text-2);margin-bottom:22px}
.whyx-bdot{width:6px;height:6px;border-radius:50%}
.whyx-buyer .whyx-bdot{background:var(--sky-1);box-shadow:0 0 0 4px color-mix(in srgb,var(--sky-1) 18%,transparent)}
.whyx-seller .whyx-bdot{background:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 18%,transparent)}
.whyx-big h3{font-family:var(--f-display);font-weight:400;font-size:29px;line-height:1.12;letter-spacing:-.025em;margin:0 0 14px;max-width:14ch;color:var(--text-1)}
.whyx-bp{font-size:14.5px;line-height:1.6;color:var(--text-2);margin:0 0 22px;max-width:34ch}
.whyx-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.whyx-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:11px;color:var(--text-2);padding:6px 11px;border-radius:8px;border:1px solid var(--line-1);background:var(--ink-1)}
.whyx-chip svg{width:13px;height:13px;flex-shrink:0}
.whyx-buyer .whyx-chip svg{color:var(--sky-1)}
.whyx-seller .whyx-chip svg{color:var(--gold)}
.whyx-cta{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:9px;font-family:var(--f-ui);font-weight:600;font-size:14px;padding:11px 18px;border-radius:11px;transition:filter .15s,gap .2s}
.whyx-buyer .whyx-cta{background:var(--sky-1);color:#06101f}
.whyx-seller .whyx-cta{background:var(--gold);color:#241803}
.whyx-big:hover .whyx-cta{filter:brightness(1.06);gap:13px}
.whyx-cta svg{width:16px;height:16px}
.whyx-aside{display:flex;align-items:center;justify-content:center;min-width:150px}

/* buyer — stacked cards visual */
.whyx-stack{position:relative;width:150px;height:196px}
.whyx-pc{position:absolute;inset:0;border-radius:12px;border:1px solid var(--line-2);background:linear-gradient(160deg,#1d2740,#131826);box-shadow:0 22px 40px -24px #000000e6}
.whyx-pc:nth-child(1){transform:rotate(-9deg) translate(-10px,8px);opacity:.55}
.whyx-pc:nth-child(2){transform:rotate(5deg) translate(12px,2px);opacity:.8}
.whyx-pc.whyx-top{transform:rotate(-2deg);background:linear-gradient(160deg,color-mix(in srgb,var(--sky-1) 22%,transparent),#161d30);overflow:hidden}
.whyx-holo{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#a78bff47,#6ea2ff38,transparent 70%);mix-blend-mode:screen}
.whyx-plabel{position:absolute;left:12px;bottom:12px;right:12px}
.whyx-pnm{font-family:var(--f-display);font-weight:500;font-size:14px;color:#f3f0f8}
.whyx-ppr{font-family:var(--f-mono);font-size:12px;color:var(--sky-2);margin-top:3px}

/* seller — payout receipt visual */
.whyx-receipt{width:196px;border-radius:14px;border:1px solid var(--line-2);background:var(--ink-1);padding:16px 16px 14px;box-shadow:0 22px 44px -26px #000000e6}
.whyx-rh{display:flex;align-items:center;justify-content:space-between;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:14px}
.whyx-iban{color:var(--gold)}
.whyx-rrow{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;margin-bottom:9px;color:var(--text-2)}
.whyx-rrow .whyx-v{font-family:var(--f-mono);color:var(--text-1)}
.whyx-rrow.whyx-fee .whyx-v{color:var(--text-3)}
.whyx-rdiv{height:1px;background:var(--line-1);margin:12px 0}
.whyx-total{display:flex;align-items:center;justify-content:space-between}
.whyx-total .whyx-l{font-size:12px;color:var(--text-2)}
.whyx-total .whyx-v{font-family:var(--f-display);font-weight:500;font-size:22px;color:var(--up)}
.whyx-eta{margin-top:12px;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;color:var(--text-3);display:flex;align-items:center;gap:7px}
.whyx-pulse{width:6px;height:6px;border-radius:50%;background:var(--up);box-shadow:0 0 8px var(--up)}

@media (max-width:1080px){
  .whyx-feats{grid-template-columns:repeat(2,1fr)}
  .whyx-duo{grid-template-columns:1fr}
  .whyx-head{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:28px}
  .whyx-title{font-size:34px;max-width:20ch}
  .whyx-sub{max-width:54ch}
}
@media (max-width:760px){
  .whyx-feats{grid-template-columns:1fr}
  .whyx-big{grid-template-columns:1fr;padding:26px}
  .whyx-aside{justify-content:flex-start}
  .whyx-title{font-size:30px}
}


/* Sell wizard v3 — numbered form-block steps + card preview sidebar */
.fm2-sw3-wrap{max-width:1380px;margin:0 auto;padding:28px 22px 60px}
.fm2-sw3-header{margin-bottom:28px}
/* CSS counter auto-numbers each form-block inside the sell body */
.fm2-sw3-body{display:flex;flex-direction:column;gap:14px}
.fm2-sw3-body>#sell-form,.fm2-sw3-body>#sell-sealed-form{counter-reset:sellstep;display:flex;flex-direction:column;gap:14px}
/* One horizontal stepper above the cards is the ONLY step indicator.
   Active block = card with serif title + "Step N of 3"; collapsed blocks
   = quiet 68%-opacity rows (number circle + title + hint + chevron). */
.fm2-sw3-body .form-block{counter-increment:sellstep;position:relative;padding:24px 26px!important;background:var(--ink-2)!important;border:1px solid var(--line-1)!important;border-radius:var(--r-3)!important;box-shadow:var(--shadow-card)}
.fm2-sw3-body .form-block.collapsed > *:not(.fb-title){display:none!important}
.fm2-sw3-body .form-block .fb-title{cursor:pointer;user-select:none;position:relative;display:flex;align-items:center;gap:10px;min-width:0}
.fm2-sw3-body .form-block .fb-hint{display:none;font-family:var(--f-ui);font-size:12px;font-weight:400;color:var(--text-3);text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.fm2-sw3-body .form-block.collapsed .fb-hint{display:inline-block}
.fm2-sw3-body .form-block .fb-stepno{display:none;margin-left:auto;font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);flex:none}
.fm2-sw3-body .form-block.active .fb-stepno{display:inline}
.fm2-sw3-body .form-block.active > .fb-title{font-family:var(--f-display);font-size:19px;font-weight:500;letter-spacing:-.01em;text-transform:none;color:var(--text-1);cursor:default;border-bottom:1px solid var(--line-1);padding-bottom:14px;margin-bottom:16px}
.fm2-sw3-body .form-block.collapsed{opacity:.68;padding-top:15px!important;padding-bottom:15px!important;transition:opacity .15s}
.fm2-sw3-body .form-block.collapsed:hover{opacity:1}
.fm2-sw3-body .form-block.collapsed > .fb-title{font-family:var(--f-ui);font-size:14px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-1);margin:0;padding-bottom:0;border-bottom:none;padding-right:28px}
.fm2-sw3-body .form-block.collapsed > .fb-title::before{content:counter(sellstep);width:24px;height:24px;border-radius:50%;background:var(--ink-3);border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:11px;font-weight:600;color:var(--text-3);flex:none}
.fm2-sw3-body .form-block.complete.collapsed > .fb-title::before{content:'✓';background:var(--up);border-color:var(--up);color:#051709;font-weight:700}
.fm2-sw3-body .form-block .fb-title::after{content:'';position:absolute;right:4px;top:50%;width:8px;height:8px;border-right:1.5px solid var(--text-3);border-bottom:1.5px solid var(--text-3);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.fm2-sw3-body .form-block.active .fb-title::after{display:none}
.fm2-sw3-body .form-block.collapsed .fb-title::after{transform:translateY(-30%) rotate(-45deg)}
@media(max-width:640px){
  .fm2-sw3-body .form-block{padding:18px!important}
  .fm2-sw3-body .form-block .fb-hint{display:none!important}
  .fm2-sw3-body .form-block .fb-title{line-height:1.35;overflow-wrap:anywhere}
}
.fm2-sw3-eyebrow{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}
.fm2-sw3-title{font-family:var(--f-display);font-size:48px;font-weight:400;letter-spacing:-.025em;line-height:1.05;margin:0 0 6px;color:var(--text-1)}
.fm2-sw3-title em{font-style:italic;color:var(--text-1)}
@media(max-width:720px){.fm2-sw3-title{font-size:36px}}
.fm2-sw3-sub{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em;margin-bottom:14px}
.fm2-sw3-mode{display:inline-flex;gap:3px;padding:3px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:11px;margin-top:4px}
.fm2-sw3-mode-btn{padding:7px 15px;background:transparent;border:none;color:var(--text-3);font-family:var(--f-ui);font-size:12.5px;font-weight:600;cursor:pointer;border-radius:8px;transition:all .15s;white-space:nowrap}
.fm2-sw3-mode-btn.on{background:var(--ink-5);color:var(--text-1);box-shadow:inset 0 0 0 1px var(--line-2)}
.fm2-sw3-mode-btn:hover:not(.on){color:var(--text-1)}
/* Header row: title block left, mode switch right; quiet fee-fact badges */
.sw3-headrow{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.sw3-head-l{min-width:0}
.sw3-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--up,#22c55e);box-shadow:0 0 0 4px rgba(34,197,94,.16);margin-right:9px;vertical-align:1px}
.fm2-sw3-facts{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.sw3-fact{font-family:var(--f-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:7px;padding:5px 10px;color:var(--text-3);background:var(--ink-3);border:1px solid var(--line-1)}
.sw3-fact.green{color:#22c55e;background:rgba(34,197,94,.07);border-color:rgba(34,197,94,.24)}
.fm2-sw3-sub:empty{display:none}
/* Step-1 control row: search first, scan/upload beside it */
.sw3-ctrlrow{display:flex;gap:10px;margin-bottom:4px}
.sw3-search{flex:1;min-width:200px;position:relative;display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border-radius:12px;background:var(--ink-3);border:1px solid var(--line-2)}
.sw3-search:focus-within{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
.sw3-search .sw3-search-in{flex:1;min-width:0;background:none;border:none;height:100%;font-size:14px;color:var(--text-1);outline:none;box-shadow:none;padding:0;border-radius:0}
.sw3-search .sw3-search-in:focus{border:none;box-shadow:none}
.sw3-kbd{font-family:var(--f-mono);font-size:10px;border:1px solid var(--line-1);border-radius:5px;padding:1px 6px;color:var(--text-3);flex:none}
.sw3-search .cac{top:48px}
/* Matched-card state — green-tinted confirmation row */
.card-preview-strip.sw3-matched.show{display:flex;align-items:center;gap:16px;background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.24);border-radius:13px;padding:13px 16px}
.sw3-matched .cps-img{width:46px;height:64px}
.sw3-matched-namerow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.sw3-matched .cps-name{margin-bottom:0}
.sw3-okbadge{font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#22c55e;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.27);border-radius:6px;padding:2px 8px;flex:none}
.sw3-change{margin-left:auto;align-self:center;background:none;border:none;cursor:pointer;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);flex:none;padding:6px 2px;transition:color .15s}
.sw3-change:hover{color:var(--text-1)}
.sw3-help{font-family:var(--f-ui);font-size:12px;color:var(--text-3);align-self:center;min-width:0}
.sw3-publish{width:auto;flex:none;padding:12px 26px}

.fm2-sw3-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start;margin-top:28px}
@media(max-width:1100px){
  .fm2-sw3-grid{grid-template-columns:1fr;gap:18px}
  /* Mobile: preview + competition render BELOW the form — user fills fields first.
     Compact empty-state (no 460px hero card) so they don't dominate the scroll. */
  .fm2-sw3-right{position:static;order:0}
  .fm2-sw3-preview{min-height:0;padding:16px;border-radius:var(--r-3)}
  .fm2-sw3-preview-card{width:160px;margin:0 auto}
  .fm2-sw3-preview-empty{font-size:12px}
  .fm2-sw3-preview-empty .ico{font-size:32px;margin-bottom:6px}
  .fm2-sw3-preview-name{font-size:15px}
}

.fm2-sw3-left{display:flex;flex-direction:column;gap:18px;min-width:0}
.fm2-sw3-steps{display:flex;flex-direction:column;gap:16px}
.fm2-sw3-step{display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:start;cursor:pointer;padding:4px 0;transition:opacity .15s}
.fm2-sw3-step[data-disabled="1"]{opacity:.45;cursor:not-allowed}
.fm2-sw3-step-num{width:28px;height:28px;border-radius:50%;background:var(--ink-3);border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:11px;font-weight:600;color:var(--text-3);transition:all .15s;flex-shrink:0}
.fm2-sw3-step.done .fm2-sw3-step-num{background:var(--up);border-color:var(--up);color:#051709}
.fm2-sw3-step.done .fm2-sw3-step-num::after{content:'✓';font-size:13px;font-weight:700}
.fm2-sw3-step.done .fm2-sw3-step-num-val{display:none}
.fm2-sw3-step.active .fm2-sw3-step-num{background:var(--sky);border-color:var(--sky);color:#fff;box-shadow:0 0 0 4px var(--sky-sub)}
.fm2-sw3-step-body{padding-top:2px}
.fm2-sw3-step-title{font-family:var(--f-display);font-size:16px;font-weight:500;letter-spacing:-.01em;color:var(--text-3)}
.fm2-sw3-step.done .fm2-sw3-step-title,.fm2-sw3-step.active .fm2-sw3-step-title{color:var(--text-1)}
.fm2-sw3-step-sub{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;margin-top:2px}
.fm2-sw3-step-value{font-family:var(--f-mono);font-size:10px;color:var(--sky-1);letter-spacing:.03em;margin-top:2px}
.fm2-sw3-step.active .fm2-sw3-step-sub{color:var(--text-2)}

.fm2-sw3-panel{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:22px 24px;box-shadow:var(--shadow-card);margin-left:46px;margin-top:-2px}
@media(max-width:720px){.fm2-sw3-panel{margin-left:0;padding:18px}}
.fm2-sw3-panel-title{font-family:var(--f-display);font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);margin:0 0 16px}
.fm2-sw3-panel-sub{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;margin:-12px 0 16px;line-height:1.6}

/* Condition pills */
.fm2-sw3-cond-pills{display:flex;flex-wrap:wrap;gap:8px}
.fm2-sw3-cond-pill{padding:10px 18px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);color:var(--text-2);font-family:var(--f-ui);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.fm2-sw3-cond-pill:hover{border-color:var(--line-2);color:var(--text-1)}
.fm2-sw3-cond-pill.on{background:var(--sky-sub);border-color:var(--sky);color:var(--sky-1)}

/* Price step — big input with € prefix */
.fm2-sw3-price-row{position:relative;margin-bottom:16px}
.fm2-sw3-price-input{width:100%;padding:22px 20px 22px 52px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-3);color:var(--text-1);font-family:var(--f-display);font-size:36px;font-weight:500;letter-spacing:-.02em;outline:none;transition:all .15s;font-feature-settings:"tnum"}
.fm2-sw3-price-input:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
.fm2-sw3-price-prefix{position:absolute;left:22px;top:50%;transform:translateY(-50%);font-family:var(--f-display);font-size:28px;color:var(--text-3);pointer-events:none}
.fm2-sw3-price-meta{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;text-align:right;pointer-events:none}
@media(max-width:560px){.fm2-sw3-price-meta{position:static;transform:none;text-align:left;margin-top:6px;display:block}}

/* Fee breakdown table */
.fm2-sw3-fee{background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);padding:14px 18px;margin-bottom:14px}
.fm2-sw3-fee-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-family:var(--f-ui);font-size:13px;border-bottom:1px solid var(--line-1)}
.fm2-sw3-fee-row:last-child{border-bottom:none}
.fm2-sw3-fee-row .k{color:var(--text-2);letter-spacing:.01em}
.fm2-sw3-fee-row .v{font-family:var(--f-mono);color:var(--text-1);font-feature-settings:"tnum"}
.fm2-sw3-fee-row.neg .v{color:var(--down)}
.fm2-sw3-fee-row.grand{padding-top:10px;margin-top:4px;border-top:1px solid var(--line-2);border-bottom:none}
.fm2-sw3-fee-row.grand .k{color:var(--text-1);font-family:var(--f-ui);font-weight:500}
.fm2-sw3-fee-row.grand .v{color:var(--up);font-size:16px;font-weight:600}

/* Insight chips below fee breakdown */
.fm2-sw3-insights{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}
.fm2-sw3-insight{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);font-family:var(--f-mono);font-size:11px;letter-spacing:.02em;background:var(--ink-3);border:1px solid var(--line-1);color:var(--text-2)}
.fm2-sw3-insight.good{background:var(--up-sub);color:var(--up);border-color:#22c55e44}
.fm2-sw3-insight.warn{background:var(--warn-sub);color:var(--warn);border-color:#f59e0b44}
.fm2-sw3-insight.info{background:var(--sky-sub);color:var(--sky-1);border-color:#0ea5e944}

/* Step nav buttons */
.fm2-sw3-nav{display:flex;gap:10px;margin-top:18px;align-items:center}
@media(max-width:720px){.fm2-sw3-nav{flex-wrap:wrap}.sw3-help{flex:0 0 100%;text-align:left}}
.fm2-sw3-nav-back{padding:12px 22px;background:var(--ink-3);border:1px solid var(--line-1);color:var(--text-2);border-radius:var(--r-2);font-family:var(--f-ui);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.fm2-sw3-nav-back:hover{background:var(--ink-4);color:var(--text-1);border-color:var(--line-2)}
.fm2-sw3-nav-next{flex:none;margin-left:auto;padding:12px 22px;background:var(--sky);border:1px solid var(--sky);color:#fff;border-radius:var(--r-2);font-family:var(--f-ui);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.fm2-sw3-nav-next:hover{background:var(--sky-1);border-color:var(--sky-1);box-shadow:0 10px 24px -10px var(--sky-glow)}
.fm2-sw3-nav-next.publish{background:var(--up);border-color:var(--up);color:#051709}
.fm2-sw3-nav-next.publish:hover{background:#16a34a;border-color:#16a34a}
.fm2-sw3-nav-next:disabled{opacity:.5;cursor:not-allowed;background:var(--ink-3);color:var(--text-3);border-color:var(--line-1)}

/* Pro tip banner */
.fm2-sw3-protip{margin-top:12px;margin-left:46px;padding:10px 14px;background:linear-gradient(135deg,rgba(251,191,36,.1),transparent);border:1px solid rgba(251,191,36,.3);border-radius:var(--r-2);font-family:var(--f-mono);font-size:11px;color:var(--text-2);letter-spacing:.02em;line-height:1.55}
@media(max-width:720px){.fm2-sw3-protip{margin-left:0}}
.fm2-sw3-protip b{color:#fde68a;font-weight:700;font-style:normal}
.fm2-sw3-protip a{color:var(--sky-1);text-decoration:none;font-weight:500;cursor:pointer}

/* Right column — card preview + competition */
.fm2-sw3-right{position:sticky;top:78px;display:flex;flex-direction:column;gap:14px}
.fm2-sw3-preview{position:relative;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-4);padding:22px;box-shadow:var(--shadow-card);min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fm2-sw3-preview-empty{text-align:center;color:var(--text-3);font-family:var(--f-mono);font-size:11px;letter-spacing:.03em;line-height:1.6}
.fm2-sw3-preview-empty .ico{font-size:48px;margin-bottom:12px;opacity:.5;display:block}
.fm2-sw3-preview-card{position:relative;width:220px;aspect-ratio:5/7;border-radius:var(--r-3);overflow:hidden;box-shadow:0 20px 50px -12px rgba(0,0,0,.5)}
.fm2-sw3-preview-card::before{content:'';position:absolute;inset:-2px;border-radius:var(--r-3);padding:2px;background:conic-gradient(from 0deg,#ec4899,#8b5cf6,#06b6d4,#22c55e,#fbbf24,#ec4899);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.9;animation:fm2-cd3-border 8s linear infinite;z-index:1;pointer-events:none}
.fm2-sw3-preview-card img{width:100%;height:100%;object-fit:cover;display:block}
.fm2-sw3-preview-chip{margin-top:18px;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-pill);background:var(--sky-sub);border:1px solid #0ea5e966;color:var(--sky-1);font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.fm2-sw3-preview-chip::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--sky);box-shadow:0 0 8px var(--sky)}
.fm2-sw3-preview-name{margin-top:12px;font-family:var(--f-display);font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);text-align:center}
.fm2-sw3-preview-sub{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em;margin-top:3px}

.fm2-sw3-comp{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:18px 20px;box-shadow:var(--shadow-card)}
.fm2-sw3-comp-title{font-family:var(--f-display);font-size:14px;font-weight:500;color:var(--text-1);margin:0 0 12px;letter-spacing:-.01em}
.fm2-sw3-comp-row{display:grid;grid-template-columns:auto auto 1fr auto;gap:12px;align-items:center;padding:8px 10px;border-radius:var(--r-2);font-family:var(--f-ui);font-size:13px;transition:background .12s}
.fm2-sw3-comp-row:hover{background:var(--ink-3)}
.fm2-sw3-comp-row.you{background:var(--sky-sub);border:1px solid #0ea5e966;margin:4px 0}
.fm2-sw3-comp-price{font-family:var(--f-mono);font-size:14px;font-weight:600;color:var(--text-1);font-feature-settings:"tnum"}
.fm2-sw3-comp-cond{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em}
.fm2-sw3-comp-seller{font-family:var(--f-ui);font-size:12px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm2-sw3-comp-you-chip{font-family:var(--f-mono);font-size:9px;padding:2px 7px;border-radius:var(--r-pill);background:var(--sky);color:#fff;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.fm2-sw3-comp-lang{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em}
.fm2-sw3-comp-empty{font-family:var(--f-ui);font-size:12px;color:var(--text-3);padding:8px 2px;line-height:1.5}
.fm2-sw3-comp-hint{margin-top:10px;padding:10px 12px;border-radius:var(--r-2);font-family:var(--f-ui);font-size:12px;line-height:1.5}
.fm2-sw3-comp-hint.good{background:var(--up-sub);color:var(--up);border:1px solid var(--up)}
.fm2-sw3-comp-hint.warn{background:var(--warn-sub);color:var(--warn);border:1px solid var(--warn)}

/* ── Sell Batch 2: 3-step stepper · rail payout card · publish-time Stripe
      note · live-preview badges · scan confirm-chips · mobile summary ── */
/* Horizontal stepper — bare circles + labels + tinted connector lines */
.fm2-sw3-stepper{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin-bottom:4px}
.fm2-sw3-stepper-seg{display:inline-flex;align-items:center;gap:9px;padding:4px 2px;background:none;border:none;cursor:pointer;min-width:0;transition:opacity .15s}
.fm2-sw3-stepper-seg+.fm2-sw3-stepper-seg::before{content:'';width:36px;height:1px;background:var(--line-1);margin:0 12px;flex:none;transition:background .15s}
.fm2-sw3-stepper-seg.active::before,.fm2-sw3-stepper-seg.done::before{background:color-mix(in srgb,var(--sky) 45%,transparent)}
.fm2-sw3-stepper-num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;flex-shrink:0;font-family:var(--f-mono);font-size:11px;font-weight:600;background:var(--ink-3);border:1px solid var(--line-2);color:var(--text-3);transition:all .15s}
.fm2-sw3-stepper-seg.active .fm2-sw3-stepper-num{background:var(--sky);border-color:var(--sky);color:#fff}
.fm2-sw3-stepper-seg.done .fm2-sw3-stepper-num{background:var(--up);border-color:var(--up);color:#051709}
.fm2-sw3-stepper-lbl{font-family:var(--f-ui);font-size:13px;font-weight:600;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-sw3-stepper-seg.active .fm2-sw3-stepper-lbl{color:var(--text-1)}
.fm2-sw3-stepper-seg.done .fm2-sw3-stepper-lbl{color:var(--text-2)}
@media(max-width:640px){.fm2-sw3-stepper-seg+.fm2-sw3-stepper-seg::before{width:14px;margin:0 6px}.fm2-sw3-stepper-lbl{font-size:11px;white-space:normal;line-height:1.2}}
.fm2-sw3-body .form-block{scroll-margin-top:76px}
.fm2-sw3-body .fm2-sw3-nav{margin-left:0;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-1)}
.fm2-sw3-body .fm2-sw3-nav .submit-btn{flex:1;margin-top:0}
.fm2-sw3-body .fm2-sw3-nav .fm2-sw3-nav-back{flex:0 0 auto}
.fm2-sw3-rail-eyebrow{font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:12px}
.fm2-sw3-railcard{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:16px 18px;box-shadow:var(--shadow-card)}
.fm2-sw3-railcard .fm2-sw3-rail-eyebrow{margin-bottom:8px}
.fm2-sw3-pv-badges{display:flex;gap:6px;margin-top:10px;justify-content:center;flex-wrap:wrap}
.fm2-sw3-pv-badges:empty{display:none}
.fm2-sw3-pv-price{font-family:var(--f-display);font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--text-1);margin-top:10px}
.fm2-sw3-pv-price:empty{display:none}
.fm2-sw3-pv-delta{font-family:var(--f-mono);font-size:11px;margin-top:2px;color:var(--text-3)}
.fm2-sw3-pv-delta:empty{display:none}
.fm2-sw3-pv-delta.good{color:var(--up)}
.fm2-sw3-pv-delta.warn{color:var(--warn)}
.fm2-sw3-stripenote{padding:12px 14px;border-radius:var(--r-3);background:var(--warn-sub);border:1px solid #f59e0b44;font-family:var(--f-body);font-size:12px;line-height:1.55;color:var(--text-2)}
.fm2-sw3-stripenote strong{color:var(--warn)}
.fm2-sw3-stripenote-link{display:inline-block;margin-top:6px;color:var(--sky-1);font-weight:600;cursor:pointer;text-decoration:none}
.fm2-sw3-stripenote-link:hover{text-decoration:underline}
#sell-chips{margin-bottom:14px}
.fm2-scanchips-head{font-size:12.5px;color:var(--text-2);margin-bottom:10px}
.fm2-scanchips{display:flex;flex-wrap:wrap;gap:8px}
.fm2-scanchip{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-ui);font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--ink-3);color:var(--text-2)}
.fm2-scanchip.ok{border-color:#22c55e40;background:var(--up-sub)}
.fm2-scanchip.confirm{border-color:#f59e0b55;background:var(--warn-sub);color:var(--warn);cursor:pointer;transition:border-color .15s}
.fm2-scanchip.confirm:hover{border-color:var(--warn)}
.fm2-scanchips-edit{margin-top:10px;background:none;border:none;padding:0;font-size:12px;color:var(--sky-1);cursor:pointer;text-decoration:underline}
.fm2-sw3-msum{display:none}
@media(max-width:1100px){
  .fm2-sw3-msum{display:flex;align-items:baseline;gap:8px;padding:12px 14px;margin-bottom:12px;border-radius:var(--r-2);background:var(--ink-3);border:1px solid var(--line-1)}
  .fm2-sw3-msum .k{font-size:12px;color:var(--text-2)}
  .fm2-sw3-msum .v{font-family:var(--f-display);font-size:18px;font-weight:600;color:var(--up)}
  .fm2-sw3-msum .sub{font-family:var(--f-mono);font-size:10px;color:var(--text-3);margin-left:auto;text-align:right}
}

/* Order tracking v3 — matches mockup Image #10 */
.fm2-od3-wrap{max-width:1200px;margin:0 auto;padding:28px 22px 60px}
.fm2-od3-crumbs{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.04em;margin-bottom:16px}
.fm2-od3-crumbs a{color:var(--text-2);text-decoration:none;cursor:pointer}
.fm2-od3-crumbs a:hover{color:var(--sky-1)}
.fm2-od3-crumbs .curr{color:var(--text-1)}
.fm2-od3-eyebrow{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.fm2-od3-headline{font-family:var(--f-display);font-size:56px;font-weight:400;letter-spacing:-.025em;line-height:1.05;color:var(--text-1);margin:0 0 10px}
.fm2-od3-headline em{font-style:italic;color:var(--sky-1);font-weight:500}
.fm2-od3-headline.paid em{color:var(--warn)}
.fm2-od3-headline.shipped em,.fm2-od3-headline.out em{color:var(--sky-1)}
.fm2-od3-headline.delivered em{color:var(--up)}
.fm2-od3-headline.cancelled em,.fm2-od3-headline.refunded em{color:var(--down)}
@media(max-width:720px){.fm2-od3-headline{font-size:40px}}
.fm2-od3-expected{font-family:var(--f-mono);font-size:12px;color:var(--text-3);letter-spacing:.04em;margin-bottom:36px}
.fm2-od3-progress{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:26px 22px;margin-bottom:28px;position:relative;box-shadow:var(--shadow-card)}
@media(max-width:560px){.fm2-od3-progress{padding:18px 10px;gap:4px}.fm2-od3-step-label{font-size:11px}.fm2-od3-step-date{font-size:9px}.fm2-od3-step+.fm2-od3-step::before{left:calc(-50% + 12px);right:calc(50% + 12px)}}
.fm2-od3-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:1}
.fm2-od3-step+.fm2-od3-step::before{content:'';position:absolute;top:12px;left:calc(-50% + 16px);right:calc(50% + 16px);height:2px;background:var(--line-2);z-index:0}
.fm2-od3-step.done+.fm2-od3-step::before{background:var(--up)}
.fm2-od3-step.done+.fm2-od3-step.active::before{background:linear-gradient(90deg,var(--up),var(--sky))}
.fm2-od3-step-dot{width:24px;height:24px;border-radius:50%;background:var(--ink-3);border:2px solid var(--line-2);position:relative;z-index:2;transition:all .2s}
.fm2-od3-step.done .fm2-od3-step-dot{background:var(--up);border-color:var(--up);box-shadow:0 0 0 4px rgba(34,197,94,.15)}
.fm2-od3-step.active .fm2-od3-step-dot{background:var(--sky);border-color:var(--sky);box-shadow:0 0 0 4px rgba(14,165,233,.2);animation:fm2-od3-pulse 2s ease-in-out infinite}
@keyframes fm2-od3-pulse{0%,100%{box-shadow:0 0 0 4px rgba(14,165,233,.2)}50%{box-shadow:0 0 0 8px rgba(14,165,233,.1)}}
.fm2-od3-step-label{font-family:var(--f-ui);font-size:13px;font-weight:500;color:var(--text-3);letter-spacing:.01em}
.fm2-od3-step.done .fm2-od3-step-label,.fm2-od3-step.active .fm2-od3-step-label{color:var(--text-1)}
.fm2-od3-step-date{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;min-height:14px}
.fm2-od3-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start}
@media(max-width:820px){.fm2-od3-grid{grid-template-columns:1fr}}
.fm2-od3-panel{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:22px 24px;box-shadow:var(--shadow-card)}
.fm2-od3-panel-title{font-family:var(--f-display);font-size:16px;font-weight:500;color:var(--text-1);margin:0 0 18px;letter-spacing:-.01em}
.fm2-od3-tl{display:grid;grid-template-columns:auto 1fr auto;gap:14px 18px;align-items:start}
.fm2-od3-tl-when{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em;padding-top:2px;white-space:nowrap}
.fm2-od3-tl-body{display:flex;flex-direction:column;gap:2px;padding-bottom:16px;border-bottom:1px solid var(--line-1);min-height:30px}
.fm2-od3-tl:last-child .fm2-od3-tl-body{border-bottom:none;padding-bottom:0}
.fm2-od3-tl-text{font-family:var(--f-ui);font-size:13px;color:var(--text-1);letter-spacing:.01em;line-height:1.45}
.fm2-od3-tl-meta{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.02em}
.fm2-od3-tl-now-chip{align-self:center;font-family:var(--f-mono);font-size:9px;padding:3px 10px;border-radius:var(--r-pill);background:var(--sky-sub);color:var(--sky-1);border:1px solid #0ea5e966;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-weight:600}
.fm2-od3-items{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.fm2-od3-item{display:flex;align-items:center;gap:12px;padding:10px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);cursor:pointer;transition:all .15s}
.fm2-od3-item:hover{border-color:var(--line-2);background:var(--ink-4)}
.fm2-od3-item-img{width:40px;height:56px;object-fit:cover;border-radius:var(--r-1);background:var(--ink-2);flex-shrink:0}
.fm2-od3-item-ph{width:40px;height:56px;background:var(--ink-2);border-radius:var(--r-1);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--text-3);flex-shrink:0}
.fm2-od3-item-body{flex:1;min-width:0}
.fm2-od3-item-name{font-family:var(--f-ui);font-size:13px;font-weight:500;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}
.fm2-od3-item-meta{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;margin-top:2px;display:flex;gap:6px;align-items:center}
.fm2-od3-item-price{font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--text-1);font-feature-settings:"tnum"}
.fm2-od3-item-panel-title{font-family:var(--f-display);font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);margin:0 0 12px;display:flex;justify-content:space-between;align-items:baseline}
.fm2-od3-item-panel-title span{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;font-weight:400}
.fm2-od3-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.fm2-od3-action-btn{width:100%;padding:11px 16px;border-radius:var(--r-2);font-family:var(--f-ui);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;letter-spacing:.01em;text-align:center;border:1px solid var(--line-2);background:var(--ink-3);color:var(--text-1);display:inline-flex;align-items:center;justify-content:center;gap:8px}
.fm2-od3-action-btn:hover{background:var(--ink-4);border-color:var(--line-hi)}
.fm2-od3-action-btn.primary{background:var(--sky);border-color:var(--sky);color:#fff}
.fm2-od3-action-btn.primary:hover{background:var(--sky-1);border-color:var(--sky-1)}
.fm2-od3-action-btn.warn{color:var(--warn);border-color:rgba(251,191,36,.4)}
.fm2-od3-action-btn.warn:hover{background:var(--warn-sub);border-color:var(--warn)}
.fm2-od3-payment{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;padding:14px 0 0;border-top:1px solid var(--line-1)}
.fm2-od3-payment-k{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}
.fm2-od3-payment-v{font-family:var(--f-mono);font-size:13px;color:var(--text-1);text-align:right;font-feature-settings:"tnum"}
.fm2-od3-payment-v.down{color:var(--down)}
.fm2-od3-payment-v.up{color:var(--up);font-size:14px;font-weight:600}
.fm2-od3-tracking{margin-top:14px;padding:12px 14px;background:linear-gradient(90deg,var(--sky-sub),transparent);border:1px solid #0ea5e944;border-radius:var(--r-2)}
.fm2-od3-tracking-label{font-family:var(--f-mono);font-size:9px;color:var(--text-3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.fm2-od3-tracking-num{font-family:var(--f-mono);font-size:13px;font-weight:500;color:var(--sky-1);letter-spacing:.02em;word-break:break-all}
.fm2-od3-addr{padding:12px 14px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);font-family:var(--f-ui);font-size:13px;color:var(--text-2);line-height:1.55}

/* Card detail v3 — premium 3-column layout matching the redesign mockup */
.fm2-cd3-wrap{max-width:1380px;margin:0 auto;padding:28px 22px 60px}
.fm2-cd3-crumbs-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:14px;flex-wrap:wrap}
.fm2-cd3-crumbs{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.04em}
.fm2-cd3-crumbs a{color:var(--text-2);text-decoration:none;cursor:pointer;transition:color .15s}
.fm2-cd3-crumbs a:hover{color:var(--sky-1)}
.fm2-cd3-crumbs .curr{color:var(--text-1)}
.fm2-cd3-hdr-actions{display:flex;gap:8px}
.fm2-cd3-hdr-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-2);color:var(--text-2);font-family:var(--f-ui);font-size:12px;cursor:pointer;transition:all .15s;font-weight:500;letter-spacing:.01em}
.fm2-cd3-hdr-btn:hover{border-color:var(--line-2);color:var(--text-1);background:var(--ink-3)}
.fm2-cd3-hdr-btn.on{background:var(--sky-sub);border-color:#0ea5e966;color:var(--sky-1)}

.fm2-cd3-layout{display:grid;grid-template-columns:300px 1fr 320px;gap:28px;align-items:start}
@media(max-width:1180px){.fm2-cd3-layout{grid-template-columns:280px 1fr;gap:22px}.fm2-cd3-rail{grid-column:1/-1;position:static;max-width:none}}
@media(max-width:820px){.fm2-cd3-layout{grid-template-columns:1fr}.fm2-cd3-left{position:static}}
/* Card detail v3.1 — price-story hero zones (art+details | identity+price+chart), then marketplace body */
.cdx-hero{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:40px;align-items:start;margin:6px 0 30px}
@media(max-width:860px){.cdx-hero{grid-template-columns:1fr;gap:24px}}
.cdx-art{display:flex;flex-direction:column;gap:18px;min-width:0;position:sticky;top:78px}
@media(max-width:860px){.cdx-art{position:static}}
.cdx-id{display:flex;flex-direction:column;gap:22px;min-width:0}
.cdx-body{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start;border-top:1px solid var(--line-1);padding-top:30px}
@media(max-width:1100px){.cdx-body{grid-template-columns:1fr}.cdx-body .fm2-cd3-rail{position:static;max-width:none}}
.cdx-main{display:flex;flex-direction:column;gap:28px;min-width:0}

.fm2-cd3-left{display:flex;flex-direction:column;gap:18px;position:sticky;top:78px}
.fm2-cd3-card-art{position:relative;aspect-ratio:5/7;border-radius:var(--r-4);overflow:hidden;background:linear-gradient(145deg,var(--ink-3),var(--ink-1));box-shadow:var(--shadow-float);cursor:grab}
.fm2-cd3-card-art::before{content:'';position:absolute;inset:-2px;padding:2px;border-radius:var(--r-4);background:conic-gradient(from 0deg,#ec4899,#8b5cf6,#06b6d4,#22c55e,#fbbf24,#ec4899);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.9;animation:fm2-cd3-border 8s linear infinite;pointer-events:none;z-index:1}
@keyframes fm2-cd3-border{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.fm2-cd3-card-art>img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:0}
/* The card image itself has the name + rarity printed — don't overlay extra text. */
.fm2-cd3-card-art-header,.fm2-cd3-card-art-footer{display:none}
.fm2-cd3-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.fm2-cd3-thumb{aspect-ratio:5/7;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-2);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:10px;color:var(--text-3);cursor:pointer;transition:all .15s;overflow:hidden}
.fm2-cd3-thumb.on{border-color:var(--sky);box-shadow:0 0 0 2px var(--sky-sub)}
.fm2-cd3-thumb:hover{border-color:var(--line-2)}
.fm2-cd3-thumb img{width:100%;height:100%;object-fit:cover}
.fm2-cd3-details{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:18px 20px;box-shadow:var(--shadow-card)}
.fm2-cd3-details-title{font-family:var(--f-display);font-size:14px;font-weight:500;color:var(--text-1);margin:0 0 14px;letter-spacing:-.01em}
.fm2-cd3-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}
@media(max-width:520px){.fm2-cd3-detail-grid{grid-template-columns:1fr;gap:10px}}
.fm2-cd3-detail-k{font-family:var(--f-mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:3px}
.fm2-cd3-detail-v{font-family:var(--f-ui);font-size:13px;color:var(--text-1);line-height:1.35}

.fm2-cd3-main{display:flex;flex-direction:column;gap:28px;min-width:0}
.fm2-cd3-eyebrow-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fm2-cd3-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-pill);background:var(--sky-sub);border:1px solid #0ea5e944;color:var(--sky-1);font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.fm2-cd3-trending{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--r-pill);background:linear-gradient(135deg,rgba(251,191,36,.22),rgba(239,68,68,.22));border:1px solid rgba(251,191,36,.45);color:#fde68a;font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.fm2-cd3-name{font-family:var(--f-display);font-size:56px;font-weight:500;letter-spacing:-.03em;line-height:1.02;color:var(--text-1);margin:14px 0 10px}
.fm2-cd3-name em{font-style:italic;font-weight:400;color:var(--text-3);font-size:.78em;margin-left:4px}
.fm2-cd3-sub{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.05em;text-transform:uppercase}
.fm2-cd3-sub span{color:var(--text-2)}

.fm2-cd3-market-row{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start;padding-top:22px;border-top:1px solid var(--line-1)}
.fm2-cd3-market-label{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:6px}
.fm2-cd3-market-big{font-family:var(--f-display);font-size:56px;font-weight:500;letter-spacing:-.025em;color:var(--text-1);line-height:1;font-feature-settings:"tnum"}
.fm2-cd3-market-trend{font-family:var(--f-mono);font-size:12px;margin-top:10px;letter-spacing:.02em}
.fm2-cd3-market-trend.up{color:var(--up)}
.fm2-cd3-market-trend.down{color:var(--down)}
.fm2-cd3-market-trend.flat{color:var(--text-3)}
.fm2-cd3-stats-grid{display:grid;grid-template-columns:repeat(2,auto);gap:16px 36px;padding-top:4px}
.fm2-cd3-stat-lbl{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:4px}
.fm2-cd3-stat-val{font-family:var(--f-display);font-size:22px;font-weight:500;color:var(--text-1);letter-spacing:-.015em;font-feature-settings:"tnum"}
/* ── Price Hero (money-story focal block) ── */
.cdh{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sky-sub),transparent 60%),var(--ink-2);border:1px solid #0ea5e966;border-radius:18px;padding:24px 26px 26px;box-shadow:var(--shadow-card)}
.cdh-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 40px;align-items:end}
.cdh-lab{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}
.cdh-num{font-family:var(--f-display);font-size:56px;font-weight:500;line-height:.9;letter-spacing:-.025em;color:var(--text-1);font-feature-settings:"tnum"}
.cdh-trend{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-family:var(--f-mono);font-size:12px;color:var(--up)}
.cdh-trend.down{color:#e0a83a}
.cdh-range{align-self:end;padding-bottom:4px;min-width:0}
.cdh-range-scale{display:flex;align-items:baseline;justify-content:space-between;font-family:var(--f-mono);margin-bottom:9px}
.cdh-ek{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.cdh-ev{font-size:15px;color:var(--text-1);font-weight:600;margin-left:6px}
.cdh-track{position:relative;height:8px;border-radius:999px;background:var(--ink-3);border:1px solid var(--line-1)}
.cdh-fill{position:absolute;top:0;bottom:0;left:0;border-radius:999px;background:linear-gradient(90deg,var(--up),var(--sky-1));opacity:.9}
.cdh-avgmark{position:absolute;top:-5px;width:2px;height:18px;background:var(--text-1);border-radius:2px;transform:translateX(-50%)}
.cdh-avgmark::after{content:"AVG";position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);font-family:var(--f-mono);font-size:8.5px;letter-spacing:.08em;color:var(--text-2)}
.cdh-you{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:var(--up);border:2.5px solid var(--ink-1);box-shadow:0 0 0 1px var(--up),0 0 12px var(--up)}
.cdh-youlab{position:absolute;top:22px;transform:translateX(-50%);font-family:var(--f-mono);font-size:9.5px;letter-spacing:.06em;color:var(--up);white-space:nowrap}
.cdh-insight{display:flex;gap:12px;margin-top:26px;padding:14px 16px;border-radius:12px;background:var(--sky-sub);border:1px solid #0ea5e966}
.cdh-insight .ic{font-size:16px;line-height:1.4;flex:none}
.cdh-insight p{margin:0;font-size:14px;line-height:1.5;color:var(--text-1);font-family:var(--f-ui)}
.cdh-insight b{color:var(--text-1);font-weight:700}
.cdh-insight .pct{color:#e0a83a;font-weight:700}
.cdh-actions{display:flex;gap:12px;margin-top:18px}
.cdh-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;border-radius:12px;font-weight:600;font-size:15px;letter-spacing:-.01em;transition:.15s;border:1px solid transparent;cursor:pointer;font-family:var(--f-ui)}
.cdh-btn-primary{background:var(--sky-1);color:#06121a}
.cdh-btn-primary:hover{filter:brightness(1.07)}
.cdh-btn-secondary{background:var(--ink-3);border-color:var(--line-1);color:var(--text-1)}
.cdh-btn-secondary:hover{background:var(--ink-5)}
.cdh-statstrip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-1);margin-top:16px}
.cdh-st{padding:14px 18px;border-right:1px solid var(--line-1)}
.cdh-st:last-child{border-right:0}
.cdh-st .k{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}
.cdh-st .v{font-family:var(--f-display);font-size:24px;font-weight:500;line-height:1;color:var(--text-1)}
.cdh-st .v.acc{color:var(--sky-1)}
@media(max-width:680px){.cdh-grid{grid-template-columns:1fr;gap:26px}.cdh-actions{flex-direction:column}.cdh-statstrip{grid-template-columns:repeat(2,1fr)}.cdh-st:nth-child(2){border-right:0}}

.fm2-cd3-chart-block{padding-top:8px}
.fm2-cd3-chart-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.fm2-cd3-chart-title{font-family:var(--f-display);font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--text-1)}
.fm2-cd3-chart-wrap{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:18px;box-shadow:var(--shadow-card)}
.fm2-cd3-time-toggle{display:inline-flex;gap:2px;padding:2px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2)}
.fm2-cd3-time-toggle button{padding:5px 12px;background:transparent;border:none;color:var(--text-3);font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.04em;cursor:pointer;border-radius:6px;transition:all .15s}
.fm2-cd3-time-toggle button.on{background:var(--ink-5);color:var(--text-1)}
/* Prominent full-width price-history chart + empty-state placeholder */
.fm2-cd3-chart-block .fm2-cd3-chart-wrap{min-height:316px;display:flex;flex-direction:column;justify-content:center}
.fm2-cd3-chart-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:280px;text-align:center;font-family:var(--f-mono);font-size:12px;color:var(--text-2);letter-spacing:.03em}
.fm2-cd3-chart-ph span{font-size:10px;color:var(--text-3);max-width:280px;line-height:1.5}

.fm2-cd3-ltable-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;gap:10px;flex-wrap:wrap}
.fm2-cd3-ltable-title{font-family:var(--f-display);font-size:22px;font-weight:500;letter-spacing:-.015em;color:var(--text-1)}
.fm2-cd3-ltable{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);overflow:hidden;box-shadow:var(--shadow-card)}
/* 3-column layout: seller (+ inline condition chip) | price (+ ship sub) |
   actions. Meta that used to live in its own column (lang, qty, ship) is
   absorbed into the seller sub-row + price sub-row. Always fits 480px+. */
.fm2-cd3-ltable-head,.fm2-cd3-ltable-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 16px}
.fm2-cd3-ltable-head{background:var(--ink-1);border-bottom:1px solid var(--line-1);font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-weight:500}
.fm2-cd3-ltable-row{border-bottom:1px solid var(--line-1);transition:background .12s}
.fm2-cd3-ltable-row:last-child{border-bottom:none}
.fm2-cd3-ltable-row:hover{background:var(--ink-3)}
.fm2-cd3-ltable-seller{display:flex;align-items:center;gap:10px;min-width:0}
.fm2-cd3-ltable-seller-dot{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--sky),#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:10px;font-weight:700;flex-shrink:0}
.fm2-cd3-ltable-seller-body{min-width:0}
.fm2-cd3-ltable-seller-name{font-family:var(--f-ui);font-size:13px;color:var(--text-1);display:flex;align-items:center;gap:6px;font-weight:500}
.fm2-cd3-ltable-seller-sub{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.04em;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm2-cd3-ltable-cond,.fm2-cd3-ltable-lang,.fm2-cd3-ltable-qty{font-family:var(--f-mono);font-size:11px;color:var(--text-2);letter-spacing:.03em}
.fm2-cd3-ltable-ship{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.02em;line-height:1.45;display:flex;align-items:center;gap:6px}
.fm2-cd3-ltable-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fm2-cd3-ltable-meta-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-pill);background:var(--ink-3);border:1px solid var(--line-1);font-family:var(--f-mono);font-size:10px;color:var(--text-2);letter-spacing:.04em;white-space:nowrap}
.fm2-cd3-ltable-meta-ship{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.02em;white-space:nowrap}
.fm2-cd3-ltable-mine-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--r-pill);background:rgba(6,182,212,.18);border:1px solid rgba(6,182,212,.4);color:#22d3ee;font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.fm2-cd3-ltable-price{font-family:var(--f-mono);font-size:16px;font-weight:600;color:var(--text-1);text-align:right;font-feature-settings:"tnum";line-height:1.1}
.fm2-cd3-ltable-price-sub{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.02em;margin-top:2px;text-align:right}
.fm2-cd3-ltable-total{font-family:var(--f-mono);font-size:12px;color:var(--text-3);text-align:right;font-feature-settings:"tnum"}
.fm2-cd3-ltable-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:nowrap}
.fm2-cd3-ltable-buy{background:var(--sky);color:#fff;border:1px solid var(--sky);padding:6px 14px;border-radius:var(--r-2);cursor:pointer;font-family:var(--f-ui);font-size:11px;font-weight:500;transition:all .15s;letter-spacing:.01em;white-space:nowrap}
.fm2-cd3-ltable-buy:hover{background:var(--sky-1);border-color:var(--sky-1)}
.fm2-cd3-ltable-offer{background:transparent;color:var(--text-2);border:1px solid var(--line-2);padding:6px 12px;border-radius:var(--r-2);cursor:pointer;font-family:var(--f-ui);font-size:11px;transition:all .15s;white-space:nowrap}
.fm2-cd3-ltable-offer:hover{border-color:var(--warn);color:var(--warn)}
.fm2-cd3-ltable-edit{background:transparent;color:var(--sky-1);border:1px solid #0ea5e966;padding:6px 12px;border-radius:var(--r-2);cursor:pointer;font-family:var(--f-ui);font-size:11px;transition:all .15s;white-space:nowrap}
.fm2-cd3-ltable-edit:hover{background:var(--sky-sub)}
/* Narrow viewports — stack actions below seller+price */
@media(max-width:560px){
  .fm2-cd3-ltable-head{display:none}
  .fm2-cd3-ltable-row{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:8px 14px;padding:12px 14px}
  .fm2-cd3-ltable-row .fm2-cd3-ltable-seller{grid-column:1/2;grid-row:1}
  .fm2-cd3-ltable-row .fm2-cd3-ltable-price{grid-column:2/3;grid-row:1;text-align:right;justify-self:end}
  .fm2-cd3-ltable-row .fm2-cd3-ltable-actions{grid-column:1/-1;grid-row:2;justify-self:stretch}
  .fm2-cd3-ltable-row .fm2-cd3-ltable-actions>*{flex:1;text-align:center}
}
.fm2-cd3-best-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--r-pill);background:var(--up-sub);border:1px solid #22c55e40;color:var(--up);font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.fm2-cd3-pro-chip{display:inline-flex;align-items:center;padding:1px 6px;border-radius:3px;background:linear-gradient(135deg,rgba(251,191,36,.25),rgba(251,191,36,.1));border:1px solid rgba(251,191,36,.45);color:#fde68a;font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:820px){
  .fm2-cd3-ltable-head,.fm2-cd3-ltable-row{grid-template-columns:1fr auto auto;gap:8px;padding:11px 12px}
  .fm2-cd3-ltable-head>*:nth-child(2),.fm2-cd3-ltable-head>*:nth-child(3),.fm2-cd3-ltable-head>*:nth-child(4),.fm2-cd3-ltable-head>*:nth-child(5),.fm2-cd3-ltable-head>*:nth-child(7){display:none}
  .fm2-cd3-ltable-row>*:nth-child(2),.fm2-cd3-ltable-row>*:nth-child(3),.fm2-cd3-ltable-row>*:nth-child(4),.fm2-cd3-ltable-row>*:nth-child(5),.fm2-cd3-ltable-row>*:nth-child(7){display:none}
}

.fm2-cd3-recent-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.fm2-cd3-recent-title{font-family:var(--f-display);font-size:22px;font-weight:500;letter-spacing:-.015em;color:var(--text-1)}
.fm2-cd3-recent-more{font-family:var(--f-mono);font-size:10px;color:var(--sky-1);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;text-decoration:none}
.fm2-cd3-recent-more:hover{color:var(--sky-2)}
.fm2-cd3-recent-table{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);overflow:hidden}
.fm2-cd3-recent-head,.fm2-cd3-recent-row{display:grid;grid-template-columns:100px 60px 1fr 120px;gap:14px;align-items:center;padding:11px 16px}
.fm2-cd3-recent-head{background:var(--ink-1);border-bottom:1px solid var(--line-1);font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}
.fm2-cd3-recent-row{border-bottom:1px solid var(--line-1);font-size:13px}
.fm2-cd3-recent-row:last-child{border-bottom:none}
.fm2-cd3-recent-when{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em}
.fm2-cd3-recent-cond{font-family:var(--f-mono);font-size:11px;color:var(--text-2)}
.fm2-cd3-recent-seller{font-family:var(--f-ui);font-size:13px;color:var(--text-1)}
.fm2-cd3-recent-sold{font-family:var(--f-mono);font-size:14px;font-weight:600;color:var(--text-1);text-align:right;font-feature-settings:"tnum"}

.fm2-cd3-rail{position:sticky;top:78px;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:18px 20px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:16px}
.fm2-cd3-rail-label{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:6px}
.fm2-cd3-rail-price-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.fm2-cd3-rail-price-big{font-family:var(--f-display);font-size:38px;font-weight:500;color:var(--text-1);letter-spacing:-.02em;line-height:1;font-feature-settings:"tnum"}
.fm2-cd3-rail-delta{font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.02em}
.fm2-cd3-rail-ship{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;display:flex;align-items:center;gap:6px;margin-top:6px}
.fm2-cd3-rail-cond-toggle{display:flex;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);padding:2px;gap:2px}
.fm2-cd3-rail-cond-toggle button{flex:1;padding:8px;background:transparent;border:none;color:var(--text-3);font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.04em;cursor:pointer;border-radius:6px;transition:all .15s}
.fm2-cd3-rail-cond-toggle button.on{background:var(--ink-5);color:var(--text-1)}
.fm2-cd3-rail-qty{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);padding:4px}
.fm2-cd3-rail-qty-btn{width:32px;height:32px;background:transparent;border:none;color:var(--text-1);font-size:16px;cursor:pointer;border-radius:var(--r-1);transition:all .12s;font-family:var(--f-ui)}
.fm2-cd3-rail-qty-btn:hover{background:var(--ink-4)}
.fm2-cd3-rail-qty-val{font-family:var(--f-mono);font-size:16px;font-weight:600;color:var(--text-1);flex:1;text-align:center}
.fm2-cd3-rail-qty-avail{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em}
.fm2-cd3-rail-buy{width:100%;padding:14px;background:var(--sky);color:#fff;border:1px solid var(--sky);border-radius:var(--r-2);font-family:var(--f-ui);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.fm2-cd3-rail-buy:hover{background:var(--sky-1);border-color:var(--sky-1);box-shadow:0 10px 24px -10px var(--sky-glow)}
.fm2-cd3-rail-buy:disabled{opacity:.5;cursor:not-allowed;background:var(--ink-3);border-color:var(--line-1);color:var(--text-3)}
.fm2-cd3-rail-alt{width:100%;padding:11px;background:transparent;border:1px solid var(--line-2);color:var(--text-1);border-radius:var(--r-2);font-family:var(--f-ui);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px}
.fm2-cd3-rail-alt:hover{border-color:var(--line-hi);background:var(--ink-3)}
.fm2-cd3-rail-trust{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--line-1)}
.fm2-cd3-rail-trust-row{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.02em}
.fm2-cd3-rail-trust-row svg,.fm2-cd3-rail-trust-row .ico{font-size:12px;opacity:.85}
.fm2-cd3-rail-seller{display:flex;align-items:center;gap:10px;padding:12px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);cursor:pointer;transition:all .15s;margin-top:4px}
.fm2-cd3-rail-seller:hover{border-color:var(--line-2);background:var(--ink-4)}
.fm2-cd3-rail-seller-av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--sky),#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:11px;font-weight:700;flex-shrink:0}
.fm2-cd3-rail-seller-body{flex:1;min-width:0}
.fm2-cd3-rail-seller-name{font-family:var(--f-ui);font-size:13px;font-weight:500;color:var(--text-1);display:flex;align-items:center;gap:6px}
.fm2-cd3-rail-seller-stats{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.04em;margin-top:2px}
.fm2-cd3-rail-seller-msg{color:var(--text-3);font-size:16px}

/* Set detail v3 — huge Fraunces headline + chase floats + rarity-border tiles */
.fm2-sd3-wrap{max-width:1380px;margin:0 auto;padding:24px 22px 60px}
.fm2-sd3-crumbs{font-family:var(--f-mono);font-size:11px;color:var(--text-3);margin-bottom:24px;letter-spacing:.04em}
.fm2-sd3-crumbs a{color:var(--text-2);text-decoration:none;cursor:pointer}
.fm2-sd3-crumbs a:hover{color:var(--sky-1)}
.fm2-sd3-crumbs .curr{color:var(--text-1)}

.fm2-sd3-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;margin-bottom:48px;position:relative;min-height:440px;padding:20px 0 40px}
.fm2-sd3-hero::before{content:'';position:absolute;inset:-40px -40px auto -40px;height:520px;background:radial-gradient(ellipse at 30% 40%,var(--hero-glow,rgba(139,92,246,.15)),transparent 60%),radial-gradient(ellipse at 80% 30%,rgba(14,165,233,.1),transparent 50%);pointer-events:none;z-index:0}
@media(max-width:1100px){.fm2-sd3-hero{grid-template-columns:1fr;gap:28px;min-height:auto}}
.fm2-sd3-hero-body{position:relative;z-index:1}
.fm2-sd3-hero-eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;color:var(--warn);text-transform:uppercase;margin-bottom:14px}
.fm2-sd3-hero-name{font-family:var(--f-display);font-size:96px;font-weight:400;letter-spacing:-.035em;line-height:.92;color:var(--text-1);margin:0 0 24px}
@media(max-width:1100px){.fm2-sd3-hero-name{font-size:72px}}
@media(max-width:720px){.fm2-sd3-hero-name{font-size:56px}}
.fm2-sd3-hero-desc{font-family:var(--f-ui);font-size:15px;line-height:1.6;color:var(--text-2);max-width:560px;margin-bottom:32px}
.fm2-sd3-hero-statrow{display:flex;gap:40px;align-items:baseline;margin-bottom:30px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line-1)}
.fm2-sd3-hero-stat-val{font-family:var(--f-display);font-size:30px;font-weight:500;letter-spacing:-.02em;color:var(--text-1);line-height:1}
.fm2-sd3-hero-stat-val.trend{color:var(--up)}
.fm2-sd3-hero-stat-lbl{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-top:4px}
.fm2-sd3-hero-ctas{display:flex;gap:10px;flex-wrap:wrap}
.fm2-sd3-hero-cta-primary{padding:12px 22px;background:#fff;color:var(--ink-0);border:1px solid #fff;border-radius:var(--r-2);font-family:var(--f-ui);font-weight:500;font-size:13px;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.fm2-sd3-hero-cta-primary:hover{background:var(--text-1);transform:translateY(-1px);box-shadow:0 10px 30px -10px rgba(255,255,255,.3)}
.fm2-sd3-hero-cta-outline{padding:12px 22px;background:transparent;color:var(--text-1);border:1px solid var(--line-3);border-radius:var(--r-2);font-family:var(--f-ui);font-weight:500;font-size:13px;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.fm2-sd3-hero-cta-outline:hover{background:var(--ink-3);border-color:var(--line-hi)}

/* Hero chase-card float — 3 stylized cards arranged right of headline */
.fm2-sd3-hero-floats{position:relative;z-index:1;min-height:440px;display:flex;align-items:center;justify-content:center}
@media(max-width:1100px){.fm2-sd3-hero-floats{min-height:320px}}
.fm2-sd3-float{position:absolute;width:200px;aspect-ratio:5/7;border-radius:var(--r-4);overflow:hidden;box-shadow:0 24px 64px -16px rgba(0,0,0,.5),0 8px 24px -8px rgba(0,0,0,.4);transition:transform .3s ease}
.fm2-sd3-float::before{content:'';position:absolute;inset:-1px;border-radius:var(--r-4);padding:1px;background:linear-gradient(145deg,rgba(236,72,153,.7),rgba(139,92,246,.7),rgba(6,182,212,.7));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}
.fm2-sd3-float-1{left:4%;top:6%;transform:rotate(-8deg);z-index:1}
.fm2-sd3-float-2{left:30%;top:0;transform:rotate(0deg);z-index:3}
.fm2-sd3-float-3{right:8%;top:10%;transform:rotate(6deg);z-index:2}
.fm2-sd3-float:hover{transform:translateY(-8px) rotate(0deg);z-index:5}
.fm2-sd3-float img{width:100%;height:100%;object-fit:cover}
.fm2-sd3-float-header{position:absolute;top:8px;left:10px;right:10px;z-index:2;display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:10px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.fm2-sd3-float-footer{position:absolute;bottom:8px;left:10px;z-index:2;font-family:var(--f-mono);font-size:9px;color:rgba(255,255,255,.7)}
/* Sealed-product ETB featured card */
.fm2-sd3-sealed-float{position:absolute;left:14%;bottom:-10px;z-index:4;width:220px;background:linear-gradient(135deg,#fb923c,#e11d48);border-radius:var(--r-3);padding:16px;box-shadow:0 20px 50px -12px rgba(251,146,60,.4);cursor:pointer;transition:transform .2s}
.fm2-sd3-sealed-float:hover{transform:translateY(-3px)}
.fm2-sd3-sealed-float-eyebrow{font-family:var(--f-mono);font-size:9px;color:rgba(255,255,255,.85);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.fm2-sd3-sealed-float-name{font-family:var(--f-display);font-size:18px;font-weight:500;color:#fff;letter-spacing:-.01em;line-height:1.15;margin-bottom:6px}
.fm2-sd3-sealed-float-meta{font-family:var(--f-mono);font-size:10px;color:rgba(255,255,255,.9);letter-spacing:.03em}
/* Mobile: the fanned absolute floats collide on narrow screens — restack into a
   clean non-overlapping row of mini chase cards + a full-width sealed banner. */
@media(max-width:720px){
  .fm2-sd3-hero-floats{position:static;min-height:auto;flex-wrap:wrap;gap:10px;justify-content:center;padding:4px 0 2px}
  .fm2-sd3-float{position:relative;transform:none!important;width:calc(33.333% - 7px);max-width:118px}
  .fm2-sd3-float-1,.fm2-sd3-float-2,.fm2-sd3-float-3{left:auto;right:auto;top:auto}
  .fm2-sd3-float:hover{transform:translateY(-4px)!important}
  .fm2-sd3-sealed-float{position:static;left:auto;bottom:auto;width:100%;max-width:none;margin-top:2px}
}

.fm2-sd3-filter-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap}
.fm2-sd3-filter-pills{display:flex;gap:6px;flex-wrap:wrap}
.fm2-sd3-fp{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--r-pill);font-family:var(--f-ui);font-size:12px;font-weight:500;background:var(--ink-2);color:var(--text-2);border:1px solid var(--line-1);cursor:pointer;transition:all .15s;letter-spacing:.01em}
.fm2-sd3-fp:hover{border-color:var(--line-2);color:var(--text-1)}
.fm2-sd3-fp.on{background:#fff;color:var(--ink-0);border-color:#fff}
.fm2-sd3-fp-count{opacity:.6;font-family:var(--f-mono);font-size:11px}
.fm2-sd3-fp.on .fm2-sd3-fp-count{opacity:.7}
.fm2-sd3-sort{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-2);color:var(--text-2);font-family:var(--f-mono);font-size:11px;cursor:pointer;letter-spacing:.03em;outline:none}

/* Set cards grid — rarity-colored neon borders */
.fm2-sd3-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.fm2-sd3-tile{position:relative;background:var(--ink-2);border-radius:var(--r-3);overflow:hidden;cursor:pointer;transition:all .2s;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.fm2-sd3-tile::before{content:'';position:absolute;inset:0;padding:2px;border-radius:var(--r-3);background:var(--tile-border,linear-gradient(145deg,var(--line-2),var(--line-1)));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
.fm2-sd3-tile:hover{transform:translateY(-4px);box-shadow:0 20px 48px -12px rgba(0,0,0,.5)}
.fm2-sd3-tile.rar-SAR,.fm2-sd3-tile.rar-SIR{--tile-border:linear-gradient(145deg,#f9a8d4,#a78bfa,#22d3ee)}
.fm2-sd3-tile.rar-IR{--tile-border:linear-gradient(145deg,#c084fc,#e879f9)}
.fm2-sd3-tile.rar-UR{--tile-border:linear-gradient(145deg,#fbbf24,#f59e0b)}
.fm2-sd3-tile.rar-HR{--tile-border:linear-gradient(145deg,#fb923c,#f97316)}
.fm2-sd3-tile.rar-SR{--tile-border:linear-gradient(145deg,#a78bfa,#6366f1)}
.fm2-sd3-tile.rar-RR{--tile-border:linear-gradient(145deg,#60a5fa,#3b82f6)}
.fm2-sd3-tile.rar-ACE{--tile-border:linear-gradient(145deg,#f87171,#ef4444)}
.fm2-sd3-tile-art{aspect-ratio:5/7;background:linear-gradient(145deg,var(--ink-3),var(--ink-0));position:relative;overflow:hidden;margin:0}
.fm2-sd3-tile-art img{width:100%;height:100%;object-fit:cover}
.fm2-sd3-tile-art-header{position:absolute;top:10px;left:12px;right:12px;z-index:2;display:flex;justify-content:space-between;align-items:center;font-family:var(--f-mono);font-size:10px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.fm2-sd3-tile-rb{padding:3px 8px;border-radius:4px;font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.fm2-sd3-tile-footer{position:absolute;bottom:10px;left:12px;z-index:2;font-family:var(--f-mono);font-size:9px;color:rgba(255,255,255,.75);letter-spacing:.04em}
.fm2-sd3-tile-body{padding:14px 16px;position:relative;z-index:2}
.fm2-sd3-tile-name{font-family:var(--f-display);font-size:17px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-sd3-tile-meta{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.04em;margin-bottom:10px;display:flex;gap:6px;align-items:center}
.fm2-sd3-tile-meta span{color:var(--text-3)}
.fm2-sd3-tile-price-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.fm2-sd3-tile-price{font-family:var(--f-mono);font-size:20px;font-weight:600;color:var(--text-1);letter-spacing:-.015em;font-feature-settings:"tnum"}
.fm2-sd3-tile-trend{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.02em}
.fm2-sd3-tile-seller-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-1);font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em}
.fm2-sd3-tile-seller-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}
/* Mobile: the 220px min-col forces a single giant column on phones (one full-size
   tile per row → endless scroll). Drop to a tight 2-up grid with compact tiles. */
@media(max-width:560px){
  .fm2-sd3-grid{grid-template-columns:repeat(2,1fr);gap:11px}
  .fm2-sd3-tile-body{padding:10px 11px}
  .fm2-sd3-tile-name{font-size:14px}
  .fm2-sd3-tile-meta{font-size:9px;margin-bottom:7px}
  .fm2-sd3-tile-price{font-size:16px}
  .fm2-sd3-tile-seller-row{margin-top:9px;padding-top:9px;font-size:9px}
}

/* Chase cards section (mockup: Image #9) */
.fm2-sd3-chase-section{margin-top:48px;padding:32px;background:var(--ink-1);border:1px solid var(--line-1);border-radius:var(--r-4)}
.fm2-sd3-chase-title{font-family:var(--f-display);font-size:28px;font-weight:500;letter-spacing:-.02em;color:var(--text-1);margin:0 0 22px}
.fm2-sd3-chase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}

/* Set detail (v2) — renderSetPage */
.fm2-sd-section{margin-top:32px}
.fm2-sd-section-title{font-family:var(--f-display);font-size:22px;font-weight:400;letter-spacing:-.02em;margin:0 0 14px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.fm2-sd-section-title em{font-style:italic}
.fm2-sd-section-count{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.05em;font-weight:400}
.fm2-sd-sealed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.fm2-sd-sealed-tile{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);overflow:hidden;cursor:pointer;text-decoration:none;color:inherit;transition:all .15s;display:block}
.fm2-sd-sealed-tile:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow-pop)}
.fm2-sd-sealed-art{aspect-ratio:1;background:var(--ink-3);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--text-3);font-size:36px}
.fm2-sd-sealed-art img{width:100%;height:100%;object-fit:contain;padding:10px}
.fm2-sd-sealed-info{padding:10px 12px 12px}
.fm2-sd-sealed-ptype{font-family:var(--f-mono);font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.fm2-sd-sealed-name{font-family:var(--f-display);font-size:13px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-sd-sealed-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}
.fm2-sd-sealed-price{font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--text-1);font-feature-settings:"tnum"}
.fm2-sd-sealed-count{font-family:var(--f-mono);font-size:10px;color:var(--up)}

/* Listing modal (v3) — wide two-pane layout w/ topbar, chips, price-split, specs grid, shipping cards, seller, footer. */
#listing-modal{align-items:flex-start;padding:0;overflow-y:auto}
#listing-modal .modal{max-width:1040px;width:min(1040px,calc(100vw - 32px));margin:max(48px,5vh) auto;padding:0;background:linear-gradient(180deg,var(--ink-3) 0%,var(--ink-2) 100%);border:1px solid var(--line-2);border-radius:var(--r-4);box-shadow:0 1px 0 #ffffff0c inset,0 40px 80px #00000099,0 8px 24px #00000066;overflow:hidden;animation:lm-enter .42s cubic-bezier(.2,.7,.2,1)}
@keyframes lm-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
#listing-modal .modal-close{display:none}

/* Topbar */
#listing-modal .lm-topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 14px 20px;border-bottom:1px solid var(--line-1);background:linear-gradient(180deg,#ffffff05,transparent);gap:12px}
#listing-modal .lm-crumbs{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.02em;flex-wrap:wrap;min-width:0}
#listing-modal .lm-crumbs .sep{opacity:.5}
#listing-modal .lm-crumbs .curr{color:var(--text-2)}
#listing-modal .lm-status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;background:var(--up-sub);color:var(--up);font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.06em;margin-left:6px;text-transform:uppercase;white-space:nowrap}
#listing-modal .lm-status-pill::before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%;flex-shrink:0}
#listing-modal .lm-status-pill.is-owner{background:#0ea5e924;color:var(--sky-1)}
#listing-modal .lm-status-pill.is-sold{background:#6b728024;color:var(--text-3)}
#listing-modal .lm-iconbar{display:flex;gap:2px;flex-shrink:0}
#listing-modal .lm-iconbtn{width:34px;height:34px;display:grid;place-items:center;background:transparent;border:1px solid transparent;color:var(--text-2);border-radius:8px;cursor:pointer;transition:all .14s;padding:0}
#listing-modal .lm-iconbtn:hover{background:var(--ink-4);border-color:var(--line-1);color:var(--text-1)}
#listing-modal .lm-iconbtn svg{width:16px;height:16px}
#listing-modal .lm-collbtn{font-size:19px;font-weight:500;line-height:1}
#listing-modal .lm-collbtn .lm-coll-have,#listing-modal .lm-collbtn .lm-coll-rm{display:none}
#listing-modal .lm-collbtn.in-coll{color:#22c55e;border-color:#22c55e55;background:#22c55e1a}
#listing-modal .lm-collbtn.in-coll .lm-coll-add{display:none}
#listing-modal .lm-collbtn.in-coll .lm-coll-have{display:inline}
#listing-modal .lm-collbtn.in-coll:hover{color:var(--down);border-color:#ef444455;background:#ef44441a}
#listing-modal .lm-collbtn.in-coll:hover .lm-coll-have{display:none}
#listing-modal .lm-collbtn.in-coll:hover .lm-coll-rm{display:inline;font-size:15px}

/* Body grid */
#listing-modal .lm-body{display:grid;grid-template-columns:380px 1fr;gap:0;padding:0}

/* Card pane */
#listing-modal .lm-cardpane{padding:24px 20px 24px 24px;border-right:1px solid var(--line-1);background:linear-gradient(180deg,#ffffff04,transparent)}
#listing-modal .lm-cardview{position:relative;width:100%;aspect-ratio:5/7;border-radius:14px;overflow:hidden;background:var(--ink-1);box-shadow:0 24px 48px #00000080,inset 0 0 0 1px #f59e0b2e,0 0 60px -10px #f59e0b59;margin:0}
#listing-modal .lm-cardview .lm-img,#listing-modal .lm-cardview .lm-img-ph{position:absolute!important;inset:0;width:100%;height:100%;border-radius:0;border:0;box-shadow:none;display:block;object-fit:contain;background:#0a0d18;margin:0;cursor:default}
#listing-modal .lm-cardview .lm-img{cursor:zoom-in}
#listing-modal .lm-cardview .lm-img:hover{transform:none}
#listing-modal .lm-cardview .lm-img-ph{display:flex;align-items:center;justify-content:center;font-size:64px;color:var(--text-4);background:linear-gradient(145deg,var(--ink-3),var(--ink-1))}
#listing-modal .lm-thumbs{display:flex;gap:8px;margin-top:14px;justify-content:flex-start;flex-wrap:wrap}
#listing-modal .lm-thumb{width:56px;height:auto;aspect-ratio:5/7;border-radius:7px;border:1.5px solid transparent;background:var(--ink-3);cursor:pointer;padding:0;overflow:hidden;transition:all .16s;opacity:1;object-fit:contain}
#listing-modal .lm-thumb:hover:not(.active){border-color:var(--line-3)}
#listing-modal .lm-thumb.active{border-color:var(--warn);box-shadow:0 0 0 3px #f59e0b24}
/* Photo origin badge — lets buyers tell the seller's real photo apart from
   the official catalog reference art. */
#listing-modal .lm-img-badge{position:absolute;top:10px;left:10px;z-index:4;display:none;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1;backdrop-filter:blur(6px);box-shadow:0 2px 8px #00000055;pointer-events:none}
#listing-modal .lm-img-badge.seller{background:rgba(16,185,129,.9);color:#052e1f}
#listing-modal .lm-img-badge.catalog{background:rgba(245,158,11,.92);color:#241804}
#listing-modal .lm-img{cursor:zoom-in}
/* Full-size photo lightbox (above the listing modal, z-index 700) */
.lm-zoom{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;background:rgba(3,5,12,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:zoom-out;padding:24px}
.lm-zoom.show{display:flex;animation:fm2-fade .15s ease}
.lm-zoom img{max-width:95vw;max-height:95vh;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 30px 90px -16px #000}
.lm-zoom-close{position:fixed;top:18px;right:22px;width:42px;height:42px;border-radius:50%;background:#ffffff16;border:1px solid #ffffff33;color:#fff;font-size:18px;cursor:pointer;display:grid;place-items:center}
.lm-zoom-close:hover{background:#ffffff28}
#listing-modal .lm-thumb.is-catalog{border-style:dashed;border-color:var(--warn)}

/* Price-history strip below thumbs */
#listing-modal .lm-strip{margin-top:18px;padding:12px 14px;border-radius:var(--r-3);background:var(--ink-3);border:1px solid var(--line-1);display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}
#listing-modal .lm-strip-label{grid-column:1/2;font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3)}
#listing-modal .lm-strip-val{grid-column:2/3;grid-row:1/3;font-family:var(--f-mono);font-size:18px;font-weight:500;color:var(--text-1);font-variant-numeric:tabular-nums}
#listing-modal .lm-strip-sub{grid-column:1/2;display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;color:var(--text-2);flex-wrap:wrap}

/* Trend chips */
#listing-modal .lm-trend{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:4px;font-family:var(--f-mono);font-size:11px;font-weight:500;line-height:1}
#listing-modal .lm-trend.up{background:var(--up-sub);color:var(--up)}
#listing-modal .lm-trend.down{background:var(--down-sub);color:var(--down)}
#listing-modal .lm-trend.flat{background:var(--ink-4);color:var(--text-3)}
#listing-modal .lm-trend svg{width:9px;height:9px}

/* Info pane */
#listing-modal .lm-infopane{padding:24px 28px 22px;display:flex;flex-direction:column;gap:18px;min-width:0}

/* Chip row above title */
#listing-modal #lm-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#listing-modal .lm-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:var(--ink-3);border:1px solid var(--line-1);font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--text-2);white-space:nowrap}
#listing-modal .lm-chip-rarity{background:#f59e0b1c;border-color:#f59e0b66;color:var(--warn)}
#listing-modal .lm-chip-rarity .lm-rarity-letter{font-family:var(--f-mono);font-weight:700;font-size:12px}
#listing-modal .lm-chip-rarity .lm-rar-ic{font-size:9px;opacity:.85;margin-right:-1px}
#listing-modal .lm-chip-rarity .lm-rar-sep{opacity:.45}
#listing-modal .lm-chip-rarity .lm-rar-name{text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:600}
#listing-modal .lm-chip-num{color:var(--text-2)}

/* Title */
#listing-modal .lm-title-wrap{display:flex;flex-direction:column;gap:4px}
#listing-modal #lm-name{font-family:var(--f-display);font-size:30px;font-weight:500;line-height:1.1;letter-spacing:-.02em;color:var(--text-1);margin:0;text-wrap:pretty}
#listing-modal #lm-subtitle{font-family:var(--f-mono);font-size:12px;color:var(--text-3);letter-spacing:.04em}

/* Price block */
#listing-modal .lm-priceblock{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:18px;padding:18px 0 16px;border-top:1px solid var(--line-1);border-bottom:1px solid var(--line-1);margin:0}
#listing-modal .lm-price-main{display:flex;flex-direction:column;gap:11px;min-width:0}
#listing-modal .lm-savings:empty{display:none}
#listing-modal .lm-savings-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-family:var(--f-mono);font-size:12px;font-weight:500;line-height:1.1;letter-spacing:.01em}
#listing-modal .lm-savings-pill.under{background:var(--up-sub);color:var(--up)}
#listing-modal .lm-savings-pill.over{background:#f59e0b1c;color:var(--warn)}
#listing-modal .lm-savings-pill.at{background:var(--ink-4);color:var(--text-3)}
#listing-modal .lm-spark-lbl{font-family:var(--f-mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);margin-top:5px}
#listing-modal #lm-sparkline:empty + .lm-spark-lbl{display:none}
#listing-modal #lm-price{display:flex;align-items:baseline;gap:0;font-family:var(--f-mono);line-height:1;color:var(--text-1);font-variant-numeric:tabular-nums;font-size:inherit;letter-spacing:0;margin:0}
#listing-modal .lm-price-cur{font-size:22px;font-weight:500;color:var(--text-2);margin-right:4px}
#listing-modal .lm-price-int{font-size:48px;font-weight:500;letter-spacing:-.02em;color:var(--text-1)}
#listing-modal .lm-price-dec{font-size:22px;font-weight:500;color:var(--text-2)}
#listing-modal .lm-price-aside{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-bottom:4px;min-width:0}
#listing-modal .lm-market-row{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12px;color:var(--text-3);flex-wrap:wrap;justify-content:flex-end}
#listing-modal .lm-market-val{color:var(--text-1);font-variant-numeric:tabular-nums}
#listing-modal #lm-sparkline{display:block;width:130px;height:28px}
#listing-modal #lm-sparkline:empty{display:none}

/* Specs grid */
#listing-modal #lm-specs{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line-1);border-radius:var(--r-3);overflow:hidden;background:#ffffff04;padding:0}
#listing-modal .lm-spec{padding:12px 14px;position:relative;background:transparent;border:0;border-radius:0}
#listing-modal .lm-spec:not(:nth-child(2n))::after{content:"";position:absolute;right:0;top:12px;bottom:12px;width:1px;background:var(--line-1)}
#listing-modal .lm-spec:nth-child(n+3){border-top:1px solid var(--line-1)}
#listing-modal .lm-spec-k{margin:0 0 4px;font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);font-weight:500}
#listing-modal .lm-spec-v{margin:0;font-family:var(--f-ui);font-size:14px;font-weight:500;color:var(--text-1);display:flex;align-items:center;gap:6px}
#listing-modal .lm-spec-v .lm-hint{font-family:var(--f-mono);font-size:11px;color:var(--text-3);font-weight:400}

/* Shipping cards */
#listing-modal #lm-shipping{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#listing-modal #lm-shipping:empty{display:none}
#listing-modal .lm-ship{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff03;border:1px solid var(--line-1);border-radius:var(--r-2)}
#listing-modal .lm-ship-icon{width:28px;height:28px;display:grid;place-items:center;background:var(--ink-4);color:var(--text-2);border-radius:6px;flex-shrink:0}
#listing-modal .lm-ship-icon svg{width:14px;height:14px}
#listing-modal .lm-ship-text{display:flex;flex-direction:column;min-width:0}
#listing-modal .lm-ship-label{font-family:var(--f-mono);font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em}
#listing-modal .lm-ship-val{font-family:var(--f-mono);font-size:14px;font-weight:500;color:var(--text-1);font-variant-numeric:tabular-nums}

/* Seller row (overrides legacy .lm-seller-row layout) */
#listing-modal .lm-seller-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;background:linear-gradient(180deg,#f59e0b0a,transparent);border:1px solid var(--line-1);border-radius:var(--r-3);margin:0}
#listing-modal .lm-seller-row.is-clickable{cursor:pointer;transition:background .12s}
#listing-modal .lm-seller-row.is-clickable:hover{background:linear-gradient(180deg,#f59e0b14,#ffffff05)}
#listing-modal .lm-seller-row .lm-av{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#6b4a18,#4a3110);color:#ffd874;display:grid;place-items:center;font-weight:700;font-size:15px;border:1px solid #ffd87440;font-family:var(--f-display);flex-shrink:0;overflow:hidden}
#listing-modal .lm-seller-info{min-width:0;display:flex;flex-direction:column;gap:3px;overflow:hidden}
#listing-modal .lm-seller-name{display:flex;align-items:center;gap:6px;font-family:var(--f-ui);font-size:14px;font-weight:600;color:var(--text-1);min-width:0}
#listing-modal .lm-seller-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#listing-modal .lm-seller-verified{width:14px;height:14px;display:grid;place-items:center;background:var(--sky);color:#fff;border-radius:50%;font-size:9px;flex-shrink:0}
#listing-modal .lm-seller-verified svg{width:8px;height:8px}
#listing-modal .lm-seller-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--f-mono);font-size:11px;color:var(--text-3);min-width:0}
#listing-modal .lm-seller-meta .dot{width:3px;height:3px;background:var(--text-4);border-radius:50%;flex-shrink:0}
#listing-modal .lm-seller-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}
#listing-modal .lm-rating{display:inline-flex;align-items:center;gap:4px;font-family:var(--f-mono);font-size:14px;font-weight:500;color:var(--text-1)}
#listing-modal .lm-rating svg{width:12px;height:12px;color:var(--warn)}
#listing-modal .lm-sales{font-family:var(--f-mono);font-size:11px;color:var(--text-3)}

/* Primary action grid */
#listing-modal .lm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;flex-direction:row;position:static;padding:0;background:none;border:none}
#listing-modal .lm-actions>.btn-buy,#listing-modal .lm-actions>.btn-offer,#listing-modal .lm-actions>.btn-delete,#listing-modal .lm-actions>.btn-edit{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:10px;font-family:var(--f-ui);font-size:14px;font-weight:600;cursor:pointer;transition:all .14s;white-space:nowrap;width:auto;border:1px solid transparent}
#listing-modal .lm-actions>.btn-buy,#listing-modal .lm-actions>.btn-edit{border-color:var(--sky);background:var(--sky);color:#fff}
#listing-modal .lm-actions>.btn-buy:hover,#listing-modal .lm-actions>.btn-edit:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 6px 18px -4px #0ea5e966}
#listing-modal .lm-actions>.btn-offer{background:var(--ink-3);border-color:var(--line-3);color:var(--text-1)}
#listing-modal .lm-actions>.btn-offer:hover{background:var(--warn-sub);border-color:var(--warn);color:var(--warn)}
#listing-modal .lm-actions>.btn-delete{background:transparent;border-color:#ef444440;color:var(--down)}
#listing-modal .lm-actions>.btn-delete:hover{background:var(--down-sub);border-color:var(--down)}
#listing-modal .lm-actions svg{width:14px;height:14px}

/* Secondary actions row */
#listing-modal .lm-actions-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#listing-modal .lm-actions-2:empty{display:none}
#listing-modal .lm-actions-2>.lm-action-2:only-child{grid-column:1/-1}
#listing-modal .lm-action-2{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:8px;border:1px solid var(--line-1);background:var(--ink-3);color:var(--text-2);font-family:var(--f-ui);font-size:12px;font-weight:500;cursor:pointer;transition:all .12s;white-space:nowrap}
#listing-modal .lm-action-2:hover{background:var(--ink-4);border-color:var(--line-2);color:var(--text-1)}
#listing-modal .lm-actions-2 .lm-btn-crypto{background:linear-gradient(135deg,#f7931a 0%,#627eea 100%)!important;border-color:transparent!important;color:#fff!important;opacity:.6;cursor:not-allowed;position:relative;filter:saturate(.7);padding:8px 14px}
#listing-modal .lm-actions-2 .lm-btn-crypto:hover{opacity:.75;filter:saturate(.85);transform:none}
#listing-modal .lm-actions-2 .lm-btn-crypto-chip{position:absolute;top:-6px;right:-4px;background:var(--warn);color:#0b0a12;font-family:var(--f-mono);font-size:9px;padding:1px 6px;border-radius:999px;font-weight:700;letter-spacing:.06em}

/* Footer */
#listing-modal .lm-footer{display:flex;align-items:center;justify-content:space-between;padding-top:4px;font-family:var(--f-mono);font-size:11px;color:var(--text-3);flex-wrap:wrap;gap:8px}
#listing-modal .lm-footer-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#listing-modal .lm-footer-meta .dot{width:3px;height:3px;background:var(--text-4);border-radius:50%}
#listing-modal .lm-btn-report{background:transparent;border:none;color:var(--text-3);font-family:var(--f-mono);font-size:11px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border-radius:4px;text-transform:none;letter-spacing:0;margin-left:0}
#listing-modal .lm-btn-report:hover{color:var(--down);background:var(--down-sub);border:none}
#listing-modal .lm-btn-report svg{width:11px;height:11px}

/* Offer form */
#listing-modal #lm-offer-form{background:var(--ink-3)!important;border:1px solid var(--line-1)!important;border-radius:var(--r-3)!important;padding:14px!important;margin-top:0!important;font-family:var(--f-ui)}
#listing-modal #lm-offer-form>.lm-offer-form-title{font-family:var(--f-display);font-size:14px;font-weight:500;color:var(--text-1);letter-spacing:-.01em}
#listing-modal #lm-offer-amt,#listing-modal #lm-offer-msg{background:var(--ink-2);border:1px solid var(--line-1);color:var(--text-1);font-family:var(--f-ui);font-size:13px}
#listing-modal #lm-offer-amt:focus,#listing-modal #lm-offer-msg:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}

/* Responsive */
@media(max-width:880px){
  #listing-modal .lm-body{grid-template-columns:1fr}
  #listing-modal .lm-cardpane{border-right:none;border-bottom:1px solid var(--line-1)}
  #listing-modal .lm-price-aside{align-items:flex-start}
  #listing-modal .lm-market-row{justify-content:flex-start}
}
@media(max-width:560px){
  #listing-modal .modal{margin:0 auto;border-radius:0;min-height:100vh}
  #listing-modal .lm-cardpane{padding:18px}
  #listing-modal .lm-infopane{padding:18px;gap:14px}
  #listing-modal #lm-shipping{grid-template-columns:1fr}
  #listing-modal .lm-actions{grid-template-columns:1fr}
  #listing-modal #lm-name{font-size:24px}
  #listing-modal .lm-price-int{font-size:38px}
}

/* Dashboard — My Listings rows (v2) */
.fm2-dml-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line-1);transition:background .12s}
.fm2-dml-row:last-child{border-bottom:none}
.fm2-dml-row:hover{background:var(--ink-3)}
.fm2-dml-art{width:40px;height:56px;object-fit:cover;border-radius:var(--r-2);background:var(--ink-3);flex-shrink:0;display:block}
.fm2-dml-ph{width:40px;height:56px;border-radius:var(--r-2);background:var(--ink-3);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;color:var(--text-3)}
.fm2-dml-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.fm2-dml-name{font-family:var(--f-ui);font-size:13px;font-weight:500;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}
.fm2-dml-sub{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-dml-price{text-align:right;display:flex;flex-direction:column;gap:2px}
.fm2-dml-price-val{font-family:var(--f-mono);font-size:14px;font-weight:600;color:var(--text-1);font-feature-settings:"tnum"}
.fm2-dml-qty{font-family:var(--f-mono);font-size:9px;color:var(--text-3);letter-spacing:.04em}
.fm2-dml-btn{background:transparent;border:1px solid var(--line-1);color:var(--sky-1);cursor:pointer;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:var(--r-2);transition:all .15s}
.fm2-dml-ar{background:transparent;border:1px solid var(--line-1);color:var(--text-3);cursor:pointer;font-family:var(--f-mono);font-size:10px;padding:4px 6px;border-radius:var(--r-2);max-width:96px}
.fm2-dml-ar.on{color:var(--green,#22c55e);border-color:var(--green,#22c55e)}
.fm2-dml-btn:hover{background:var(--sky-sub);border-color:var(--sky)}
.fm2-dml-btn.del{color:var(--text-3)}
.fm2-dml-btn.del:hover{background:var(--down-sub);border-color:var(--down);color:var(--down)}
.fm2-ml-stats{display:flex;flex-wrap:wrap;gap:10px;padding:12px 12px 4px}
.fm2-ml-stat{flex:1;min-width:118px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);padding:10px 13px}
.fm2-ml-stat-lbl{font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.fm2-ml-stat-val{font-family:var(--f-display);font-size:22px;font-weight:500;color:var(--text-1);margin-top:3px;letter-spacing:-.01em;font-feature-settings:"tnum"}
.fm2-ml-stat-sub{font-family:var(--f-mono);font-size:10px;color:var(--text-3);margin-top:1px;letter-spacing:.02em}
.fm2-ml-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 12px 12px;border-bottom:1px solid var(--line-1)}
.fm2-ml-search{flex:1;min-width:170px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);padding:8px 12px;color:var(--text-1);font-family:var(--f-ui);font-size:13px;outline:none}
.fm2-ml-search:focus{border-color:var(--sky)}
.fm2-ml-chips{display:flex;gap:6px}
.fm2-ml-chip{background:transparent;border:1px solid var(--line-1);color:var(--text-3);cursor:pointer;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:6px 11px;border-radius:var(--r-pill);transition:all .15s}
.fm2-ml-chip:hover{border-color:var(--line-2);color:var(--text-2)}
.fm2-ml-chip.active{background:var(--sky-sub);border-color:var(--sky);color:var(--sky-1)}
.fm2-ml-sort{background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);padding:8px 10px;color:var(--text-2);font-family:var(--f-ui);font-size:12px;cursor:pointer;outline:none}
.fm2-dml-status{font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 7px;border-radius:var(--r-pill);white-space:nowrap;flex-shrink:0}
.fm2-dml-status.live{background:var(--up-sub);color:var(--up)}
.fm2-dml-status.stale{background:var(--warn-sub);color:var(--warn)}
.fm2-ml-empty{text-align:center;padding:24px 12px;font-family:var(--f-ui);font-size:13px;color:var(--text-3)}

/* Wishlist page (v2) — /wishlist */
.fm2-wl-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.fm2-wl-title{font-family:var(--f-display);font-size:32px;font-weight:400;letter-spacing:-.02em;margin:0;color:var(--text-1)}
.fm2-wl-title em{font-style:italic}
.fm2-wl-sub{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.04em;margin-top:4px}
.fm2-wl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.fm2-wl-card{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:14px;display:flex;gap:12px;box-shadow:var(--shadow-card);transition:all .2s;position:relative}
.fm2-wl-card:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow-pop)}
.fm2-wl-card.hit{border-color:var(--up);background:linear-gradient(135deg,var(--up-sub),var(--ink-2))}
.fm2-wl-img{width:64px;height:90px;object-fit:cover;border-radius:var(--r-2);background:var(--ink-3);flex-shrink:0;display:block}
.fm2-wl-ph{width:64px;height:90px;border-radius:var(--r-2);background:var(--ink-3);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--text-3)}
.fm2-wl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.fm2-wl-name{font-family:var(--f-display);font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-wl-set{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-wl-prices{display:flex;gap:12px;margin-top:4px}
.fm2-wl-price-col{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.fm2-wl-price-lbl{font-family:var(--f-mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}
.fm2-wl-price-val{font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--text-1);font-feature-settings:"tnum"}
.fm2-wl-price-val.hit{color:var(--up)}
.fm2-wl-actions{display:flex;gap:6px;margin-top:auto;padding-top:8px}
.fm2-wl-actions .fm2-btn{padding:6px 10px;font-size:11px;flex:1;justify-content:center}
.fm2-wl-remove{position:absolute;top:8px;right:8px;background:transparent;border:none;color:var(--text-3);cursor:pointer;padding:4px 6px;font-size:13px;border-radius:var(--r-1);transition:all .15s;z-index:1}
.fm2-wl-remove:hover{color:var(--down);background:var(--down-sub)}
.fm2-wl-empty{text-align:center;padding:60px 20px;color:var(--text-3);background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3)}
.fm2-wl-empty-icon{font-size:48px;opacity:.6;margin-bottom:10px}
.fm2-wl-empty-title{font-family:var(--f-display);font-size:18px;font-weight:500;color:var(--text-2);margin-bottom:6px}
.fm2-wl-empty-sub{font-family:var(--f-mono);font-size:11px;letter-spacing:.03em;line-height:1.6}
.fm2-wl-hit-banner{background:linear-gradient(90deg,var(--up-sub),transparent);border:1px solid rgba(34,197,94,.35);border-radius:var(--r-3);padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;color:var(--up);letter-spacing:.02em}

/* Messages (v2) — 3-pane layout with deal-summary sidebar */
.fm2-msg-wrap{max-width:1280px;margin:0 auto;padding:20px 20px 40px}
.fm2-msg-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.fm2-msg-title{font-family:var(--f-display);font-size:28px;font-weight:400;letter-spacing:-.02em;margin:0;color:var(--text-1)}
.fm2-msg-sub{font-family:var(--f-mono);font-size:11px;color:var(--text-3);margin:4px 0 0;letter-spacing:.04em}
.fm2-msg-unread{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em}
.fm2-msg-layout{display:grid;grid-template-columns:280px 1fr 300px;gap:12px;height:calc(100vh - 180px);min-height:480px}
@media(max-width:1100px){.fm2-msg-layout{grid-template-columns:260px 1fr;}.fm2-msg-side{display:none}}
@media(max-width:720px){.fm2-msg-layout{grid-template-columns:1fr;height:auto}.fm2-msg-convs{max-height:240px;overflow-y:auto}}
.fm2-msg-convs{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);overflow-y:auto;box-shadow:var(--shadow-card)}
/* Mobile: the base .fm2-msg-layout min-height:480px is never cleared by the
   720px override, forcing a tall empty void. Drop it and give the chat pane a
   usable height instead. */
@media(max-width:720px){.fm2-msg-layout{min-height:0}.fm2-msg-chat{min-height:60vh}}
.fm2-msg-chat{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-card)}
.fm2-msg-chat-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-1);background:var(--ink-1)}
.fm2-msg-chat-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--sky),#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--f-mono);font-size:12px;font-weight:700;flex-shrink:0}
.fm2-msg-chat-who{flex:1;min-width:0}
.fm2-msg-chat-name{font-family:var(--f-display);font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-msg-chat-meta{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;margin-top:2px}
.fm2-msg-chat-ctx{padding:10px 18px;background:linear-gradient(90deg,var(--sky-sub),transparent);border-bottom:1px solid var(--line-1);font-family:var(--f-mono);font-size:11px;color:var(--sky-1);cursor:pointer;letter-spacing:.02em;transition:background .15s}
.fm2-msg-chat-ctx:hover{background:linear-gradient(90deg,var(--sky-sub),var(--ink-3))}
.fm2-msg-chat-ctx u{text-decoration:underline;text-decoration-color:rgba(56,189,248,.5)}
.fm2-msg-chat-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:4px;background:var(--ink-1)}
.fm2-msg-chat-input-row{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line-1);background:var(--ink-2)}
.fm2-msg-chat-inp{flex:1;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);color:var(--text-1);font-family:var(--f-ui);font-size:13px;padding:10px 14px;outline:none;transition:all .15s}
.fm2-msg-chat-inp::placeholder{color:var(--text-3)}
.fm2-msg-chat-inp:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
.fm2-msg-chat-send{background:var(--sky);color:#fff;border:none;border-radius:var(--r-2);padding:10px 22px;font-family:var(--f-ui);font-weight:500;font-size:13px;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.fm2-msg-chat-send:hover{background:var(--sky-1);box-shadow:0 6px 18px -6px var(--sky-glow)}
.fm2-msg-conv{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line-1);cursor:pointer;transition:background .12s;position:relative}
.fm2-msg-conv:last-child{border-bottom:none}
.fm2-msg-conv:hover{background:var(--ink-3)}
.fm2-msg-conv.active{background:var(--ink-3)}
.fm2-msg-conv.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--sky)}
.fm2-msg-conv-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--sky),#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--f-mono);font-size:11px;font-weight:700;flex-shrink:0}
.fm2-msg-conv-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fm2-msg-conv-name{font-family:var(--f-ui);font-size:13px;font-weight:500;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-msg-conv-preview{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-msg-conv-time{font-family:var(--f-mono);font-size:9px;color:var(--text-3);letter-spacing:.04em;flex-shrink:0}
.fm2-msg-conv-unread{position:absolute;top:10px;right:12px;min-width:18px;height:18px;padding:0 6px;border-radius:9px;background:var(--sky);color:#fff;font-family:var(--f-mono);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}
.fm2-msg-empty{padding:40px 20px;text-align:center;color:var(--text-3);font-family:var(--f-mono);font-size:11px;letter-spacing:.03em;line-height:1.6}
.fm2-msg-bubble-wrap{display:flex;margin:2px 0}
.fm2-msg-bubble-wrap.me{justify-content:flex-end}
.fm2-msg-bubble{max-width:70%;padding:9px 13px;border-radius:var(--r-3);font-family:var(--f-ui);font-size:13px;line-height:1.45;word-break:break-word;white-space:pre-wrap}
.fm2-msg-bubble-wrap:not(.me) .fm2-msg-bubble{background:var(--ink-3);border:1px solid var(--line-1);border-bottom-left-radius:4px;color:var(--text-1)}
.fm2-msg-bubble-wrap.me .fm2-msg-bubble{background:var(--sky);color:#fff;border-bottom-right-radius:4px}
.fm2-msg-bubble-time{font-family:var(--f-mono);font-size:9px;opacity:.7;margin-top:4px;text-align:right;letter-spacing:.04em}
.fm2-msg-day-divider{text-align:center;margin:14px 0 4px}
.fm2-msg-day-divider span{background:var(--ink-3);color:var(--text-3);font-family:var(--f-mono);font-size:9px;padding:3px 10px;border-radius:var(--r-pill);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-1)}
/* Thread event chips — centered mono pills marking offer/order milestones */
.fm2-msg-evt{display:flex;justify-content:center;margin:7px 0}
.fm2-msg-evt span{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:10px;letter-spacing:.04em;color:var(--text-3);padding:4px 12px;border-radius:var(--r-pill);border:1px solid var(--line-1);background:var(--ink-2)}
.fm2-msg-evt.gold span{color:var(--warn);border-color:#f59e0b40;background:var(--warn-sub)}
.fm2-msg-evt.green span{color:var(--up);border-color:#22c55e40;background:var(--up-sub)}
.fm2-msg-evt.red span{color:var(--down);border-color:#ef444440;background:var(--down-sub)}
/* Inline offer decision card — the decision happens IN the thread */
.fm2-msg-decide{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 2px;padding:14px 16px;border-radius:var(--r-3);border:1px solid #f59e0b59;background:var(--ink-2);box-shadow:var(--shadow-card)}
.fm2-msg-decide-txt{flex:1;min-width:170px}
.fm2-msg-decide-title{font-family:var(--f-ui);font-size:13px;font-weight:700;color:var(--text-1)}
.fm2-msg-decide-title em{font-style:normal;font-family:var(--f-display);font-size:16px;color:var(--up)}
.fm2-msg-decide-sub{font-size:11px;color:var(--text-3);margin-top:2px}
.fm2-msg-decide-btns{display:flex;gap:6px;flex-wrap:wrap}
.fm2-msg-decide-btn{padding:8px 13px;border-radius:var(--r-2);font-family:var(--f-ui);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}
.fm2-msg-decide-btn.outline{background:transparent;color:var(--text-2);border:1px solid var(--line-2)}
.fm2-msg-decide-btn.outline:hover{color:var(--down);border-color:#ef444459}
.fm2-msg-decide-btn.ghost{background:transparent;color:var(--text-2);border:1px solid transparent}
.fm2-msg-decide-btn.ghost:hover{background:var(--ink-3);color:var(--text-1)}
.fm2-msg-decide-btn.green{background:var(--up);color:#052e16;border:1px solid transparent}
.fm2-msg-decide-btn.green:hover{background:var(--green2);color:#fff}
.fm2-msg-side{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:18px;overflow-y:auto;box-shadow:var(--shadow-card)}
.fm2-msg-side-empty{text-align:center;padding:32px 14px;color:var(--text-3)}
.fm2-msg-side-empty-icon{font-size:36px;margin-bottom:10px;opacity:.6}
.fm2-msg-side-empty-title{font-family:var(--f-display);font-size:14px;font-weight:500;color:var(--text-2);margin-bottom:6px}
.fm2-msg-side-empty-sub{font-family:var(--f-mono);font-size:10px;line-height:1.6;letter-spacing:.02em}
.fm2-msg-deal-eyebrow{font-family:var(--f-mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);margin-bottom:8px}
.fm2-msg-deal-img{width:100%;aspect-ratio:5/7;background:var(--ink-3);border-radius:var(--r-2);overflow:hidden;margin-bottom:12px;display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--text-3);max-height:200px}
.fm2-msg-deal-img img{width:100%;height:100%;object-fit:contain;background:var(--ink-3);display:block}
.fm2-msg-deal-name{font-family:var(--f-display);font-size:16px;font-weight:500;color:var(--text-1);letter-spacing:-.01em;margin-bottom:4px;line-height:1.25}
.fm2-msg-deal-sub{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;margin-bottom:10px}
.fm2-msg-deal-price{font-family:var(--f-mono);font-size:20px;font-weight:600;color:var(--up);letter-spacing:-.01em;margin-bottom:14px}
.fm2-msg-deal-actions{display:flex;flex-direction:column;gap:6px}
.fm2-msg-deal-actions .fm2-btn{width:100%;justify-content:center}

/* Seller storefront (v2) — public profile at /seller/:username */
.fm2-sf-hero{position:relative;border-radius:var(--r-4);overflow:hidden;margin-bottom:24px;padding:48px 32px 36px;background:linear-gradient(135deg,var(--sky),#8b5cf6);color:#fff;display:flex;gap:24px;align-items:center;flex-wrap:wrap;box-shadow:var(--shadow-float)}
.fm2-sf-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.2),transparent 60%),linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.3));pointer-events:none}
.fm2-sf-av{position:relative;z-index:1;width:96px;height:96px;border-radius:50%;background:rgba(255,255,255,.18);border:3px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:36px;font-weight:500;color:#fff;backdrop-filter:blur(8px);flex-shrink:0}
.fm2-sf-hero-body{position:relative;z-index:1;flex:1;min-width:260px}
.fm2-sf-eyebrow{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.75);margin-bottom:6px;display:flex;align-items:center;gap:10px}
.fm2-sf-name{font-family:var(--f-display);font-size:38px;font-weight:500;letter-spacing:-.02em;line-height:1.05;color:#fff;margin:0 0 10px;text-shadow:0 2px 12px rgba(0,0,0,.25);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fm2-sf-name em{font-style:italic}
.fm2-sf-badges{display:flex;gap:6px;flex-wrap:wrap}
.fm2-sf-badge{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:var(--r-pill);background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);color:#fff;backdrop-filter:blur(8px)}
.fm2-sf-badge.pro{background:linear-gradient(135deg,rgba(251,191,36,.3),rgba(251,191,36,.1));border-color:rgba(251,191,36,.5);color:#fde68a}
.fm2-sf-hero-actions{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap}
.fm2-sf-hero-actions .fm2-btn{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.28);color:#fff;backdrop-filter:blur(8px)}
.fm2-sf-hero-actions .fm2-btn:hover{background:rgba(255,255,255,.26);border-color:rgba(255,255,255,.45)}
.fm2-sf-hero-actions .fm2-btn-primary{background:#fff;color:var(--ink-0);border-color:#fff}
.fm2-sf-hero-actions .fm2-btn-primary:hover{background:var(--text-1)}
.fm2-sf-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:22px}
.fm2-sf-stat{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:14px 16px;text-align:center;box-shadow:var(--shadow-card)}
.fm2-sf-stat-val{font-family:var(--f-mono);font-size:22px;font-weight:600;color:var(--text-1);letter-spacing:-.015em;font-feature-settings:"tnum"}
.fm2-sf-stat-val.warn{color:var(--warn)}
.fm2-sf-stat-val.up{color:var(--up)}
.fm2-sf-stat-lbl{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;margin-top:4px}
.fm2-sf-section{margin-top:28px}
.fm2-sf-section-title{font-family:var(--f-display);font-size:20px;font-weight:400;letter-spacing:-.02em;margin:0 0 14px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.fm2-sf-section-title em{font-style:italic}
.fm2-sf-section-count{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.04em;font-weight:400}
.fm2-sf-rating-panel{display:flex;gap:24px;align-items:center;padding:18px 22px;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);box-shadow:var(--shadow-card);flex-wrap:wrap}
.fm2-sf-rating-big{font-family:var(--f-display);font-size:42px;font-weight:500;color:var(--warn);line-height:1;min-width:90px;text-align:center}
.fm2-sf-rating-big-sub{font-family:var(--f-mono);font-size:9px;color:var(--text-3);letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-weight:400}
.fm2-sf-rating-dist{flex:1;min-width:200px;display:flex;flex-direction:column;gap:4px}
.fm2-sf-rating-row{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;color:var(--text-3)}
.fm2-sf-rating-row-bar{flex:1;height:7px;background:var(--ink-3);border-radius:3px;overflow:hidden}
.fm2-sf-rating-row-bar>div{height:100%;background:var(--warn);border-radius:3px}
.fm2-sf-reviews{display:flex;flex-direction:column;gap:10px}
.fm2-sf-review{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:14px 16px}
.fm2-sf-review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.fm2-sf-review-stars{color:var(--warn);font-size:13px;letter-spacing:.5px}
.fm2-sf-review-stars .dim{color:var(--line-2)}
.fm2-sf-review-date{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em}
.fm2-sf-review-text{font-family:var(--f-ui);font-size:13px;color:var(--text-2);line-height:1.55}
.fm2-sf-review-text.empty{color:var(--text-3);font-style:italic;font-size:12px}
.fm2-sf-listings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.sf-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.sf-tab{padding:7px 15px;border-radius:var(--r-pill);background:var(--ink-2);border:1px solid var(--line-1);color:var(--text-2);font-family:var(--f-mono);font-size:12px;letter-spacing:.02em;cursor:pointer;transition:all .15s}
.sf-tab:hover{border-color:var(--line-2);color:var(--text-1)}
.sf-tab.on{background:var(--sky-sub);border-color:#0ea5e966;color:var(--sky-1)}

/* Vault binder view (v2) — 3×3 card sleeves per page */
.fm2-binder{display:flex;flex-direction:column;gap:28px;margin-top:4px}
.fm2-binder-page{background:linear-gradient(145deg,var(--ink-2),var(--ink-1));border:1px solid var(--line-2);border-radius:var(--r-4);padding:22px 22px 20px;box-shadow:var(--shadow-float);position:relative}
.fm2-binder-page::before{content:'';position:absolute;top:50%;left:-1px;width:6px;height:70px;background:var(--line-2);border-radius:0 3px 3px 0;transform:translateY(-50%);opacity:.5}
.fm2-binder-label{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}
.fm2-binder-label em{font-style:italic;font-family:var(--f-display);text-transform:none;letter-spacing:0;font-size:12px;color:var(--text-2)}
.fm2-binder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:560px){.fm2-binder-grid{grid-template-columns:repeat(2,1fr)}}
.fm2-binder-slot{position:relative;aspect-ratio:5/7;background:linear-gradient(145deg,var(--ink-3),var(--ink-0));border:1px solid var(--line-1);border-radius:var(--r-2);cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:all .2s}
.fm2-binder-slot:not(.empty):hover{border-color:var(--sky);transform:scale(1.03);box-shadow:0 8px 24px -8px var(--sky-glow)}
.fm2-binder-slot img{width:100%;height:100%;object-fit:cover;display:block}
.fm2-binder-slot.empty{background:repeating-linear-gradient(45deg,transparent 0 6px,var(--ink-1) 6px 12px);cursor:default;border-style:dashed}
.fm2-binder-ph{font-size:32px;opacity:.4}
.fm2-binder-qty{position:absolute;top:6px;right:6px;background:rgba(11,16,32,.85);color:var(--text-1);font-family:var(--f-mono);font-size:10px;font-weight:600;padding:2px 6px;border-radius:var(--r-pill);backdrop-filter:blur(4px);border:1px solid var(--line-2)}

/* Dashboard (v2) — KPI tiles + revenue chart + tasks panel */
.fm2-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}
.fm2-kpi{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:14px 16px;display:flex;flex-direction:column;gap:4px;transition:all .2s;box-shadow:var(--shadow-card)}
.fm2-kpi:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow-pop)}
.fm2-kpi.clickable{cursor:pointer}
.fm2-kpi-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px}
.fm2-kpi-lbl{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase}
.fm2-kpi-icon{font-size:14px;opacity:.75}
.fm2-kpi-val{font-family:var(--f-mono);font-size:24px;font-weight:600;letter-spacing:-.015em;color:var(--text-1);font-feature-settings:"tnum";line-height:1.1}
.fm2-kpi-sub{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em}
.fm2-kpi-spark{margin-top:4px;height:30px;overflow:hidden}
.fm2-kpi.up .fm2-kpi-val{color:var(--up)}
.fm2-kpi.down .fm2-kpi-val{color:var(--down)}
.fm2-kpi.warn .fm2-kpi-val{color:var(--warn)}
.fm2-kpi.sky .fm2-kpi-val{color:var(--sky-1)}
.fm2-dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:20px}
@media(max-width:900px){.fm2-dash-grid{grid-template-columns:1fr}}
.fm2-dash-panel{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:18px 20px;box-shadow:var(--shadow-card)}
.fm2-dash-panel-title{font-family:var(--f-display);font-size:15px;font-weight:500;letter-spacing:-.01em;margin:0 0 14px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.fm2-dash-panel-title em{font-style:italic}
.fm2-dash-panel-sub{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.04em;font-weight:400}
.fm2-tasks{display:flex;flex-direction:column;gap:8px}
.fm2-task{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);cursor:pointer;transition:all .15s;font-family:var(--f-ui);font-size:13px;text-align:left;width:100%}
.fm2-task:hover{border-color:var(--sky);transform:translateX(2px);background:var(--ink-4)}
.fm2-task-icon{width:32px;height:32px;border-radius:var(--r-2);background:var(--sky-sub);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;border:1px solid #0ea5e944}
.fm2-task.warn .fm2-task-icon{background:var(--warn-sub);border-color:#f59e0b44}
.fm2-task.up .fm2-task-icon{background:var(--up-sub);border-color:#22c55e44}
.fm2-task-body{flex:1;min-width:0}
.fm2-task-title{font-size:13px;color:var(--text-1);font-weight:500;letter-spacing:.01em}
.fm2-task-sub{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;margin-top:2px}
.fm2-task-arrow{color:var(--text-3);font-size:14px}
.fm2-tasks-empty{text-align:center;padding:24px 12px;color:var(--text-3);font-family:var(--f-mono);font-size:11px;letter-spacing:.04em}
.fm2-tasks-empty b{color:var(--up);font-weight:600;font-style:normal}

/* ── Dashboard "Today queue" (Batch 3 · DashOptA2) ─────────────────────── */
.dashq-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3)}
.dashq-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--up-sub);flex-shrink:0}
.dashq-greet{font-family:var(--f-display);font-weight:600;font-size:26px;letter-spacing:-.015em;line-height:1.15;margin:8px 0 0}
.dashq-greet em{font-style:italic;color:var(--gold)}
.dashq-greet em.ok{color:var(--up)}
#dash-queue{margin:0 0 18px}
.dashq-card{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-4);overflow:hidden;box-shadow:var(--shadow-card)}
.dashq-row{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line-1)}
.dashq-row:last-child{border-bottom:none}
.dashq-row.urgent{background:var(--g2-subtle)}
.dashq-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;flex-shrink:0;font-size:16px;line-height:1;background:var(--info-sub);border:1px solid #38bdf844;color:var(--info)}
.dashq-ico.warn{background:var(--warn-sub);border-color:#f59e0b44;color:var(--warn)}
.dashq-ico.red{background:var(--down-sub);border-color:#ef444444;color:var(--down)}
.dashq-ico.up{background:var(--up-sub);border-color:#22c55e44;color:var(--up)}
.dashq-ico.sky{background:var(--info-sub);border-color:#38bdf844;color:var(--info)}
.dashq-body{flex:1;min-width:0}
.dashq-t{font-size:13.5px;font-weight:700;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashq-d{font-family:var(--f-mono);font-size:10.5px;color:var(--text-3);letter-spacing:.03em;margin-top:3px}
.dashq-badge{flex-shrink:0;font-family:var(--f-mono);font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--down);background:var(--down-sub);border:1px solid #ef444440;border-radius:7px;padding:2px 7px}
.dashq-act{flex-shrink:0;border-radius:9px;padding:7px 14px;font-size:12px;font-weight:700;font-family:var(--f-ui);cursor:pointer;white-space:nowrap;transition:all .15s}
.dashq-act.primary{background:var(--gold);border:1px solid var(--gold);color:#241803}
.dashq-act.primary:hover{background:var(--gold2);border-color:var(--gold2)}
.dashq-act.ghost{background:transparent;border:1px solid var(--border2);color:var(--txt2)}
.dashq-act.ghost:hover{color:var(--text-1);border-color:var(--border3)}
.dashq-more{display:block;width:100%;text-align:center;padding:9px;background:transparent;border:none;border-top:1px solid var(--line-1);color:var(--sky-1);font-family:var(--f-mono);font-size:11px;letter-spacing:.03em;cursor:pointer}
.dashq-more:hover{background:var(--sky-sub)}
/* KPI doorway modifier — serif numeral over the existing fm2-kpi card */
.fm2-kpi.door .fm2-kpi-val{font-family:var(--f-display);font-weight:600;font-size:26px;letter-spacing:-.01em}
/* Grouped tab chrome — visual only; buttons keep their setDashTab contract */
.dashq-tabbar{display:flex;gap:14px;margin-bottom:16px;border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch}
.dashq-tabgrp{display:flex;flex-direction:column;justify-content:flex-end;flex-shrink:0}
.dashq-tabgrp+.dashq-tabgrp{border-left:1px solid var(--line-1);padding-left:14px}
.dashq-tabgrp-lbl{font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-4);padding:0 10px;margin-bottom:2px}
.dashq-tabgrp-row{display:flex;gap:2px}
.dashq-tab-badge{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;margin-left:6px;border-radius:8px;background:var(--gold);color:#241803;font-family:var(--f-mono);font-size:9.5px;font-weight:700;line-height:1;vertical-align:1px}
@media(max-width:640px){
  .dashq-greet{font-size:21px}
  .dashq-row{flex-wrap:wrap;gap:10px;padding:12px 14px}
  .dashq-body{flex:1 1 60%}
  .dashq-t{white-space:normal}
  .dashq-act{margin-left:auto}
}

/* Sell page enhancements (v2) — competition panel + Pro fee comparison */
.fm2-sell-comp{margin-top:14px;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:14px 16px}
.fm2-sell-comp-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.fm2-sell-comp-title{font-family:var(--f-display);font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);display:flex;align-items:center;gap:8px}
.fm2-sell-comp-title em{font-style:italic}
.fm2-sell-comp-sub{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em}
.fm2-sell-comp-empty{font-family:var(--f-mono);font-size:11px;color:var(--text-3);padding:12px;text-align:center;letter-spacing:.02em}
.fm2-sell-comp-empty b{color:var(--up);font-weight:600;font-style:normal}
.fm2-sell-comp-rows{display:flex;flex-direction:column;gap:6px}
.fm2-sell-comp-row{display:grid;grid-template-columns:1fr 70px 70px 80px;gap:10px;align-items:center;padding:8px 10px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);font-family:var(--f-ui);font-size:12px}
.fm2-sell-comp-row.you{background:linear-gradient(135deg,var(--sky-sub),transparent);border-color:var(--sky)}
.fm2-sell-comp-seller{color:var(--text-2);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm2-sell-comp-cond,.fm2-sell-comp-lang{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.04em}
.fm2-sell-comp-price{font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--text-1);text-align:right;font-feature-settings:"tnum"}
.fm2-sell-comp-hint{margin-top:8px;font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.02em;line-height:1.5}
.fm2-sell-comp-hint.warn{color:var(--warn)}
.fm2-sell-comp-hint.good{color:var(--up)}
.fm2-sell-fee{margin-top:10px;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:14px 16px;font-family:var(--f-ui);font-size:13px;display:flex;flex-direction:column;gap:6px}
.fm2-sell-fee-row{display:flex;justify-content:space-between;align-items:center;color:var(--text-2)}
.fm2-sell-fee-row .k{color:var(--text-3);font-family:var(--f-mono);font-size:11px;letter-spacing:.03em}
.fm2-sell-fee-row .v{font-family:var(--f-mono);font-size:13px;color:var(--text-1);font-feature-settings:"tnum"}
.fm2-sell-fee-row.neg .v{color:var(--down)}
.fm2-sell-fee-row.grand{padding-top:8px;margin-top:4px;border-top:1px solid var(--line-1)}
.fm2-sell-fee-row.grand .k{color:var(--text-1);font-family:var(--f-ui);font-size:13px;font-weight:500;text-transform:none;letter-spacing:0}
.fm2-sell-fee-row.grand .v{color:var(--up);font-size:15px;font-weight:600}
.fm2-sell-fee-pro{margin-top:8px;padding:10px 12px;background:linear-gradient(135deg,rgba(251,191,36,.1),transparent);border:1px solid rgba(251,191,36,.35);border-radius:var(--r-2);font-family:var(--f-mono);font-size:11px;color:var(--text-2);letter-spacing:.02em;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.fm2-sell-fee-pro b{color:var(--warn);font-weight:700;font-style:normal}
.fm2-sell-fee-pro .link{color:var(--sky-1);cursor:pointer;text-decoration:underline;font-family:var(--f-ui);font-size:11px}


/* Checkout picker (v2) — shipping method + payment provider tiles */
.fm2-ckb{position:fixed;inset:0;background:rgba(5,8,15,.7);z-index:9999;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:20px;animation:fm2-fade .15s ease}
@keyframes fm2-fade{from{opacity:0}to{opacity:1}}
.fm2-ckb-panel{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-4);padding:24px;width:100%;max-width:440px;box-shadow:var(--shadow-float)}
.fm2-ckb-title{font-family:var(--f-display);font-size:20px;font-weight:500;letter-spacing:-.015em;color:var(--text-1);margin:0 0 6px;display:flex;align-items:center;gap:10px}
.fm2-ckb-title em{font-style:italic}
.fm2-ckb-sub{font-family:var(--f-mono);font-size:11px;color:var(--text-3);margin-bottom:18px;letter-spacing:.04em}
.fm2-ckb-eyebrow{font-family:var(--f-mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);margin:18px 0 8px}
.fm2-ckb-eyebrow:first-of-type{margin-top:0}
.fm2-ckb-tile{display:flex;align-items:center;gap:14px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-3);padding:14px 16px;cursor:pointer;text-align:left;transition:all .15s;font-family:var(--f-ui);width:100%}
.fm2-ckb-tile:hover{border-color:var(--sky);background:var(--ink-4);transform:translateY(-1px);box-shadow:var(--shadow-card)}
.fm2-ckb-tile-icon{font-size:22px;line-height:1;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--ink-4);border-radius:var(--r-2);border:1px solid var(--line-1)}
.fm2-ckb-tile-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fm2-ckb-tile-title{font-size:13px;font-weight:500;color:var(--text-1);letter-spacing:.01em}
.fm2-ckb-tile-sub{font-size:11px;color:var(--text-3);font-family:var(--f-mono);letter-spacing:.03em}
.fm2-ckb-tile-price{font-family:var(--f-mono);font-size:14px;font-weight:600;color:var(--text-1);letter-spacing:-.01em;font-feature-settings:"tnum"}
.fm2-ckb-tiles{display:flex;flex-direction:column;gap:8px}
.fm2-ckb-cancel{display:block;margin:16px auto 0;background:transparent;border:none;color:var(--text-3);cursor:pointer;font-family:var(--f-mono);font-size:11px;letter-spacing:.05em;padding:6px 10px;border-radius:var(--r-2);transition:color .15s}
.fm2-ckb-cancel:hover{color:var(--text-1)}

/* Cart (v2) — fm2-surface per-seller groups */
.fm2-cart-empty{text-align:center;padding:48px 20px;color:var(--text-3)}
.fm2-cart-empty-icon{font-size:48px;margin-bottom:10px}
.fm2-cart-empty-title{font-family:var(--f-display);font-size:18px;font-weight:500;color:var(--text-1);margin-bottom:6px}
.fm2-cart-empty-sub{font-size:13px;color:var(--text-3);margin-bottom:16px;line-height:1.5}
.fm2-cart-total-line{font-family:var(--f-mono);font-size:11px;color:var(--text-3);text-align:right;margin:-4px 0 14px;letter-spacing:.03em}
.fm2-cart-total-line strong{color:var(--up);font-weight:600}
.fm2-cart-group{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow-card)}
.fm2-cart-group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.fm2-cart-seller{display:flex;align-items:center;gap:10px;cursor:pointer}
.fm2-cart-seller-dot{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--sky),#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--f-mono);font-weight:700;font-size:11px;flex-shrink:0}
.fm2-cart-seller-label{font-family:var(--f-ui);font-size:12px;font-weight:500;color:var(--sky-1);letter-spacing:.01em}
.fm2-cart-item{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line-1)}
.fm2-cart-item-art{width:40px;height:56px;object-fit:cover;border-radius:var(--r-2);background:var(--ink-3);flex-shrink:0;display:block}
.fm2-cart-item-ph{width:40px;height:56px;background:var(--ink-3);border-radius:var(--r-2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;color:var(--text-3)}
.fm2-cart-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.fm2-cart-item-name{font-family:var(--f-ui);font-size:13px;font-weight:500;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-cart-item-name .fm2-cart-cond{color:var(--text-3);font-size:10px;font-family:var(--f-mono);margin-left:4px;letter-spacing:.03em}
.fm2-cart-item-meta{display:flex;align-items:center;gap:8px;font-size:10px;font-family:var(--f-mono)}
.fm2-cart-item-price{font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--text-1);font-feature-settings:"tnum";letter-spacing:-.01em}
.fm2-cart-item-rm{background:transparent;border:none;color:var(--text-3);cursor:pointer;padding:4px 6px;font-size:14px;border-radius:var(--r-1);transition:color .15s,background .15s}
.fm2-cart-item-rm:hover{color:var(--down);background:var(--down-sub)}
.fm2-cart-warn{padding:8px 10px;background:var(--down-sub);color:var(--down);font-family:var(--f-mono);font-size:11px;border-radius:var(--r-2);margin-top:10px;letter-spacing:.02em;border:1px solid #ef444430}
.fm2-cart-totals{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-1);display:flex;flex-direction:column;gap:4px;font-family:var(--f-mono);font-size:12px}
.fm2-cart-totals-row{display:flex;justify-content:space-between;color:var(--text-3);letter-spacing:.02em}
.fm2-cart-totals-row.grand{font-weight:600;font-size:14px;color:var(--text-1);margin-top:2px}
.fm2-cart-totals-row.grand span:last-child{color:var(--up)}
.fm2-cart-totals-row span:last-child{color:var(--text-1);font-feature-settings:"tnum"}
.fm2-cart-checkout{width:100%;margin-top:12px;padding:11px;border-radius:var(--r-2);background:var(--sky);color:#fff;border:1px solid var(--sky);font-family:var(--f-ui);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;letter-spacing:.01em}
.fm2-cart-checkout:hover:not(:disabled){background:var(--sky-1);border-color:var(--sky-1);box-shadow:0 10px 24px -10px var(--sky-glow)}
.fm2-cart-checkout:disabled{opacity:.45;cursor:not-allowed;background:var(--ink-3);border-color:var(--line-1);color:var(--text-3)}

/* Grading guide (v2) — fm2-surface cards with grade color tokens */
.fm2-grade-intro{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:16px 20px;font-size:14px;color:var(--text-2);line-height:1.55;margin-bottom:20px}
.fm2-grade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-bottom:20px}
.fm2-grade-card{display:flex;gap:16px;align-items:flex-start;background:var(--ink-2);border:1px solid var(--line-1);border-left:4px solid var(--grade-color,var(--grade-raw));border-radius:var(--r-3);padding:18px 20px;box-shadow:var(--shadow-card);transition:border-color .15s,transform .15s}
.fm2-grade-card:hover{border-color:var(--line-2);transform:translateY(-2px)}
.fm2-grade-badge{flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--grade-color,var(--grade-raw));color:#0b1020;font-family:var(--f-mono);font-size:15px;font-weight:700;letter-spacing:.04em;border-radius:var(--r-2);box-shadow:0 4px 12px -4px rgba(0,0,0,.35)}
.fm2-grade-body{flex:1;min-width:0}
.fm2-grade-title{font-family:var(--f-display);font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);margin-bottom:6px}
.fm2-grade-desc{font-size:13px;line-height:1.55;color:var(--text-2)}
.fm2-grade-tip{background:linear-gradient(135deg,rgba(251,191,36,.1),transparent);border:1px solid rgba(251,191,36,.35);border-radius:var(--r-3);padding:14px 18px;font-size:13px;color:var(--text-2);line-height:1.55}
.fm2-grade-tip strong{color:var(--warn)}

/* fm2 listing card — v2 replacement for .lcard used by Home carousels */
.home-scroll-row .fm2-listing-card{flex:0 0 220px;scroll-snap-align:start}
.fm2-listing-card{position:relative;display:flex;flex-direction:column;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);overflow:hidden;cursor:pointer;transition:border-color .2s,box-shadow .2s;will-change:transform}
.fm2-listing-card:hover{border-color:var(--line-2);box-shadow:var(--shadow-pop)}
.fm2-lc-art{position:relative;aspect-ratio:5/7;background:linear-gradient(145deg,var(--ink-3),var(--ink-1));overflow:hidden}
.fm2-lc-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.fm2-listing-card:hover .fm2-lc-art img{transform:scale(1.04)}
.fm2-lc-art::after{content:'';position:absolute;inset:0;background:var(--foil-shimmer);background-size:220% 220%;mix-blend-mode:screen;opacity:0;transition:opacity .2s;pointer-events:none}
.fm2-listing-card:hover .fm2-lc-art::after{opacity:.35;animation:fm2-shimmer 2.8s linear infinite}
.fm2-lc-rb{position:absolute;top:8px;left:8px;z-index:2}
.fm2-lc-cond{position:absolute;top:8px;right:8px;z-index:2;font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.06em;padding:3px 7px;border-radius:3px;background:rgba(11,16,32,.82);border:1px solid var(--line-2);color:var(--text-2);backdrop-filter:blur(4px)}
.fm2-lc-cond.NM{color:var(--up);border-color:#22c55e40}
.fm2-lc-cond.LP{color:var(--sky-1);border-color:#06b6d440}
.fm2-lc-cond.PL{color:var(--warn);border-color:#f59e0b40}
.fm2-lc-cond.MP{color:var(--warn);border-color:#f59e0b40}
.fm2-lc-cond.HP{color:var(--down);border-color:#ef444440}
.fm2-lc-lang{position:absolute;bottom:8px;left:8px;z-index:2;font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.06em;padding:2px 6px;border-radius:3px;background:rgba(0,0,0,.78);border:1px solid var(--line-2);color:var(--warn)}
.fm2-lc-finish{position:absolute;bottom:8px;right:8px;z-index:2;font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.05em;padding:2px 6px;border-radius:3px;background:rgba(11,16,32,.82);border:1px solid var(--foil-2);color:var(--foil-1);backdrop-filter:blur(4px)}
.fm2-lc-body{padding:11px 13px 10px;display:flex;flex-direction:column;gap:3px}
.fm2-lc-name{font-family:var(--f-display);font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm2-lc-set{font-family:var(--f-mono);font-size:10px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}
.fm2-lc-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.fm2-lc-price{font-family:var(--f-mono);font-size:17px;font-weight:600;color:var(--text-1);letter-spacing:-.01em;font-feature-settings:"tnum"}
.fm2-lc-ship{font-family:var(--f-mono);font-size:9px;color:var(--text-3);text-align:right;line-height:1.35}
.fm2-lc-from{display:block;font-size:8px;opacity:.7;letter-spacing:.03em;white-space:nowrap}
.fm2-lc-seller{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-3);border-top:1px solid var(--line-1);padding:7px 13px;background:var(--ink-1)}
.fm2-lc-seller-dot{width:16px;height:16px;border-radius:50%;background:var(--sky-sub);color:var(--sky-2);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:9px;font-weight:700;text-transform:uppercase;flex-shrink:0}
.fm2-lc-seller-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm2-lc-seller-name.link{color:var(--sky-1)}
.fm2-lc-seller-star{color:var(--warn)}
.fm2-lc-seller-rating{font-family:var(--f-mono);font-size:10px;color:var(--text-2)}
.fm2-lc-ptype{position:absolute;top:8px;left:8px;z-index:2;font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.06em;padding:3px 7px;border-radius:3px;background:var(--sky-sub);color:var(--sky-2);border:1px solid #0ea5e944;text-transform:uppercase}
.fm2-lc-sealed-ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(145deg,var(--ink-3),var(--ink-1))}
.fm2-lc-sealed-ph-icon{font-size:42px;opacity:.75}
.fm2-lc-sealed-ph-label{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;color:var(--text-3);text-transform:uppercase}
@media (max-width:720px){
  .home-scroll-row .fm2-listing-card{flex:0 0 170px}
  .fm2-lc-price{font-size:15px}
  .fm2-lc-name{font-size:13px}
}

/* Ticker band override (when used on home; .fm2-ticker-band already defined in foundation) */
.fm2-ticker-band{margin-top:40px}

/* Sell flow (v2) — scoped overrides for the seller wizard surface */
#s-sell .sell-head h1{font-family:var(--f-display);font-size:32px;font-weight:400;letter-spacing:-.02em;margin:0 0 6px;color:var(--text-1)}
#s-sell .sell-head p{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em;line-height:1.6;margin:0}
#s-sell .form-block{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:18px 20px;margin-bottom:14px;box-shadow:var(--shadow-card)}
#s-sell .fb-title{font-family:var(--f-display);font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--text-1);margin-bottom:14px;display:flex;align-items:center;gap:10px}
#s-sell .form-block.collapsed > .fb-title{font-family:var(--f-ui);font-size:14px;font-weight:600;margin-bottom:0}
#s-sell .fb-title button{font-family:var(--f-mono);font-size:10px;color:var(--sky-1);letter-spacing:.04em;text-transform:uppercase;background:transparent;border:none;cursor:pointer;text-decoration:none}
#s-sell .fb-title button:hover{color:var(--sky-2)}
#s-sell .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
#s-sell .form-grid.g3{grid-template-columns:repeat(3,1fr)}
#s-sell .form-grid.g1{grid-template-columns:1fr}
#s-sell .fg{display:flex;flex-direction:column;gap:5px}
#s-sell .fl{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-weight:500}
#s-sell .fi{background:var(--ink-3);border:1px solid var(--line-1);color:var(--text-1);font-family:var(--f-ui);font-size:13px;padding:9px 12px;border-radius:var(--r-2);outline:none;transition:all .15s;width:100%}
#s-sell .fi:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
#s-sell .fi::placeholder{color:var(--text-3)}
#s-sell .fi textarea,#s-sell textarea.fi{min-height:80px;resize:vertical;line-height:1.5}
#s-sell .fhint{font-family:var(--f-mono);font-size:9px;color:var(--text-3);letter-spacing:.03em;margin-top:2px}
#s-sell .submit-btn{background:var(--sky);color:#fff;border:1px solid var(--sky);border-radius:var(--r-2);padding:12px 22px;font-family:var(--f-ui);font-weight:500;font-size:13px;letter-spacing:.01em;cursor:pointer;transition:all .15s;margin-top:12px;width:100%}
#s-sell .submit-btn:hover{background:var(--sky-1);border-color:var(--sky-1);box-shadow:0 10px 24px -10px var(--sky-glow)}
#s-sell .submit-btn.green-btn{background:var(--up);border-color:var(--up);color:#051709}
#s-sell .submit-btn.sw3-publish{width:auto;flex:none;padding:12px 26px}
#s-sell .submit-btn.green-btn:hover{background:#16a34a;border-color:#16a34a;box-shadow:0 10px 24px -10px rgba(34,197,94,.4)}
#s-sell .scan-btn{flex:none;height:46px;padding:0 16px;background:transparent;border:1px solid var(--line-2);border-radius:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-ui);font-size:13px;font-weight:600;color:var(--text-2);transition:all .15s}
#s-sell .scan-btn:hover{border-color:var(--sky);color:var(--text-1)}
#s-sell .scan-btn .scan-icon{font-size:16px}
/* Scan is secondary to search — soft accent, no gradient slab */
#s-sell .scan-btn.scan-primary{background:var(--sky-sub);border:1px solid #0ea5e94d;color:var(--sky-1);font-weight:600;font-size:13px;box-shadow:none}
#s-sell .scan-btn.scan-primary:hover{background:#0ea5e92e;box-shadow:none}
#s-sell .scan-hint{font-family:var(--f-ui);font-size:12px;color:var(--text-3);margin-top:8px;line-height:1.55}
#s-sell .sw3-search .sw3-search-in{background:none;border:none;box-shadow:none;padding:0;border-radius:0;width:auto;flex:1;min-width:0;height:100%;font-size:14px}
#s-sell .sw3-search .sw3-search-in:focus{border:none;box-shadow:none}
#s-sell .card-preview-strip{display:none;align-items:center;gap:14px;background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.24);border-radius:13px;padding:13px 16px;margin-top:14px}
#s-sell .card-preview-strip.show{display:flex}
#s-sell .cps-img{width:46px;height:64px;object-fit:contain;border-radius:var(--r-2);background:var(--ink-4)}
#s-sell .cps-name{font-family:var(--f-ui);font-size:14.5px;font-weight:700;color:var(--text-1);margin-bottom:0}
#s-sell .cps-set{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em;margin:3px 0 4px}
#s-sell .cps-price{font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--up);letter-spacing:-.01em}
#s-sell .cac{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);box-shadow:var(--shadow-float);max-height:320px;overflow-y:auto;z-index:50;display:none}
#s-sell .cac.show{display:block}
#s-sell .cac-item{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line-1);cursor:pointer;transition:background .12s;align-items:center}
#s-sell .cac-item:last-child{border-bottom:none}
#s-sell .cac-item:hover{background:var(--ink-3)}
#s-sell .cac-img{width:40px;height:56px;object-fit:contain;border-radius:var(--r-2);background:var(--ink-3);flex-shrink:0}
#s-sell .cac-name{font-family:var(--f-ui);font-size:13px;font-weight:500;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#s-sell .cac-num{font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.03em}
#s-sell .cac-set{font-family:var(--f-mono);font-size:10px;color:var(--text-3);display:flex;align-items:center;gap:4px;flex-wrap:wrap}
#s-sell .cac-setcode{font-family:var(--f-mono);font-size:9px;background:var(--ink-3);padding:1px 5px;border-radius:3px;color:var(--text-2);text-transform:uppercase;border:1px solid var(--line-1);letter-spacing:.04em}
#s-sell .cac-price{font-family:var(--f-mono);font-size:11px;color:var(--up);font-weight:600;white-space:nowrap}
#s-sell .photo-upload-row{display:flex;gap:12px;margin-top:8px}
#s-sell .photo-slot{flex:1;position:relative;border:2px dashed var(--line-2);background:var(--ink-3);border-radius:var(--r-3);padding:16px 8px;text-align:center;cursor:pointer;transition:all .15s;min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden}
#s-sell .photo-slot:hover{border-color:var(--sky);background:var(--ink-4)}
#s-sell .photo-slot.has-photo{border-style:solid;border-color:var(--up);padding:0}
#s-sell .photo-placeholder{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em;line-height:1.5}
#s-sell .photo-thumb{width:100%;height:100%;object-fit:contain;border-radius:var(--r-2)}
#s-sell .photo-remove{position:absolute;top:4px;right:4px;background:rgba(11,16,32,.85);border:1px solid var(--line-2);color:var(--text-1);width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center}
#s-sell .mkt-type-toggle{display:inline-flex;gap:2px;padding:2px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);margin-top:12px}
#s-sell .mkt-type-btn{padding:7px 14px;background:transparent;border:none;color:var(--text-3);font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border-radius:6px;transition:all .15s}
#s-sell .mkt-type-btn.active{background:var(--ink-5);color:var(--text-1)}
#s-sell .mkt-type-btn:hover:not(.active){color:var(--text-1)}

/* Market (v2) — scoped overrides for the filter rail + toolbar */
#s-market .market-head h1{font-family:var(--f-display);font-size:28px;font-weight:400;letter-spacing:-.02em;margin:0}
#s-market .market-head h1 em{font-style:italic}
#s-market .market-count{font-family:var(--f-mono);font-size:11px;color:var(--text-3);letter-spacing:.03em}
#s-market .mkt-type-toggle{display:inline-flex;gap:2px;padding:2px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2)}
#s-market .mkt-type-btn{padding:6px 14px;background:transparent;border:none;color:var(--text-3);font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border-radius:6px;transition:all .15s}
#s-market .mkt-type-btn:hover:not(.active){color:var(--text-1);background:var(--ink-4)}
#s-market .mkt-type-btn.active{background:var(--ink-5);color:var(--text-1)}
#s-market .filters{background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--r-3);padding:18px;box-shadow:var(--shadow-card)}
#s-market .filter-group{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line-1)}
#s-market .filter-group:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
#s-market .fg-label{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:10px;font-weight:500}
#s-market .fg-opts{display:flex;flex-direction:column;gap:3px}
#s-market .fg-opt{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--r-2);font-family:var(--f-ui);font-size:12px;color:var(--text-2);cursor:pointer;transition:all .12s}
#s-market .fg-opt:hover{background:var(--ink-3);color:var(--text-1)}
#s-market .fg-opt input[type=checkbox]{width:13px;height:13px;accent-color:var(--sky);flex-shrink:0;cursor:pointer}
#s-market .filter-select{width:100%;padding:8px 10px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);color:var(--text-1);font-family:var(--f-ui);font-size:12px;outline:none;cursor:pointer;transition:all .15s}
#s-market .filter-select:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
#s-market .filter-num{flex:1;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);color:var(--text-1);font-family:var(--f-mono);font-size:12px;padding:8px 10px;outline:none;transition:all .15s;font-feature-settings:"tnum"}
#s-market .filter-num:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
#s-market .filter-range-row{display:flex;gap:6px;align-items:center}
#s-market .filter-clear{padding:7px 12px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);color:var(--text-2);font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:all .15s}
#s-market .filter-clear:hover{border-color:var(--line-2);color:var(--text-1);background:var(--ink-4)}
#s-market .market-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
#s-market .search-inp{flex:1;min-width:200px;padding:10px 14px;background:var(--ink-3);border:1px solid var(--line-1);border-radius:var(--r-2);color:var(--text-1);font-family:var(--f-ui);font-size:13px;outline:none;transition:all .15s}
#s-market .search-inp:focus{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-sub)}
/* ═══ Batch 4 — Browse filter redesign (BrowseOptA rail + chips + results bar
   + BrowseMobile bottom sheet). Layout/hierarchy from the design handoff;
   colors strictly from the site token system (sky = buyer-side accent). ═══ */
/* fadeIn animates transform, which makes .section.active a containing block
   for position:fixed while the transform applies — the bottom sheet would
   anchor to the section instead of the viewport. Give the market section a
   transform-free fade (same duration/easing) so fixed children always work. */
@keyframes fadeInFlat{from{opacity:0}to{opacity:1}}
#s-market.section.active{animation-name:fadeInFlat}
#s-market .market-layout{grid-template-columns:252px 1fr}
/* Rail header */
#s-market .frail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
#s-market .frail-title{font-family:var(--f-mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
#s-market .frail-clear{background:none;border:none;padding:3px 6px;font-family:var(--f-ui);font-size:12px;font-weight:600;color:var(--sky);cursor:pointer;border-radius:6px;transition:background .15s}
#s-market .frail-clear:hover{background:var(--sky-sub)}
#s-market .frail-groups{display:flex;flex-direction:column;gap:8px}
/* Accordion groups — inset rows, one open at a time */
#s-market .filter-group.fga{margin:0;padding:0;border-bottom:none;border:1px solid var(--line-1);border-radius:11px;background:var(--ink-3);overflow:hidden}
#s-market .fga-head{display:flex;align-items:center;gap:9px;width:100%;min-height:42px;padding:10px 13px;background:none;border:none;cursor:pointer;text-align:left;color:var(--text-1);font-family:var(--f-ui)}
#s-market .fga-lbl{font-size:13px;font-weight:700}
#s-market .fga-n{display:inline-block;font-family:var(--f-mono);font-size:10px;font-weight:600;color:var(--sky);background:var(--sky-sub);border-radius:6px;padding:1px 7px}
#s-market .fga-n[hidden]{display:none}
#s-market .fga-sum{display:none}
#s-market .fga-chev{margin-left:auto;color:var(--text-3);flex-shrink:0;transition:transform .18s}
#s-market .fga.open .fga-chev{transform:rotate(180deg)}
#s-market .fga-body{padding:2px 13px 12px}
#s-market .fga .fg-opts{gap:3px;max-height:230px;overflow-y:auto}
#s-market .fga .fg-opt{padding:5px 2px}
#s-market .fgo-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#s-market .fgo-n{margin-left:auto;font-family:var(--f-mono);font-size:10px;color:var(--text-3);flex-shrink:0}
/* Custom checkbox — accent fill + white check when on */
#s-market .fg-opt input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:5px;border:1px solid var(--line-3);background:transparent;margin:0;display:grid;place-items:center;transition:all .12s}
#s-market .fg-opt input[type=checkbox]:checked{background:var(--sky);border-color:var(--sky)}
#s-market .fg-opt input[type=checkbox]:checked::after{content:'';width:8px;height:4px;border:2px solid #fff;border-top:none;border-right:none;transform:rotate(-45deg) translate(0,-1px)}
#s-market .fg-opt:has(input:checked){color:var(--text-1)}
#s-market .fga-apply{display:block;width:100%;margin-top:9px;padding:7px 0;border:none;border-radius:8px;background:var(--sky);color:#fff;font-family:var(--f-ui);font-size:12px;font-weight:700;cursor:pointer;transition:filter .15s}
#s-market .fga-apply:hover{filter:brightness(1.08)}
#s-market .frail-save{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:10px 13px;border-radius:11px;border:1px dashed var(--line-3);background:transparent;font-family:var(--f-ui);font-size:12.5px;font-weight:600;color:var(--gold);cursor:pointer;transition:border-color .15s}
#s-market .frail-save:hover{border-color:var(--gold)}
/* Tabs + applied chips row */
#s-market .mkt-tabs-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
#s-market .mkt-tabs-div{width:1px;height:18px;background:var(--line-2)}
#s-market .mkt-chips{align-items:center;gap:6px;flex-wrap:wrap}
#s-market .mkc{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;font-family:var(--f-ui);font-size:12px;font-weight:600;white-space:nowrap;max-width:240px;color:var(--sky-2);background:var(--sky-sub);border:1px solid #0ea5e944;cursor:pointer;transition:border-color .15s}
#s-market .mkc:hover{border-color:#0ea5e988}
body[data-theme="light"] #s-market .mkc{color:var(--sky-ink)}
#s-market .mkc-x{font-size:14px;line-height:1;opacity:.8}
#s-market .mkc-clear{color:var(--text-3);background:var(--ink-3);border-color:var(--line-2)}
/* Results bar — serif count + sort + view toggle */
#s-market .mkt-rbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
#s-market .mkt-rbar-sp{flex:1}
#s-market .mkt-rbar .market-count{font-family:var(--f-body);font-size:13px;color:var(--text-3);letter-spacing:0;text-transform:none}
#s-market .mkt-rbar .market-count strong{font-family:var(--f-display);font-size:17px;font-weight:600;color:var(--text-1);margin-right:2px}
#s-market .mkt-count-sub{font-size:11px;color:var(--text-3)}
#s-market .mkt-sort{width:auto;min-width:150px}
/* Mobile filter button (in the search row) */
#s-market .mkt-fbtn{display:none;position:relative;align-items:center;justify-content:center;width:44px;height:40px;flex-shrink:0;border-radius:var(--r-2);background:var(--ink-3);border:1px solid var(--line-2);color:var(--text-1);cursor:pointer}
#s-market .mkt-fbtn-n{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;border-radius:9px;background:var(--sky);color:#fff;font-family:var(--f-mono);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}
#s-market .mkt-fbtn-n[hidden]{display:none}
/* Sheet chrome — hidden on desktop */
#s-market .fsheet-grab,#s-market .fsheet-cta{display:none}
.fsheet-ov{display:none}
@media(max-width:900px){
  #s-market .market-layout{grid-template-columns:1fr}
  #s-market .mkt-fbtn{display:inline-flex}
  /* The rail becomes a bottom sheet (BrowseMobile) */
  #s-market .filters{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:481;margin:0 auto;max-width:560px;max-height:82dvh;display:flex;flex-direction:column;border-radius:20px 20px 0 0;border:1px solid var(--line-2);border-bottom:none;box-shadow:0 -30px 60px -20px rgba(0,0,0,.55);background:var(--ink-2);padding:8px 16px 0;transform:translateY(105%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}
  #s-market .filters.sheet-open{transform:translateY(0)}
  #s-market .fsheet-grab{display:block;position:relative;width:38px;height:4px;border-radius:4px;background:var(--line-3);margin:4px auto 12px;flex-shrink:0;cursor:grab}
  #s-market .fsheet-grab::before{content:'';position:absolute;inset:-16px -70px}
  #s-market .frail-title{font-family:var(--f-display);font-size:17px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-1)}
  #s-market .frail-groups{overflow-y:auto;flex:1;min-height:0;padding-bottom:10px}
  #s-market .fga-head{min-height:48px}
  #s-market .fga .fg-opt{min-height:44px;padding:8px 2px}
  #s-market .fga-n{display:none}
  #s-market .fga-sum{display:inline;margin-left:auto;font-family:var(--f-mono);font-size:11.5px;color:var(--sky-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45%}
  body[data-theme="light"] #s-market .fga-sum{color:var(--sky-ink)}
  #s-market .fga-sum:empty{display:none}
  #s-market .fga-chev{margin-left:0}
  #s-market .fga-sum:empty+.fga-chev{margin-left:auto}
  #s-market .fsheet-cta{display:block;flex-shrink:0;background:var(--ink-2);border-top:1px solid var(--line-1);margin:0 -16px;padding:10px 16px calc(12px + env(safe-area-inset-bottom))}
  #s-market .fsheet-show{width:100%;height:50px;border:none;border-radius:12px;background:var(--sky);color:#fff;font-family:var(--f-ui);font-size:14.5px;font-weight:700;cursor:pointer}
  .fsheet-ov{display:block;position:fixed;inset:0;background:var(--overlay);z-index:480;opacity:0;pointer-events:none;transition:opacity .25s}
  .fsheet-ov.show{opacity:1;pointer-events:auto}
}

/* Mobile polish — v2 screens at ≤720px (tablets) and ≤480px (phones).
   Consolidated here so responsive tweaks live in one block rather than
   scattered across each component's section. */
@media(max-width:720px){
  /* Home */
  .fm2-hero-stats{gap:8px}
  .fm2-home-sec{margin-top:40px;padding:0 14px}
  .fm2-sec-title{font-size:22px}
  .fm2-set-grid{grid-template-columns:1fr}
  /* Set detail */
  .fm2-sd-section-title{font-size:18px}
  /* Seller storefront */
  .fm2-sf-hero{padding:32px 20px 26px;gap:16px}
  .fm2-sf-av{width:72px;height:72px;font-size:26px}
  .fm2-sf-name{font-size:28px}
  .fm2-sf-section-title{font-size:18px}
  .fm2-sf-rating-big{font-size:34px;min-width:70px}
  .fm2-sf-listings-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  /* Wishlist */
  .fm2-wl-title{font-size:26px}
  .fm2-wl-grid{grid-template-columns:1fr}
  /* Dashboard */
  .fm2-kpi-row{grid-template-columns:repeat(2,1fr);gap:8px}
  .fm2-kpi{padding:12px}
  .fm2-kpi-val{font-size:20px}
  .fm2-kpi-spark{height:24px}
  /* Messages */
  .fm2-msg-wrap{padding:16px 14px 40px}
  .fm2-msg-title{font-size:24px}
  .fm2-msg-chat-msgs{padding:14px}
  .fm2-msg-bubble{max-width:85%;font-size:13px}
  /* Cart */
  .fm2-cart-group{padding:12px}
  /* Sell */
  .fm2-sell-comp-row{grid-template-columns:1fr 60px 60px;gap:8px;padding:7px 8px}
  .fm2-sell-comp-row .fm2-sell-comp-cond{display:none}
  .fm2-sell-fee-row{font-size:12px}
  /* Vault binder */
  .fm2-binder-page{padding:16px}
  /* Checkout pickers */
  .fm2-ckb-panel{padding:20px}
  .fm2-ckb-title{font-size:18px}
  .fm2-ckb-tile{gap:10px;padding:12px 14px}
  .fm2-ckb-tile-icon{width:36px;height:36px;font-size:20px}
  /* Dashboard My Listings — tight on small screens */
  .fm2-dml-row{gap:10px;padding:9px 8px}
  .fm2-dml-art,.fm2-dml-ph{width:36px;height:50px}
  .fm2-dml-btn{padding:4px 8px;font-size:9px}
  /* Grading guide */
  .fm2-grade-card{padding:14px 16px;gap:12px}
  .fm2-grade-badge{width:44px;height:44px;font-size:13px}
  .fm2-grade-title{font-size:16px}
}
@media(max-width:480px){
  /* Home */
  .fm2-hero-stats .fm2-hero-stat-val{font-size:18px}
  /* Listing-card carousels + sealed */
  .home-scroll-row .fm2-listing-card{flex:0 0 150px}
  /* Wishlist — single column already; tighten */
  .fm2-wl-card{padding:12px;gap:10px}
  .fm2-wl-img,.fm2-wl-ph{width:56px;height:78px}
  /* Storefront listings — 2-col may be too cramped, go 1 */
  .fm2-sf-stats{grid-template-columns:repeat(2,1fr)}
  .fm2-sf-listings-grid{grid-template-columns:1fr}
  .fm2-sf-rating-panel{gap:14px;padding:14px 16px}
  /* Dashboard KPIs — stack fully on phone */
  .fm2-kpi-row{grid-template-columns:1fr}
  /* Messages conv list shorter on phone so thread has room */
  .fm2-msg-convs{max-height:180px}
  /* Navbar compacts */
  #theme-toggle-btn,#lang-btn{padding:4px 8px}
}


/* ════════════════════════════════════════════════════════════════════
   /start seller hero — calculator promoted to hero visual (ssh-*)
   Layout/hierarchy from the design handoff (SellingOptA); colors mapped
   to site tokens: gold/amber = seller accent, green = money, sky = Pro.
   sp-calc-* control styling stays in index.html's /start style block;
   these rules only add the hero card chrome + gold re-tint.
   ════════════════════════════════════════════════════════════════════ */
.sp-hero-grid.ssh-grid{grid-template-columns:1fr 440px;gap:48px;align-items:start}
@media(max-width:1100px){.sp-hero-grid.ssh-grid{grid-template-columns:1fr}.ssh-calc{max-width:480px}}
#s-start .ssh-dot{background:var(--warn);box-shadow:0 0 0 3px #f59e0b30}
#s-start .sp-h1 .ssh-gold{color:var(--warn)}
/* #s-start prefix: index.html's /start style block loads later and its bare
   .sp-btn{color:inherit;background:none} would win on equal specificity. */
#s-start .sp-btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--warn-ink);font-weight:700}
#s-start .sp-btn-gold:hover{box-shadow:0 10px 30px -8px #f59e0b55;transform:translateY(-1px)}
.ssh-ctas{align-items:center}
.ssh-micro{font-size:13px;color:var(--text-3)}
.ssh-proof{display:flex;flex-direction:column;gap:11px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line-1);max-width:460px}
.ssh-proof-row{display:flex;align-items:center;gap:11px;font-size:13.5px;color:var(--text-2);font-family:var(--f-body)}
.ssh-pi{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;flex-shrink:0;font-size:14px;background:var(--warn-sub);border:1px solid #f59e0b2e}
.ssh-calc{background:var(--ink-1);border:1px solid var(--line-2);border-radius:18px;padding:22px 24px;box-shadow:var(--shadow-float),0 0 70px -30px #f59e0b59;position:relative;z-index:1}
.ssh-calc-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.ssh-calc-lbl{font-family:var(--f-mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
#s-start .ssh-calc-toggle{margin-top:0}
.ssh-calc-sub{font-size:12px;color:var(--text-3);margin-bottom:6px;font-family:var(--f-body)}
.ssh-calc-price{display:flex;align-items:baseline;gap:6px}
.ssh-calc-price .cur{font-family:var(--f-display);font-size:20px;color:var(--text-3)}
#s-start .ssh-calc-price input{font-family:var(--f-display);font-size:38px;font-weight:500;letter-spacing:-.02em;background:transparent;color:var(--text-1);border:0;outline:none;padding:0;width:170px;line-height:1}
.ssh-calc-price input::-webkit-outer-spin-button,.ssh-calc-price input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
#s-start .ssh-slider{margin:14px 0 6px;background:linear-gradient(90deg,var(--gold),var(--ink-3))}
#s-start .ssh-slider::-webkit-slider-thumb{border-color:var(--gold);box-shadow:0 4px 12px -2px #f59e0b88}
#s-start .ssh-slider::-moz-range-thumb{border-color:var(--gold)}
.ssh-slider-scale{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:10px;color:var(--text-3);letter-spacing:.04em;margin-bottom:8px}
#s-start .ssh-calc-rows .sp-calc-row{padding:10px 0}
#s-start .ssh-calc-rows .sp-calc-row.total .num{font-size:26px}
.ssh-pct{color:var(--text-3);font-family:var(--f-mono);font-size:11px;margin-left:4px}
.ssh-pro-note{margin-top:14px;padding:11px 13px;border-radius:11px;background:var(--sky-sub);border:1px solid #0ea5e93d;font-size:12px;line-height:1.5;color:var(--text-2);font-family:var(--f-body)}
.ssh-pro-note strong{color:var(--sky-1)}
.ssh-pro-note strong.ssh-delta{color:var(--text-1)}

/* ── /start condensed check/cross comparison table (cmp2-*) ──
   6 rows × 3 cols, ≤4 words per cell. Green check = win, red cross =
   loss, neutral ~ = neither. Replaces the old prose sp-cmp grid. */
.cmp2{border:1px solid var(--line-1);border-radius:18px;overflow:hidden;background:var(--ink-1)}
.cmp2-head{display:grid;grid-template-columns:1.3fr 1fr 1fr;padding:12px 20px;border-bottom:1px solid var(--line-1);background:var(--ink-2);font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.cmp2-head .us{color:var(--warn)}
.cmp2-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:center;padding:13px 20px;border-bottom:1px solid var(--line-1);font-size:13px;font-family:var(--f-body)}
.cmp2-row:last-child{border-bottom:0}
.cmp2-dim{font-weight:700;color:var(--text-1);font-family:var(--f-ui)}
.cmp2-cell{display:inline-flex;align-items:center;gap:8px;color:var(--text-3);line-height:1.4}
.cmp2-cell.good{color:var(--text-1)}
.cmp2-ic{flex-shrink:0;font-weight:700;font-size:12px}
.cmp2-ic.y{color:var(--up)}
.cmp2-ic.n{color:var(--down)}
.cmp2-ic.m{color:var(--text-3)}
@media(max-width:720px){
  .cmp2-head{grid-template-columns:1fr 1fr}
  .cmp2-head .dim{display:none}
  .cmp2-row{grid-template-columns:1fr 1fr;row-gap:6px;padding:11px 16px}
  .cmp2-dim{grid-column:1 / -1}
}
/* ═══════════════════════════════════════════════════════════════════
   WIDE-SCREEN TIER — ≥1680px and ≥2160px (P0a · 2026-06-11)
   The base layout is a 1280px laptop design; on QHD+ monitors content
   floated in a black void at 14px type. Containers widen here, the
   auto-fill grids gain columns on their own, and the core type scale
   steps up. The codebase is px-based (not rem), so these are explicit
   per-rule bumps — root font scaling would not cascade.
   ═══════════════════════════════════════════════════════════════════ */
@media (min-width:1680px){
  body{font-size:15px}
  .page-wrap,.beta-strip,.hero,.ticker-wrap,.cat-strip,.home-block,
  .market-wrap,.dash-wrap,.footer-inner,.fm2-hero,.fm2-cat-pills,
  .fm2-home-sec,.fm2-msg-wrap{max-width:1560px}
  .xplr-wrap{max-width:1380px}
  .nav-link{font-size:14px}
  .fm2-btn{font-size:14px;padding:11px 20px}
  .fm2-btn-xl{font-size:15px;padding:15px 24px}
  .fm2-sec-title{font-size:32px}
  .fm2-panel-title{font-size:19px}
  .fm2-hero-h1{font-size:clamp(40px,4.5vw,88px)}
  .fm2-hero-lead{font-size:16px;max-width:600px}
  .fm2-hero-stats{max-width:600px}
  .fm2-hs-val{font-size:30px}
  .fm2-hs-lbl{font-size:11px}
  .fm2-hero-fan{height:580px}
  .fm2-hf-card{width:230px}
  .fm2-hf-3{width:255px}
  .fm2-cat-pills button{font-size:13px;padding:8px 16px}
  .card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
  .fm2-lc-name{font-size:15px}
  .fm2-lc-price{font-size:18px}
  #s-market .market-layout{grid-template-columns:268px 1fr;gap:20px}
  #s-market .market-head h1{font-size:32px}
  .sets-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
  .fm2-set-grid{gap:18px}
}
@media (min-width:2160px){
  body{font-size:16px}
  .page-wrap,.beta-strip,.hero,.ticker-wrap,.cat-strip,.home-block,
  .market-wrap,.dash-wrap,.footer-inner,.fm2-hero,.fm2-cat-pills,
  .fm2-home-sec,.fm2-msg-wrap{max-width:1840px}
  .xplr-wrap{max-width:1560px}
  .nav-link{font-size:15px}
  .fm2-sec-title{font-size:36px}
  .fm2-hero-h1{font-size:clamp(40px,4vw,100px)}
  .fm2-hero-lead{font-size:17px;max-width:660px}
  .fm2-hero-stats{max-width:660px}
  .fm2-hs-val{font-size:34px}
  .fm2-hero-fan{height:640px}
  .fm2-hf-card{width:255px}
  .fm2-hf-3{width:285px}
  .fm2-hf-1{transform:rotate(-16deg) translate(-150px,24px)}
  .fm2-hf-2{transform:rotate(-8deg) translate(-75px,-12px)}
  .fm2-hf-4{transform:rotate(8deg) translate(75px,-12px)}
  .fm2-hf-5{transform:rotate(16deg) translate(150px,24px)}
  .card-grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px}
  .fm2-lc-name{font-size:16px}
  .fm2-lc-price{font-size:19px}
  #s-market .market-layout{grid-template-columns:284px 1fr;gap:24px}
  #s-market .market-head h1{font-size:34px}
}

/* ── Card-art loading skeleton ─────────────────────────────────────
   A moving sheen on .fm2-lc-art until its <img> finishes loading (a
   capture-phase load/error hook in app.js adds .art-loaded). Sits at
   z-index:1 — above the image slot, below the corner badges (z 2).
   Replaces the "blank dark box" first paint on slow connections. */
@keyframes fm-skeleton{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.fm2-lc-art::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,transparent 32%,#ffffff0d 50%,transparent 68%);
  animation:fm-skeleton 1.6s ease-in-out infinite;
}
.fm2-lc-art.art-loaded::before{display:none;animation:none}
@media (prefers-reduced-motion:reduce){.fm2-lc-art::before{animation:none}}

/* ═══════════════════════════════════════════════════════════════════
   P1 · MOTION & STATES (2026-06-11)
   Staggered grid entry, pressed feedback, universal focus ring, dvh.
   ═══════════════════════════════════════════════════════════════════ */

/* Staggered rise-in on the main public grids. `backwards` fill (NOT
   both/forwards): a lingering fill would pin transform/opacity and kill
   the hover lifts + FM2.applyTilt's inline transforms after entry. */
@keyframes fm-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.card-grid>*,.sets-grid>*,.fm2-set-grid>*,.fm2-sd3-grid>*{
  animation:fm-rise .35s cubic-bezier(.2,.7,.3,1) backwards;
}
.card-grid>*:nth-child(2),.sets-grid>*:nth-child(2),.fm2-set-grid>*:nth-child(2),.fm2-sd3-grid>*:nth-child(2){animation-delay:.025s}
.card-grid>*:nth-child(3),.sets-grid>*:nth-child(3),.fm2-set-grid>*:nth-child(3),.fm2-sd3-grid>*:nth-child(3){animation-delay:.05s}
.card-grid>*:nth-child(4),.sets-grid>*:nth-child(4),.fm2-set-grid>*:nth-child(4),.fm2-sd3-grid>*:nth-child(4){animation-delay:.075s}
.card-grid>*:nth-child(5),.sets-grid>*:nth-child(5),.fm2-set-grid>*:nth-child(5),.fm2-sd3-grid>*:nth-child(5){animation-delay:.1s}
.card-grid>*:nth-child(6),.sets-grid>*:nth-child(6),.fm2-set-grid>*:nth-child(6),.fm2-sd3-grid>*:nth-child(6){animation-delay:.125s}
.card-grid>*:nth-child(7),.sets-grid>*:nth-child(7),.fm2-set-grid>*:nth-child(7),.fm2-sd3-grid>*:nth-child(7){animation-delay:.15s}
.card-grid>*:nth-child(8),.sets-grid>*:nth-child(8),.fm2-set-grid>*:nth-child(8),.fm2-sd3-grid>*:nth-child(8){animation-delay:.175s}
.card-grid>*:nth-child(n+9),.sets-grid>*:nth-child(n+9),.fm2-set-grid>*:nth-child(n+9),.fm2-sd3-grid>*:nth-child(n+9){animation-delay:.2s}

/* Pressed feedback — buttons sink 1px, cards compress a hair. */
.fm2-btn:active,.btn-primary:active,.btn-secondary:active,.btn-ghost:active,
.fm2-cat-pills button:active,.mkt-type-btn:active,.nav-link:active,
.cookie-accept:active,.cookie-reject:active{transform:translateY(1px)}
.fm2-listing-card:active,.fm2-set-tile:active{transform:scale(.992)}

/* Universal keyboard focus ring. :where() = zero specificity, so any
   component that styles its own :focus/:focus-visible still wins. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--sky-1);outline-offset:2px;
}

/* Dynamic-viewport units — mobile URL bar no longer crops these. The
   separate rules fall back harmlessly where dvh is unsupported. */
@media(max-width:560px){
  #listing-modal .modal{min-height:100dvh}
}
.fm2-msg-layout{height:calc(100dvh - 180px)}

/* Hero headline: one signature treatment. The foil pan on "Pokémon TCG"
   IS the brand moment — the italic line goes neutral so the headline
   carries a single accent instead of three competing colors. */
.fm2-hero-h1 .fm2-italic{color:var(--text-1)}

@media (prefers-reduced-motion:reduce){
  .card-grid>*,.sets-grid>*,.fm2-set-grid>*,.fm2-sd3-grid>*{animation:none}
}

/* ═══════════════════════════════════════════════════════════════════
   P2 · DETAIL SWEEP (2026-06-11)
   Styled selects, crypto-button demotion, film grain.
   ═══════════════════════════════════════════════════════════════════ */

/* Native dropdowns → branded: flat ink field with a drawn chevron. The
   longhand background-image survives the earlier shorthand resets. */
.filter-select,#s-market .filter-select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8b1c7' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:12px;
  padding-right:30px;
}

/* Crypto checkout is gated off (CoinGate KYB pending) — a loud disabled
   orange/purple gradient was sitting in the purchase stack. Demote to a
   quiet dashed ghost until it's real; the SOON chip stays. */
.lm-btn-crypto,#listing-modal .lm-actions-2 .lm-btn-crypto{
  background:var(--ink-2)!important;border:1px dashed var(--line-3)!important;
  color:var(--text-3)!important;opacity:1;filter:none;
}
.lm-btn-crypto:hover,#listing-modal .lm-actions-2 .lm-btn-crypto:hover{
  opacity:1;filter:none;box-shadow:none;color:var(--text-2)!important;
}

/* Film grain — a fixed noise wash breaks the flat-digital feel. Sits
   above everything (incl. modals) at 2.6%: texture, not fog. */
body::after{
  content:"";position:fixed;inset:0;z-index:99999;pointer-events:none;opacity:.026;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:280px 280px;
}

/* Chase-tier foil hover — UR/SAR/IR listings get a holographic edge on
   hover, layered on the existing tilt + shimmer. :has() is fine for all
   2026 browsers; older ones just keep the standard hover. */
.fm2-listing-card:has(.fm2-rb-UR):hover,
.fm2-listing-card:has(.fm2-rb-SAR):hover,
.fm2-listing-card:has(.fm2-rb-IR):hover{
  border-color:var(--foil-2);
  box-shadow:0 0 0 1px var(--foil-2),0 18px 44px -16px #c4b5fd4d;
}

/* ═══════════════════════════════════════════════════════════════════
   P3 · PAGE PASSES (2026-06-11)
   ═══════════════════════════════════════════════════════════════════ */

/* Card-page rail, no-stock state: the old disabled "No listings yet"
   button was a dead end — Watch is the primary action now, this label
   explains why. */
.fm2-cd3-rail-nostock{
  font-family:var(--f-mono);font-size:11px;line-height:1.55;color:var(--text-3);
  letter-spacing:.02em;padding:10px 12px;background:var(--ink-2);
  border:1px dashed var(--line-2);border-radius:var(--r-2);
}

/* ═══════════════════════════════════════════════════════════════════
   P3 · LOGGED-IN PASS (2026-06-12)
   ═══════════════════════════════════════════════════════════════════ */

/* Dashboard KPIs: one voice. The up/warn/sky tints made the row shout
   in four colors (two of them €0.00) — category color stays on the card
   accents, values go calm. `.down` keeps its red: that variant is the
   "Stripe not connected" alarm and must stay urgent. */
.fm2-kpi.up .fm2-kpi-val,.fm2-kpi.warn .fm2-kpi-val,.fm2-kpi.sky .fm2-kpi-val{color:var(--text-1)}

/* Messages: when no conversation is open the thread pane was a 900px
   void under a header label. :empty only matches the truly-empty node
   the renderer leaves, so an open conversation removes this for free. */
.fm2-msg-chat-msgs:empty{display:grid;place-items:center}
.fm2-msg-chat-msgs:empty::after{
  content:"💬   Pick a conversation on the left — deals, offers and order chat all live here.";
  max-width:340px;text-align:center;font-family:var(--f-mono);font-size:11.5px;
  color:var(--text-3);line-height:1.8;letter-spacing:.03em;white-space:pre-line;
}
