/* Unripped design (promoted from the beta on 2026-09-22). The rules it
   follows are in .claude/skills/unripped-ui-ux/SKILL.md. */
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 400 900; font-stretch: 62% 125%; font-display: swap; src: url('/fonts/Archivo-var-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Beta design (2026-09-22). Served only on the beta site, after app.css.
   Rules the whole beta follows:
   1. One main thing per page, visibly bigger than the rest.
   2. Light mode on a cool grey; dark stays navy and amber (build.mjs swaps
      the tokens).
   3. Amber means something, never decoration.
   4. Sentence case, no arrows on links, nothing under 12px (build.mjs).
   5. One sign-in ask per screen.
   6. Prices read as a sentence: "$69.99 at Target, now $171.80".
   Brand fonts stay: Unbounded for the name and the one big headline,
   Manrope for everything else. */

/* --- The beta flag ------------------------------------------------------ */
.beta-flag {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 10px;
  padding: 5px 16px; font-size: 12.5px; line-height: 1.4; font-weight: 600;
  background: #FFB224; color: #0B1026;
}
.beta-flag a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

/* --- Home header: the name, the tabs, sign-in. Nothing else. -------------- */
body.b-home header .sub,
body.b-home header #catUpdated,
body.b-home header .header-meta,
body.b-home #legendBlock { display: none !important; }
@media (min-width: 641px) {
  body.b-home header { display: flex; flex-wrap: wrap; align-items: center; column-gap: 32px; padding-top: 14px; padding-bottom: 6px; }
  body.b-home header .wordmark { margin: 0; }
  body.b-home header .site-switch { margin: 0; }
}

/* --- Home: tonight's drop is the page ------------------------------------ */
#dropTonight:not(.drop-folded) {
  background: none; border: 0; border-radius: 0; padding: 0;
  margin: 18px 0 40px;
}
#dropTonight:not(.drop-folded) .drop-tonight-head {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px 40px;
}
#dropTonight:not(.drop-folded) .drop-tonight-head h2 {
  grid-column: 1; grid-row: 1 / span 2;
  max-width: 13ch;
  font-family: 'Unbounded', sans-serif; font-weight: 800;
  font-size: clamp(34px, 6.4vw, 76px); line-height: 0.98; letter-spacing: -0.045em;
  text-wrap: balance;
}
#dropTonight:not(.drop-folded) .drop-tonight-when {
  grid-column: 2; grid-row: 1; max-width: 30ch;
  font-size: 17px; line-height: 1.4; color: var(--text);
}
#dropTonight:not(.drop-folded) .drop-tonight-when strong { font-weight: 700; }
.b-count { display: block; margin-top: 4px; font-size: 28px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
#dropTonight:not(.drop-folded) .drop-all-link,
#dropTonight:not(.drop-folded) .drop-fold-btn { grid-column: 2; grid-row: 2; justify-self: start; margin: 0; font-size: 14px; }
#dropTonight:not(.drop-folded) .drop-fold-btn { justify-self: end; }
#dropTonight:not(.drop-folded) .drop-tonight-via { margin-top: 18px; font-size: 15px; line-height: 1.5; color: var(--text-dim); max-width: 68ch; }
#dropTonight:not(.drop-folded) .drop-tonight-via .snipes-mini { margin-top: 3px; }
#dropTonight .drop-tonight-via a { color: var(--text); }

/* Sort toggle on the left, "Add all" on the right. */
.b-railbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 26px 0 10px; }
.b-seg { display: inline-flex; padding: 3px; border: 1.5px solid var(--border-strong); border-radius: 999px; }
.b-seg button {
  all: unset; cursor: pointer; padding: 7px 15px; border-radius: 999px;
  font-size: 14px; font-weight: 600; color: var(--text-dim);
}
.b-seg button[aria-pressed="true"] { background: var(--text); color: var(--bg); }
.b-seg button:focus-visible { outline: 2px solid var(--sky); outline-offset: 2px; }
.b-railbar #dropAddAll { flex: none; width: auto; margin: 0 0 0 auto; min-height: 40px; padding: 0 18px; font-size: 14px; font-weight: 700; border-radius: 999px; }
.b-railbar #dropAddAll:not(.tracked):not([disabled]) { background: var(--text); color: var(--bg); border-color: var(--text); }
#dropTonight .drop-tonight-actions:empty { display: none; }

/* The rows: one surface, the numbers in columns. */
#dropTonight .drop-tonight-list {
  display: block; margin: 0;
  background: var(--surface); border: 1px solid var(--border); border-radius: 10px; overflow: hidden;
}
#dropTonight .drop-row {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) 250px 110px auto;
  align-items: center; column-gap: 18px; row-gap: 0;
  padding: 14px 20px; font-size: 16px; line-height: 1.3;
}
#dropTonight .drop-row:first-child { border-top: 0; }
#dropTonight .drop-name { font-weight: 700; }
.b-stock-m { display: none; }
.b-mult { font-weight: 800; font-size: 24px; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.b-mult.b-lo { color: var(--text-dim); font-size: 20px; }
.b-mult.b-none { color: var(--text-faint); font-weight: 600; font-size: 18px; }
/* Amber only where the market pays double or more. */
.b-mult.b-hi, .b-card-mult.b-hi { color: #FFB224; }
:root[data-theme="light"] .b-mult.b-hi, :root[data-theme="light"] .b-card-mult.b-hi { color: #9A5B00; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .b-mult.b-hi, :root:not([data-theme="dark"]) .b-card-mult.b-hi { color: #9A5B00; } }
.b-price { text-align: right; white-space: nowrap; font-size: 15px; color: var(--text-dim); font-variant-numeric: tabular-nums; }
.b-price b { color: var(--text); font-weight: 800; font-size: 17px; }
#dropTonight .drop-stock { font-family: inherit; text-align: right; white-space: nowrap; font-size: 14px; color: var(--text); }
#dropTonight .drop-stock b { display: block; font-size: 16px; font-weight: 800; }
#dropTonight .drop-stock span { display: block; font-size: 12.5px; color: var(--text-faint); }
#dropTonight .drop-row .drop-add { min-width: 92px; min-height: 38px; padding: 0 14px; font-size: 14px; font-weight: 700; border-radius: 999px; }
/* Every row shows; there is no "Show all" here. */
#dropTonight.drop-capped .drop-tonight-list > li { display: grid !important; }
#dropTonight .drop-more { display: none !important; }
#dropTonight .drop-nudge { border-top: 0; padding-top: 0; margin-top: 14px; font-size: 14px; }

/* Folded (gone live, or all on the list): one line, as on the live site. */
#dropTonight.drop-folded .drop-tonight-list, #dropTonight.drop-folded .drop-tonight-actions,
#dropTonight.drop-folded .drop-tonight-via, #dropTonight.drop-folded .drop-nudge,
#dropTonight.drop-folded .b-railbar { display: none !important; }

@media (max-width: 900px) {
  #dropTonight .drop-row {
    grid-template-columns: 64px minmax(0, 1fr) auto;
    grid-template-areas: "m n a" "m p a";
    column-gap: 14px; row-gap: 3px; padding: 14px 16px;
  }
  #dropTonight .drop-row .b-mult { grid-area: m; }
  #dropTonight .drop-row .drop-name { grid-area: n; }
  #dropTonight .drop-row .b-price { grid-area: p; text-align: left; white-space: normal; }
  #dropTonight .drop-row .drop-stock { display: none; }
  #dropTonight .drop-row .drop-add { grid-area: a; min-width: 72px; }
  .b-stock-m { display: block; margin-top: 2px; font-size: 13px; font-weight: 500; color: var(--text-dim); }
}
@media (max-width: 640px) {
  #dropTonight:not(.drop-folded) { margin: 6px 0 28px; }
  #dropTonight:not(.drop-folded) .drop-tonight-head { grid-template-columns: 1fr auto; }
  #dropTonight:not(.drop-folded) .drop-tonight-head h2 { grid-column: 1 / -1; grid-row: 1; max-width: none; font-size: clamp(30px, 9vw, 40px); }
  #dropTonight:not(.drop-folded) .drop-tonight-when { grid-column: 1 / -1; grid-row: 2; max-width: none; font-size: 16px; }
  .b-count { display: block; margin: 2px 0 0; font-size: 22px; font-weight: 800; }
  #dropTonight:not(.drop-folded) .drop-all-link { grid-column: 1; grid-row: 3; }
  #dropTonight:not(.drop-folded) .drop-fold-btn { grid-column: 2; grid-row: 3; }
  #dropTonight:not(.drop-folded) .drop-tonight-via { font-size: 14px; margin-top: 12px; }
  .b-railbar { margin-top: 18px; }
  .b-seg { width: 100%; box-sizing: border-box; }
  .b-seg button { flex: 1; text-align: center; }
  .b-railbar #dropAddAll { width: 100%; margin: 0; }
  #dropTonight .drop-row { grid-template-columns: 52px minmax(0, 1fr) auto; column-gap: 12px; padding: 13px 14px; font-size: 15px; }
  .b-mult { font-size: 20px; }
  .b-mult.b-lo { font-size: 17px; }
  .b-price { font-size: 14px; }
  .b-price b { font-size: 15px; }
  #dropTonight .drop-row .drop-add { min-width: 64px; padding: 0 10px; }
}

/* Searching or filtering: the drop steps aside, as the rest of home does. */
body.beta-filtering #dropTonight { display: none; }

/* --- The catalog's heading ------------------------------------------------ */
.b-cat-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin: 8px 0 14px; padding-top: 30px; border-top: 1px solid var(--border); }
.b-cat-head h2 { margin: 0; font-family: 'Manrope', sans-serif; font-size: 30px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; }
.b-cat-head p { margin: 0; font-size: 15px; color: var(--text-dim); }
body.beta-filtering .b-cat-head { padding-top: 10px; border-top: 0; }
@media (max-width: 640px) { .b-cat-head h2 { font-size: 24px; } .b-cat-head p { font-size: 14px; } }

/* --- One sign-in ask per screen ------------------------------------------ */
body:has(#dropNudge:not([hidden])) #gateBar { display: none !important; }

/* --- Catalog cards (beta/app-card.js) ------------------------------------- */
/* A grid of boxes on every width: two across on a phone, as in the mockup. */
#listRoot.simple-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important; gap: 16px !important; }
@media (max-width: 640px) { #listRoot.simple-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; } }
#listRoot .s-card.b-card {
  display: flex !important; flex-direction: column; gap: 8px;
  grid-template-areas: none; padding: 12px !important;
  border: 1px solid var(--border) !important; border-radius: 10px; box-shadow: none;
}
#listRoot .s-card.b-card:hover { border-color: var(--border-strong) !important; box-shadow: none; }
#listRoot .b-card .b-art { width: auto !important; position: relative; }
#listRoot .b-card .b-art img, #listRoot .b-card .b-art .s-thumb-empty { border-radius: 6px; border: 0; background: #fff; }
/* The flag top left, one line, readable. */
#listRoot .b-card .b-art .s-drop-badge, #listRoot .b-card .b-art .s-new-badge,
#listRoot .b-card .b-art .s-soon-badge, #listRoot .b-card .b-art .s-listed-badge, #listRoot .b-card .b-art .s-status-badge {
  position: absolute; top: 8px; left: 8px; right: auto; z-index: 2;
  font-family: 'Manrope', sans-serif; font-size: 12px !important; font-weight: 700; letter-spacing: 0; text-transform: none;
  padding: 3px 7px !important; border-radius: 4px; background: #0B1026 !important; color: #fff !important;
  box-shadow: none !important; animation: none !important; white-space: nowrap; max-width: calc(100% - 16px); overflow: hidden; text-overflow: ellipsis;
}
#listRoot .b-card .b-art .s-badge-stack { top: 8px; left: 8px; }
/* The multiple bottom right, on its own tag. */
.b-card-mult {
  position: absolute; right: 8px; bottom: 8px; z-index: 2;
  padding: 4px 8px; border-radius: 6px;
  background: var(--surface); color: var(--text-dim);
  box-shadow: 0 0 0 1px var(--border);
  font-size: 18px; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; line-height: 1.1;
}
.b-card-mult.b-hi { font-size: 20px; }
#listRoot .b-card .b-name {
  font-size: 15.5px; font-weight: 700; line-height: 1.25; color: var(--text);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
#listRoot .b-card .b-money { display: flex; flex-direction: column; gap: 1px; font-size: 14px; color: var(--text-dim); font-variant-numeric: tabular-nums; }
#listRoot .b-card .b-sells b { font-size: 20px; font-weight: 800; color: var(--text); letter-spacing: -0.01em; }
#listRoot .b-card .b-sells-none { color: var(--text-faint); }
#listRoot .b-card .b-tr { min-height: 18px; }
.b-trend { all: unset; cursor: pointer; font-size: 13px; font-weight: 600; color: var(--text-dim); text-decoration: underline; text-decoration-color: var(--border-strong); text-underline-offset: 3px; }
.b-trend.up { color: var(--up); } .b-trend.down { color: var(--down); }
.b-trend:focus-visible { outline: 2px solid var(--sky); outline-offset: 2px; border-radius: 3px; }
#listRoot .b-card .b-actions { display: flex; gap: 6px; margin-top: auto; }
#listRoot .b-card .b-actions .track-btn { flex: 1; margin: 0; min-height: 38px; border-radius: 999px; font-weight: 700; }
#listRoot .b-card .b-actions .s-target-link { flex: none; width: 38px; min-width: 38px; min-height: 38px; border-radius: 999px; }
@media (max-width: 640px) {
  #listRoot .s-card.b-card { padding: 10px !important; gap: 6px; }
  #listRoot .b-card .b-name { font-size: 14px; }
  #listRoot .b-card .b-money { font-size: 13px; }
  #listRoot .b-card .b-sells b { font-size: 17px; }
  .b-card-mult { font-size: 15px; padding: 3px 6px; right: 6px; bottom: 6px; }
  .b-card-mult.b-hi { font-size: 16px; }
  #listRoot .b-card .b-art .s-drop-badge, #listRoot .b-card .b-art .s-new-badge,
  #listRoot .b-card .b-art .s-soon-badge, #listRoot .b-card .b-art .s-listed-badge, #listRoot .b-card .b-art .s-status-badge { top: 6px; left: 6px; font-size: 12px !important; padding: 2px 6px !important; }
  #listRoot .b-card .b-actions .s-target-link { display: none; }
}
/* Presale date and "Just listed" sit side by side, top left. */
#listRoot .b-card .b-art .s-badge-stack { position: absolute; top: 8px; left: 8px; z-index: 2; display: flex; flex-wrap: wrap; gap: 4px; max-width: calc(100% - 16px); }
#listRoot .b-card .b-art .s-badge-stack > span { position: static !important; }
#listRoot .b-card .b-art .s-listed-badge { background: #FFB224 !important; color: #0B1026 !important; }
/* Phones: left-aligned like everywhere else, and "+ Add" fills the card. */
#listRoot .s-card.b-card { align-items: stretch !important; }
#listRoot .s-card.b-card, #listRoot .s-card.b-card * { text-align: left; }
#listRoot .b-card .b-art .s-badge-stack > span { max-width: none; }
#listRoot .s-card.b-card .s-actions .track-btn { width: auto !important; max-width: none !important; flex: 1 1 auto !important; text-align: center; }
#listRoot .s-card.b-card .s-actions { align-self: stretch !important; }

/* ===== Round 3 (2026-09-22): the mockup's stickers, labels and cards ===== */
/* Archivo, narrow, for the big headline and the numbers on the stickers only:
   a price tag's type, next to the shop sign's. Everything else stays brand. */
#dropTonight:not(.drop-folded) .drop-tonight-head h2 {
  font-family: 'Archivo', 'Manrope', sans-serif; font-weight: 800; font-stretch: 68%;
  font-size: clamp(48px, 8.4vw, 108px); line-height: 0.88; letter-spacing: -0.01em; max-width: 14ch;
}
.b-count { font-family: 'Archivo', 'Manrope', sans-serif; font-stretch: 75%; font-size: 30px; }

/* The sticker: yellow and tilted at 2x or more; flat and outlined below. */
.b-sticker, .b-mult.b-sticker {
  justify-self: start; display: inline-block;
  font-family: 'Archivo', 'Manrope', sans-serif; font-weight: 850; font-stretch: 70%;
  font-size: 30px; line-height: 1; letter-spacing: 0;
  padding: 8px 10px 7px; min-width: 66px; box-sizing: border-box; text-align: center;
  border-radius: 5px; transform: rotate(-3deg);
  background: #FFC23D; color: #0B1026;
}
.b-sticker.b-low, .b-mult.b-sticker.b-low {
  background: var(--surface); color: var(--text-dim); transform: none;
  box-shadow: inset 0 0 0 1.5px var(--border-strong); font-size: 24px;
}
.b-mult.b-sticker.b-none { font-size: 20px; }
/* On a card: bottom right of the box art. */
#listRoot .b-card .b-art .b-sticker { position: absolute; right: 8px; bottom: 8px; z-index: 2; font-size: 24px; min-width: 56px; }
#listRoot .b-card .b-art .b-sticker.b-low { font-size: 20px; }

/* One short dark label, top left. */
.b-flag {
  position: absolute; left: 8px; top: 8px; z-index: 2;
  font-size: 12px; font-weight: 700; line-height: 1.3; white-space: nowrap;
  max-width: calc(100% - 16px); overflow: hidden; text-overflow: ellipsis;
  padding: 3px 7px; border-radius: 3px; background: #0B1026; color: #fff;
}

/* Tighter cards: the price is the big thing, the rest is quiet. */
#listRoot .s-card.b-card { gap: 8px; padding: 12px !important; border-radius: 6px; }
#listRoot .b-card .b-art img, #listRoot .b-card .b-art .s-thumb-empty { border-radius: 3px; background: #F5F5F5; padding: 8%; box-sizing: border-box; }
#listRoot .b-card .b-name { font-size: 15.5px; font-weight: 650; margin-top: 2px; }
#listRoot .b-card .b-money { font-size: 14px; gap: 0; }
#listRoot .b-card .b-sells b { font-size: 19px; font-weight: 800; }
#listRoot .b-card .b-target { font-size: 14px; }
#listRoot .b-card .b-tr { min-height: 0; }
.b-trend { font-size: 13px; font-weight: 500; text-decoration: none; }
.b-trend:hover { text-decoration: underline; }
/* A plain outlined button, text colour, full width. */
#listRoot .s-card.b-card .s-actions .track-btn,
#dropTonight .drop-row .drop-add {
  background: transparent !important; color: var(--text) !important;
  border: 1.5px solid var(--text) !important; border-radius: 999px; font-weight: 650;
}
#listRoot .s-card.b-card .s-actions .track-btn.tracked,
#dropTonight .drop-row .drop-add.tracked { background: var(--text) !important; color: var(--bg) !important; }
#listRoot .b-card .b-actions .s-target-link { display: none; }

@media (max-width: 900px) {
  #dropTonight .drop-row { grid-template-columns: 78px minmax(0, 1fr) auto; }
}
@media (max-width: 640px) {
  #dropTonight:not(.drop-folded) .drop-tonight-head h2 { font-size: clamp(44px, 13vw, 60px); }
  .b-count { font-size: 26px; }
  .b-sticker, .b-mult.b-sticker { font-size: 24px; min-width: 58px; }
  .b-sticker.b-low, .b-mult.b-sticker.b-low { font-size: 20px; }
  #dropTonight .drop-row { grid-template-columns: 62px minmax(0, 1fr) auto; }
  #listRoot .b-card .b-art .b-sticker { font-size: 20px; min-width: 48px; right: 6px; bottom: 6px; padding: 6px 7px 5px; }
  #listRoot .b-card .b-art .b-sticker.b-low { font-size: 17px; }
  .b-flag { left: 6px; top: 6px; font-size: 12px; padding: 2px 6px; }
  #listRoot .b-card .b-name { font-size: 14.5px; }
  #listRoot .b-card .b-sells b { font-size: 17px; }
  #listRoot .b-card .b-money, #listRoot .b-card .b-target { font-size: 13px; }
}
@media (max-width: 400px) {
  #dropTonight .drop-row { grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 10px; padding: 12px; }
  .b-sticker, .b-mult.b-sticker { font-size: 20px; min-width: 0; padding: 6px 7px 5px; }
  .b-sticker.b-low, .b-mult.b-sticker.b-low { font-size: 18px; }
}

/* ===== Round 4 (2026-09-22): one size down everywhere (owner: "too big") ===== */
#dropTonight:not(.drop-folded) .drop-tonight-head h2 { font-size: clamp(40px, 6vw, 76px); max-width: 18ch; }
#dropTonight:not(.drop-folded) .drop-tonight-when { font-size: 15px; }
.b-count { font-size: 24px; }
#dropTonight:not(.drop-folded) .drop-tonight-via { font-size: 14px; margin-top: 12px; }
.b-railbar { margin: 18px 0 8px; }
.b-seg button { padding: 5px 13px; font-size: 13px; }
.b-railbar #dropAddAll { min-height: 34px; font-size: 13px; padding: 0 14px; }
#dropTonight .drop-row { padding: 9px 16px; font-size: 14.5px; column-gap: 14px; grid-template-columns: 64px minmax(0, 1fr) 230px 96px auto; }
.b-sticker, .b-mult.b-sticker { font-size: 22px; min-width: 52px; padding: 5px 7px 4px; }
.b-sticker.b-low, .b-mult.b-sticker.b-low { font-size: 18px; }
.b-price { font-size: 14px; } .b-price b { font-size: 15px; }
#dropTonight .drop-stock b { font-size: 14px; }
#dropTonight .drop-stock span { font-size: 12px; }
#dropTonight .drop-row .drop-add { min-height: 32px; min-width: 76px; font-size: 13px; padding: 0 12px; }
.b-cat-head { padding-top: 22px; }
.b-cat-head h2 { font-size: 24px; }
.b-cat-head p { font-size: 14px; }
#listRoot.simple-grid { grid-template-columns: repeat(auto-fill, minmax(176px, 1fr)) !important; gap: 12px !important; }
#listRoot .s-card.b-card { padding: 10px !important; gap: 6px; }
#listRoot .b-card .b-art .b-sticker { font-size: 19px; min-width: 44px; padding: 4px 6px 3px; }
#listRoot .b-card .b-art .b-sticker.b-low { font-size: 16px; }
#listRoot .b-card .b-name { font-size: 14px; font-weight: 650; }
#listRoot .b-card .b-money, #listRoot .b-card .b-target { font-size: 13px; }
#listRoot .b-card .b-sells b { font-size: 17px; }
.b-trend { font-size: 12.5px; }
.b-flag { font-size: 12px; padding: 2px 6px; }
#listRoot .s-card.b-card .s-actions .track-btn { min-height: 32px; font-size: 13px; }
@media (max-width: 900px) {
  #dropTonight .drop-row { grid-template-columns: 62px minmax(0, 1fr) auto; padding: 10px 14px; }
}
@media (max-width: 640px) {
  #dropTonight:not(.drop-folded) .drop-tonight-head h2 { font-size: clamp(34px, 10vw, 44px); }
  .b-count { font-size: 20px; }
  #dropTonight:not(.drop-folded) .drop-tonight-when { font-size: 14px; }
  #dropTonight:not(.drop-folded) .drop-tonight-via { font-size: 13px; }
  .b-seg button { padding: 6px 10px; }
  #dropTonight .drop-row { grid-template-columns: 52px minmax(0, 1fr) auto; padding: 10px 12px; font-size: 14px; column-gap: 10px; }
  .b-sticker, .b-mult.b-sticker { font-size: 19px; min-width: 46px; padding: 4px 6px 3px; }
  .b-sticker.b-low, .b-mult.b-sticker.b-low { font-size: 16px; }
  .b-price { font-size: 13px; } .b-price b { font-size: 14px; }
  .b-stock-m { font-size: 12.5px; }
  #dropTonight .drop-row .drop-add { min-width: 60px; min-height: 34px; }
  .b-cat-head h2 { font-size: 21px; }
  #listRoot.simple-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  #listRoot .s-card.b-card { padding: 8px !important; gap: 5px; }
  #listRoot .b-card .b-art .b-sticker { font-size: 16px; min-width: 38px; right: 5px; bottom: 5px; }
  #listRoot .b-card .b-art .b-sticker.b-low { font-size: 14px; }
  .b-flag { left: 5px; top: 5px; }
  #listRoot .b-card .b-name { font-size: 13.5px; }
  #listRoot .b-card .b-sells b { font-size: 16px; }
  #listRoot .b-card .b-money, #listRoot .b-card .b-target { font-size: 12.5px; }
}

/* ===== Round 5 (2026-09-22): the products start on the first screen ===== */
/* A page heading, not a poster. The countdown sits under it on one line. */
#dropTonight:not(.drop-folded) { margin: 10px 0 32px; }
#dropTonight:not(.drop-folded) .drop-tonight-head { grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 4px 16px; }
#dropTonight:not(.drop-folded) .drop-tonight-head h2 { grid-row: 1; grid-column: 1; max-width: none; font-size: clamp(26px, 3vw, 38px); line-height: 1.05; }
#dropTonight:not(.drop-folded) .drop-tonight-when { grid-row: 2; grid-column: 1 / -1; max-width: none; font-size: 14.5px; }
.b-count { display: inline-block; margin: 0 0 0 8px; font-size: inherit; font-family: inherit; font-stretch: 100%; font-weight: 800; white-space: nowrap; }
#dropTonight:not(.drop-folded) .drop-all-link { grid-row: 1; grid-column: 2; font-size: 13.5px; justify-self: end; align-self: baseline; }
/* Fold stays reachable, as quiet text at the end of the sentence. */
#dropTonight:not(.drop-folded) .drop-fold-btn { grid-row: 2; grid-column: 2; justify-self: end; align-self: baseline; font-size: 13px; min-height: 0; }
#dropTonight:not(.drop-folded) .drop-tonight-via { margin-top: 8px; font-size: 13.5px; max-width: 72ch; }
/* Sort is a line of text, not a control that needs its own row. */
.b-railbar { margin: 12px 0 6px; gap: 8px 14px; }
.b-seg { border: 0; padding: 0; gap: 4px; align-items: center; }
.b-seg::before { content: 'Sort'; font-size: 13px; color: var(--text-faint); margin-right: 6px; }
.b-seg button { padding: 8px 6px; min-height: 36px; box-sizing: border-box; border-radius: 4px; font-size: 13.5px; color: var(--text-dim); background: none; text-decoration: underline; text-decoration-color: var(--border-strong); text-underline-offset: 3px; }
.b-seg button[aria-pressed="true"] { background: none; color: var(--text); font-weight: 700; text-decoration: none; }
.b-railbar #dropAddAll { min-height: 36px; }
/* On a phone "+ Add all" comes after the list (beta.js moves it there). */
#dropTonight .drop-tonight-actions { margin-top: 10px; }
#dropTonight .drop-tonight-actions:empty { display: none; }
#dropTonight .drop-tonight-actions .track-btn { width: 100%; min-height: 42px; font-size: 14px; font-weight: 700; border-radius: 999px; }
#dropTonight .drop-tonight-actions .track-btn:not(.tracked):not([disabled]) { background: var(--text); color: var(--bg); border-color: var(--text); }
@media (max-width: 640px) {
  #dropTonight:not(.drop-folded) { margin: 4px 0 24px; }
  #dropTonight:not(.drop-folded) .drop-tonight-head h2 { font-size: 27px; }
  #dropTonight:not(.drop-folded) .drop-tonight-when { font-size: 14px; }
  #dropTonight:not(.drop-folded) .drop-tonight-via { font-size: 13px; }
  .b-seg { width: auto; }
  .b-seg button { flex: none; text-align: left; }
}

/* ===== Round 6 (2026-09-22): the drop rows in two columns on wide screens ===== */
@media (min-width: 1100px) {
  #dropTonight .drop-tonight-list { display: grid !important; grid-template-columns: 1fr 1fr; }
  #dropTonight .drop-row {
    grid-template-columns: 60px minmax(0, 1fr) auto;
    grid-template-areas: "m n a" "m p a";
    row-gap: 2px; padding: 10px 14px;
  }
  #dropTonight .drop-row:nth-child(odd) { border-right: 1px solid var(--border); }
  #dropTonight .drop-row:nth-child(2) { border-top: 0; }
  #dropTonight .drop-row .b-mult { grid-area: m; }
  #dropTonight .drop-row .drop-name { grid-area: n; }
  #dropTonight .drop-row .b-price { grid-area: p; text-align: left; white-space: normal; }
  #dropTonight .drop-row .drop-stock { display: none; }
  #dropTonight .drop-row .drop-add { grid-area: a; }
  .b-stock-m { display: block; margin-top: 1px; font-size: 12.5px; font-weight: 500; color: var(--text-dim); }
  /* An odd last row keeps its right edge. */
  #dropTonight .drop-row:last-child:nth-child(odd) { border-right: 0; }
}

/* ===== Round 7 (2026-09-22): finishing Home ===== */
/* The beta flag is not yellow: yellow means "2x or more" on this page. */
.beta-flag { background: #0B1026; color: #F3EEDF; }
:root[data-theme="dark"] .beta-flag { background: #F3EEDF; color: #0B1026; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .beta-flag { background: #F3EEDF; color: #0B1026; } }

/* "All drops" and "Fold" share one line on the right. */
#dropTonight:not(.drop-folded) .drop-tonight-head { grid-template-columns: minmax(0, 1fr) auto auto; }
#dropTonight:not(.drop-folded) .drop-all-link { grid-column: 2; grid-row: 1; }
#dropTonight:not(.drop-folded) .drop-fold-btn { grid-column: 3; grid-row: 1; margin-left: 12px; }
#dropTonight:not(.drop-folded) .drop-tonight-when { grid-column: 1 / -1; }

/* The list tools read as one group, not five boxes: Paste your list, what
   changed, Recent changes, My list, Pulse, joined edge to edge. */
body.b-home #homeBlocks > .paste-panel, body.b-home #homeBlocks > .highlight-strip,
body.b-home #homeBlocks > details.paste-import, body.b-home #myListBar, body.b-home #pulse {
  margin: 0 !important; border: 1px solid var(--border) !important; border-top-width: 0 !important;
  border-left-width: 1px !important; border-radius: 0 !important; background: var(--surface) !important; box-shadow: none !important;
}
body.b-home #homeBlocks > .paste-panel { border-top-width: 1px !important; border-radius: 10px 10px 0 0 !important; }
body.b-home #pulse:not([hidden]) { border-radius: 0 0 10px 10px !important; margin-bottom: 18px !important; }
body.b-home #myListBar:has(+ #pulse[hidden]) { border-radius: 0 0 10px 10px !important; margin-bottom: 18px !important; }
body.b-home #homeBlocks > details.paste-import > summary,
body.b-home #homeBlocks > .highlight-strip { padding-left: 14px; padding-right: 14px; }
body.b-home #homeBlocks > details.paste-import { padding: 8px 0; }
body.b-home #homeBlocks > .highlight-strip { border-left-color: var(--border) !important; }
body.b-home #myListBar { padding-top: 12px; padding-bottom: 12px; }
body.b-home .b-cat-head { margin-top: 0; }

/* Two columns read down, then across: the first half of the order in the
   left column, the rest in the right (beta.js sets the row count and marks
   the right column). A gap and a rule between them, so it is one list. */
@media (min-width: 1100px) {
  #dropTonight .drop-tonight-list {
    grid-auto-flow: column; column-gap: 32px;
    background: linear-gradient(var(--border), var(--border)) center / 1px 100% no-repeat, var(--surface);
  }
  #dropTonight .drop-row:nth-child(odd) { border-right: 0; }
  #dropTonight .drop-row:nth-child(2) { border-top: 1px solid var(--border); }
  #dropTonight .drop-row.b-coltop { border-top: 0; }
  #dropTonight .drop-row { padding-left: 18px; padding-right: 18px; }
}

/* ===== Round 8 (2026-09-22): the header, on wide screens ===== */
/* The name, plain text tabs with an underline on the current one, an
   outlined sign-in, and one rule under it all. No pill box around the tabs. */
@media (min-width: 641px) {
  body.b-home header { position: relative; padding: 14px 0 0 !important; margin-bottom: 22px; border-bottom: 1px solid var(--border); column-gap: 36px !important; align-items: center; }
  body.b-home header .wordmark { margin: 0 0 14px !important; }
  body.b-home header .site-switch {
    display: flex; align-items: stretch; align-self: stretch; gap: 26px; margin: 0 !important; padding: 0 !important;
    background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  }
  body.b-home header .site-switch a {
    display: inline-flex; align-items: center; gap: 6px; margin: 0 0 -1px; padding: 0 0 14px !important;
    background: none !important; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important;
    box-shadow: none !important; font-size: 15px; font-weight: 500; color: var(--text-dim);
  }
  body.b-home header .site-switch a:hover { color: var(--text); }
  body.b-home header .site-switch a[aria-current] { color: var(--text); font-weight: 700; border-bottom-color: var(--text) !important; }
  body.b-home header .site-switch a:focus-visible { outline: 2px solid var(--sky); outline-offset: 2px; }
  body.b-home header .account { position: absolute; right: 0; top: 10px; margin: 0; }
  body.b-home header .discord-btn { background: transparent !important; border: 1.5px solid var(--text) !important; color: var(--text) !important; border-radius: 999px; font-weight: 700; padding: 8px 16px; }
  body.b-home header .discord-btn:hover { background: var(--text) !important; color: var(--bg) !important; }
  body.b-home #dropTonight:not(.drop-folded) { margin-top: 0; }
}

/* ===== Round 9 (2026-09-22): two notes under the headline ===== */
.b-note { display: flex; align-items: flex-start; gap: 10px; margin: 12px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--text-dim); max-width: 72ch; }
.b-note > span:last-child { min-width: 0; }
.b-note b { color: var(--text); font-weight: 700; }
.b-note a { color: var(--text); }
.b-sticker.b-mini { font-size: 14px; min-width: 0; padding: 3px 6px 2px; margin-top: 1px; flex: none; transform: rotate(-3deg); }
#dropTonight:not(.drop-folded) .drop-tonight-via { margin-top: 6px; }
#dropTonight.drop-folded .b-note { display: none; }
@media (max-width: 640px) { .b-note { font-size: 13px; } }

/* ===== Round 10 (2026-09-22): the two notes line up; Poke Snipes reads bigger ===== */
#dropTonight:not(.drop-folded) .b-note,
#dropTonight:not(.drop-folded) .drop-tonight-via { display: flex; align-items: center; gap: 12px; margin: 10px 0 0; font-size: 14px; line-height: 1.5; max-width: 90ch; }
#dropTonight:not(.drop-folded) .b-note > .b-sticker.b-mini,
#dropTonight:not(.drop-folded) .drop-tonight-via .snipes-mini { flex: none; width: 48px; box-sizing: border-box; margin: 0; }
#dropTonight:not(.drop-folded) .b-note > .b-sticker.b-mini { text-align: center; padding: 4px 0 3px; font-size: 15px; }
#dropTonight:not(.drop-folded) .drop-tonight-via .snipes-mini { width: 32px; height: 32px; margin: 0 8px; background: #fff; box-shadow: 0 0 0 1px var(--border); }
#dropTonight:not(.drop-folded) .drop-tonight-via a { font-weight: 700; color: var(--text); }
@media (max-width: 640px) {
  #dropTonight:not(.drop-folded) .b-note,
  #dropTonight:not(.drop-folded) .drop-tonight-via { font-size: 13px; align-items: flex-start; }
  #dropTonight:not(.drop-folded) .b-note > .b-sticker.b-mini { margin-top: 2px; }
}


/* ===== Round 12 (2026-09-22): the drop label may take two lines ===== */
.b-flag { white-space: normal; max-width: calc(100% - 16px); line-height: 1.25; text-overflow: clip; }

/* ===== Round 13 (2026-09-22): rows of cards line up ===== */
/* The label stays on one line; at a tight width it may lose a little
   letter-spacing rather than wrap. */
.b-flag { white-space: nowrap; max-width: calc(100% - 12px); letter-spacing: -0.01em; overflow: hidden; text-overflow: ellipsis; }
/* Every name gets two lines of room, so the price and "+ Add" sit at the
   same height across a row whether the name is one line or two. */
#listRoot .b-card .b-name { min-height: calc(2 * 1.25em); }
#listRoot .b-card .b-money { min-height: calc(1.4em + 1.5em); }
@media (max-width: 640px) { .b-flag { white-space: normal; overflow: visible; text-overflow: clip; } }

/* ===== Round 14 (2026-09-22): one surface behind the box art ===== */
/* Target's photos sit on white, so the tile is white too: no frame inside a frame. */
#listRoot .b-card .b-art { background: #fff; border-radius: 6px; box-shadow: inset 0 0 0 1px var(--border); }
#listRoot .b-card .b-art img, #listRoot .b-card .b-art .s-thumb-empty { background: #fff; border-radius: 6px; padding: 10%; }

/* ===== Round 15 (2026-09-22): the trend is back on the card ===== */
#listRoot .b-card .b-tr { display: flex; align-items: center; gap: 8px; min-height: 20px; }
.b-spark { display: inline-flex; align-items: center; flex: none; width: 56px; height: 18px; }
.b-spark .s-spark-label, .b-spark .s-spark-read { display: none !important; }
.b-spark .s-spark { position: relative; width: 56px; height: 18px; padding: 0; margin: 0; background: none; border: 0; cursor: pointer; color: var(--text-dim); }
.b-spark.up .s-spark { color: var(--up); } .b-spark.down .s-spark { color: var(--down); }
.b-spark .s-spark svg { width: 56px; height: 18px; display: block; }
/* The beta shows the line to members only; visitors get the dotted ask. */
body[data-gate="visitor"] .b-spark .s-spark { visibility: visible !important; filter: none !important; }
.b-trend-locked { display: inline-flex; align-items: center; gap: 8px; color: var(--text-faint); }
.b-trend-locked .b-spark-none { width: 56px; height: 18px; flex: none; }
.b-trend-locked:hover { color: var(--text); }
/* The tour offer sits above the tab bar on phones, not behind it. */
@media (max-width: 640px) { .tour-offer { bottom: calc(76px + env(safe-area-inset-bottom)) !important; } }

/* ===== Drops page (2026-09-22): Home's language, page by page ===== */
/* The header is the same on every page. */
body.b-drops header .sub, body.b-drops header .eyebrow, body.b-drops header .dp-powered { display: none !important; }
@media (min-width: 641px) {
  body.b-drops header { position: relative; display: flex; flex-wrap: wrap; align-items: center; column-gap: 36px; padding: 14px 0 0 !important; margin-bottom: 22px; border-bottom: 1px solid var(--border); }
  body.b-drops header .wordmark { margin: 0 0 14px !important; }
  body.b-drops header .site-switch { display: flex; align-items: stretch; align-self: stretch; gap: 26px; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
  body.b-drops header .site-switch a { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 -1px; padding: 0 0 14px !important; background: none !important; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; box-shadow: none !important; font-size: 15px; font-weight: 500; color: var(--text-dim); }
  body.b-drops header .site-switch a:hover { color: var(--text); }
  body.b-drops header .site-switch a[aria-current] { color: var(--text); font-weight: 700; border-bottom-color: var(--text) !important; }
  body.b-drops header .account { position: absolute; right: 0; top: 10px; margin: 0; }
  body.b-drops header .discord-btn { background: transparent !important; border: 1.5px solid var(--text) !important; color: var(--text) !important; border-radius: 999px; font-weight: 700; padding: 8px 16px; }
}
body.b-drops main.dr-wrap { max-width: none; }

/* Tonight: the same headline block as Home. */
body.b-drops #dpNow { background: none; border: 0; border-radius: 0; padding: 0; margin: 10px 0 32px; }
body.b-drops #dpNow .drop-tonight-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px 16px; align-items: baseline; }
body.b-drops #dpNow .drop-tonight-head h2 { margin: 0; font-family: 'Archivo', 'Manrope', sans-serif; font-weight: 800; font-stretch: 68%; font-size: clamp(26px, 3vw, 38px); line-height: 1.05; letter-spacing: -0.01em; }
body.b-drops #dpNow .drop-tonight-when { margin: 0; font-size: 14.5px; color: var(--text); }
body.b-drops #dpNow .drop-tonight-when strong { font-weight: 700; }
body.b-drops #dpNow .drop-tonight-when .b-count { display: inline-block; margin-left: 8px; font-weight: 800; white-space: nowrap; }
body.b-drops #dpNow .dp-avg-now { margin: 2px 0 0; font-size: 14px; color: var(--text-dim); }
body.b-drops #dpNow .b-note, body.b-drops #dpNow .drop-tonight-via { display: flex; align-items: center; gap: 12px; margin: 10px 0 0; font-size: 14px; line-height: 1.5; color: var(--text-dim); max-width: 90ch; }
body.b-drops #dpNow .b-note b { color: var(--text); }
body.b-drops #dpNow .b-note a, body.b-drops #dpNow .drop-tonight-via a { color: var(--text); font-weight: 700; }
body.b-drops #dpNow .b-note > .b-sticker.b-mini { width: 48px; text-align: center; padding: 4px 0 3px; font-size: 15px; flex: none; }
body.b-drops #dpNow .drop-tonight-via .snipes-mini { width: 32px; height: 32px; margin: 0 8px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px var(--border); flex: none; }
body.b-drops #dpNow .drop-tonight-list { margin-top: 16px; }
body.b-drops #dpNow .drop-tonight-actions { margin-top: 10px; }
body.b-drops #dpNow .drop-tonight-actions .track-btn { width: auto; min-height: 40px; padding: 0 18px; font-size: 14px; font-weight: 700; border-radius: 999px; }
body.b-drops #dpNow .drop-nudge { border-top: 0; padding-top: 0; margin-top: 14px; font-size: 14px; }

/* Sticker rows, everywhere on the page. */
body.b-drops .b-rows { display: block; list-style: none; margin: 0; padding: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
body.b-drops .b-rows > li.dp-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) 250px auto; align-items: center; column-gap: 16px; padding: 10px 16px; border-top: 1px solid var(--border); font-size: 14.5px; line-height: 1.3; }
body.b-drops .b-rows > li.dp-row:first-child { border-top: 0; }
body.b-drops .b-rows .drop-name { font-weight: 700; color: var(--text); }
body.b-drops .b-rows .drop-name a { color: inherit; text-decoration: none; }
body.b-drops .b-rows .b-stock-m { display: block; margin-top: 1px; font-size: 12.5px; font-weight: 500; color: var(--text-dim); }
body.b-drops .b-rows .b-price { text-align: right; white-space: nowrap; font-size: 14px; color: var(--text-dim); font-variant-numeric: tabular-nums; }
body.b-drops .b-rows .b-price b { color: var(--text); font-weight: 800; font-size: 15px; }
body.b-drops .b-rows .drop-add { min-width: 76px; min-height: 32px; padding: 0 12px; font-size: 13px; font-weight: 650; border-radius: 999px; background: transparent !important; color: var(--text) !important; border: 1.5px solid var(--text) !important; }
body.b-drops .b-rows .drop-add.tracked { background: var(--text) !important; color: var(--bg) !important; }
body.b-drops .b-rows-plain > li.dp-row { grid-template-columns: minmax(0, 1fr) auto; }
body.b-drops .b-rows-plain .drop-name small { display: block; font-size: 12.5px; color: var(--text-dim); font-weight: 500; }
@media (min-width: 1100px) {
  body.b-drops #dpNow .drop-tonight-list.b-rows { display: grid; grid-template-columns: 1fr 1fr; grid-auto-flow: row; column-gap: 32px; background: linear-gradient(var(--border), var(--border)) center / 1px 100% no-repeat, var(--surface); }
  body.b-drops #dpNow .b-rows > li.dp-row { grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-areas: "m n a" "m p a"; row-gap: 2px; }
  body.b-drops #dpNow .b-rows > li.dp-row:nth-child(2) { border-top: 0; }
  body.b-drops #dpNow .b-rows .b-mult { grid-area: m; }
  body.b-drops #dpNow .b-rows .drop-name { grid-area: n; }
  body.b-drops #dpNow .b-rows .b-price { grid-area: p; text-align: left; }
  body.b-drops #dpNow .b-rows .drop-add { grid-area: a; }
}
@media (max-width: 900px) {
  body.b-drops .b-rows > li.dp-row { grid-template-columns: 52px minmax(0, 1fr) auto; grid-template-areas: "m n a" "m p a"; row-gap: 2px; column-gap: 12px; padding: 10px 12px; }
  body.b-drops .b-rows .b-mult { grid-area: m; }
  body.b-drops .b-rows .drop-name { grid-area: n; }
  body.b-drops .b-rows .b-price { grid-area: p; text-align: left; white-space: normal; }
  body.b-drops .b-rows .drop-add { grid-area: a; min-width: 60px; }
  body.b-drops .b-rows-plain > li.dp-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "n a"; }
}

/* Sections: a heading that says what is there, then its rows. */
body.b-drops .dp-h2 { margin: 30px 0 4px; font-family: 'Manrope', sans-serif; font-size: 22px; font-weight: 800; letter-spacing: -0.02em; color: var(--text); text-transform: none; }
body.b-drops .dp-note { font-size: 14px; max-width: 76ch; }
body.b-drops .dp-card { margin: 0 0 12px; padding: 12px 14px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
body.b-drops .dp-card .b-rows { border: 0; border-radius: 0; background: none; }
body.b-drops .dp-card-head h3 { font-size: 16px; font-weight: 800; }
body.b-drops .dp-rows { border-radius: 10px; }
body.b-drops .dp-draw-row { padding: 11px 0; }
body.b-drops .dp-draw-mine { text-transform: none; letter-spacing: 0; }
body.b-drops .dp-none { border-radius: 10px; }
/* Sticker (the shared rule is scoped to Home's rows, so restate). */
body.b-drops .b-mult.b-sticker { justify-self: start; display: inline-block; font-family: 'Archivo', 'Manrope', sans-serif; font-weight: 850; font-stretch: 70%; font-size: 22px; line-height: 1; padding: 5px 7px 4px; min-width: 52px; box-sizing: border-box; text-align: center; border-radius: 5px; transform: rotate(-3deg); background: #FFC23D; color: #0B1026; }
body.b-drops .b-mult.b-sticker.b-low { background: var(--surface); color: var(--text-dim); transform: none; box-shadow: inset 0 0 0 1.5px var(--border-strong); font-size: 18px; }
body.b-drops .b-mult.b-sticker.b-none { font-size: 18px; }
@media (max-width: 640px) {
  body.b-drops #dpNow .drop-tonight-head h2 { font-size: 27px; }
  body.b-drops #dpNow .b-note, body.b-drops #dpNow .drop-tonight-via { font-size: 13px; align-items: flex-start; }
  body.b-drops .b-mult.b-sticker { font-size: 19px; min-width: 46px; padding: 4px 6px 3px; }
  body.b-drops .b-mult.b-sticker.b-low { font-size: 16px; }
  body.b-drops #dpNow .drop-tonight-actions .track-btn { width: 100%; }
}
body.b-drops #dpNow .drop-tonight-actions { display: flex; justify-content: flex-start; }
body.b-drops #dpNow .drop-tonight-actions .track-btn:not(.tracked):not([disabled]) { background: var(--text) !important; color: var(--bg) !important; border-color: var(--text) !important; }

/* ===== Market page (2026-09-22) ===== */
body.b-market header .mk-intro, body.b-market header .header-links, body.b-market header .eyebrow { display: none !important; }
@media (min-width: 641px) {
  body.b-market header { position: relative; display: flex; flex-wrap: wrap; align-items: center; column-gap: 36px; padding: 14px 0 0 !important; margin-bottom: 18px; border-bottom: 1px solid var(--border); }
  body.b-market header .wordmark { margin: 0 0 14px !important; }
  body.b-market header .site-switch { display: flex; align-items: stretch; align-self: stretch; gap: 26px; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
  body.b-market header .site-switch a { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 -1px; padding: 0 0 14px !important; background: none !important; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; box-shadow: none !important; font-size: 15px; font-weight: 500; color: var(--text-dim); }
  body.b-market header .site-switch a:hover { color: var(--text); }
  body.b-market header .site-switch a[aria-current] { color: var(--text); font-weight: 700; border-bottom-color: var(--text) !important; }
  body.b-market header .account { position: absolute; right: 0; top: 10px; margin: 0; }
  body.b-market header .discord-btn { background: transparent !important; border: 1.5px solid var(--text) !important; color: var(--text) !important; border-radius: 999px; font-weight: 700; padding: 8px 16px; }
  /* The rest of the header (updated line, game tabs) drops under the rule. */
  body.b-market header .mk-updated, body.b-market header .mk-tabs, body.b-market header .gate-bar { flex: 0 0 100%; }
}
/* The page heading: what is here, then the game tabs as text. */
.b-mk-head { margin: 8px 0 12px; }
.b-mk-head h2 { margin: 0; font-family: 'Manrope', sans-serif; font-size: 30px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; }
.b-mk-head p { margin: 4px 0 0; font-size: 15px; color: var(--text-dim); }
body.b-market header .mk-updated { display: none !important; }
body.b-market .mk-tabs { gap: 18px; margin: 0 0 4px; }
body.b-market .mk-tabs button, body.b-market .mk-tabs a { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 8px 0 !important; font-size: 15px; font-weight: 500; color: var(--text-dim) !important; box-shadow: none !important; border-bottom: 2px solid transparent !important; }
body.b-market .mk-tabs [aria-selected="true"], body.b-market .mk-tabs .on, body.b-market .mk-tabs [aria-current] { color: var(--text) !important; font-weight: 700; border-bottom-color: var(--text) !important; }
body.b-market .mk-tabs .mk-tab-n, body.b-market .mk-tabs small { font-weight: 500; color: var(--text-faint); margin-left: 4px; }
/* Cards: the catalog card's rules, keyed on .mk-list. */
body.b-market .mk-list.simple-grid { grid-template-columns: repeat(auto-fill, minmax(176px, 1fr)) !important; gap: 12px !important; }
body.b-market .mk-list .s-card.b-card { display: flex !important; flex-direction: column; gap: 6px; padding: 10px !important; border: 1px solid var(--border) !important; border-radius: 6px; box-shadow: none; }
body.b-market .mk-list .s-card.b-card:hover { border-color: var(--border-strong) !important; box-shadow: none; }
body.b-market .mk-list .b-card .b-art { width: auto !important; position: relative; background: #fff; border-radius: 6px; box-shadow: inset 0 0 0 1px var(--border); cursor: pointer; }
body.b-market .mk-list .b-card .b-art img, body.b-market .mk-list .b-card .b-art .s-thumb-empty { width: 100%; aspect-ratio: 1; object-fit: contain; display: block; background: #fff; border: 0; border-radius: 6px; padding: 10%; box-sizing: border-box; }
body.b-market .mk-list .b-card .b-art .b-sticker { position: absolute; right: 8px; bottom: 8px; z-index: 2; font-size: 19px; min-width: 44px; padding: 4px 6px 3px; }
body.b-market .mk-list .b-card .b-art .b-sticker.b-low { font-size: 16px; }
body.b-market .mk-list .b-card .b-name { font-size: 14px; font-weight: 650; line-height: 1.25; color: var(--text); min-height: calc(2 * 1.25em); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.b-market .mk-list .b-card .b-money { display: flex; flex-direction: column; font-size: 13px; color: var(--text-dim); font-variant-numeric: tabular-nums; min-height: calc(1.4em + 1.5em); }
body.b-market .mk-list .b-card .b-sells b { font-size: 17px; font-weight: 800; color: var(--text); }
body.b-market .mk-list .b-card .b-sells-none, body.b-market .mk-list .b-card .b-target-none { color: var(--text-faint); }
body.b-market .mk-list .b-card .b-tr { display: flex; align-items: center; gap: 8px; min-height: 20px; }
body.b-market .mk-list .b-card .b-actions { display: flex; gap: 6px; margin-top: auto; align-self: stretch; }
body.b-market .mk-list .b-card .b-actions .track-btn { flex: 1 1 auto; width: auto !important; margin: 0; min-height: 32px; font-size: 13px; font-weight: 650; border-radius: 999px; background: transparent !important; color: var(--text) !important; border: 1.5px solid var(--text) !important; text-align: center; }
body.b-market .mk-list .b-card .b-actions .mk-cmp-btn { flex: none; width: 34px; min-width: 34px; min-height: 32px; border-radius: 999px; }
@media (max-width: 640px) {
  body.b-market .mk-list.simple-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  body.b-market .mk-list .b-card .b-actions .mk-cmp-btn { display: none; }
  .b-mk-head h2 { font-size: 24px; }
}
/* The Pulse and index folds read as one quiet card, like Home's tools. */
body.b-market #mkPulse, body.b-market #mkCompare { border-radius: 10px; }

/* ===== Every page (2026-09-22): the header, once ===== */
body.b-page header .eyebrow, body.b-page header .header-links, body.b-page header .sub .lede-beta { display: none !important; }
@media (min-width: 641px) {
  body.b-page header { position: relative; display: flex; flex-wrap: wrap; align-items: center; column-gap: 36px; padding: 14px 0 0 !important; margin-bottom: 18px; border-bottom: 1px solid var(--border); }
  body.b-page header .wordmark { margin: 0 0 14px !important; }
  body.b-page header .site-switch { display: flex; align-items: stretch; align-self: stretch; gap: 26px; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
  body.b-page header .site-switch a { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 -1px; padding: 0 0 14px !important; background: none !important; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; box-shadow: none !important; font-size: 15px; font-weight: 500; color: var(--text-dim); }
  body.b-page header .site-switch a:hover { color: var(--text); }
  body.b-page header .site-switch a[aria-current] { color: var(--text); font-weight: 700; border-bottom-color: var(--text) !important; }
  body.b-page header .account { position: absolute; right: 0; top: 10px; margin: 0; }
  body.b-page header .discord-btn { background: transparent !important; border: 1.5px solid var(--text) !important; color: var(--text) !important; border-radius: 999px; font-weight: 700; padding: 8px 16px; }
  body.b-page header > :not(.wordmark):not(.site-switch):not(.account) { flex: 0 0 100%; }
}

/* ===== Portfolio page (2026-09-22) ===== */
body.b-pf header .sub { margin: 10px 0 0; font-size: 15px; color: var(--text-dim); }
body.b-pf header .sub b { display: block; font-family: 'Manrope', sans-serif; font-size: 30px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; color: var(--text); margin-bottom: 4px; }
@media (min-width: 641px) { body.b-pf header .sub { order: 9; padding-top: 14px; } }
body.b-pf .pf-signin, body.b-pf .pf-sample-bar, body.b-pf .pf-tile, body.b-pf .pf-add, body.b-pf .pf-bulk, body.b-pf .pf-sale, body.b-pf .pf-stack { border-radius: 10px; }
/* Summary: one number leads, the rest are quiet. */
body.b-pf .pf-totals { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
body.b-pf .pf-tile:first-child { grid-column: 1 / -1; }
body.b-pf .pf-tile:first-child .pf-v { font-family: 'Archivo', 'Manrope', sans-serif; font-stretch: 75%; font-weight: 800; font-size: clamp(32px, 4vw, 44px); letter-spacing: -0.01em; }
body.b-pf .pf-tile .pf-k { font-size: 13px; font-weight: 600; color: var(--text-dim); text-transform: none; letter-spacing: 0; }
body.b-pf .pf-tile .pf-v { font-weight: 800; }
body.b-pf .pf-sample-k { text-transform: none; letter-spacing: 0; }
body.b-pf .pf-views button, body.b-pf .pf-bar-actions button { border-radius: 999px; }
body.b-pf .pf-bar-actions .primary, body.b-pf .pf-signin .discord-btn { border-radius: 999px; }
@media (max-width: 640px) { body.b-pf header .sub b { font-size: 24px; } }
@media (max-width: 640px) {
  body.b-pf .pf-totals { grid-template-columns: 1fr 1fr; gap: 8px; }
  body.b-pf .pf-tile:first-child { grid-column: 1 / -1; }
}
/* app.css spans each summary tile across two columns on phones; the beta
   shows them two across, with only the leading number full width. */
@media (max-width: 640px) {
  body.b-pf .pf-totals .pf-tile { grid-column: auto !important; }
  body.b-pf .pf-totals .pf-tile:first-child { grid-column: 1 / -1 !important; }
}

/* ===== Leftovers (2026-09-22): secondary pages, folds, the stack ===== */
/* Phones have the tab bar; the pill nav is a second copy of it. */
@media (max-width: 640px) { body.b-page header .site-switch { display: none !important; } }
/* Pages that open with "Name. Sentence." get the name as a heading. */
body.b-page header .sub .sub-h1 { display: block; font-family: 'Manrope', sans-serif; font-size: 30px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; color: var(--text); margin: 0 0 4px; }
body.b-page header .sub { font-size: 15px; color: var(--text-dim); margin-top: 10px; }
@media (min-width: 641px) { body.b-page header .sub { order: 9; padding-top: 14px; } }
@media (max-width: 640px) { body.b-page header .sub .sub-h1 { font-size: 24px; } }
/* Pulse: the signal chips and the movers, quieter. */
body.b-page .mk-pulse-signals { gap: 6px 8px; }
body.b-page .mk-pulse-signals .mk-signal { border-radius: 999px; font-size: 12.5px; border-width: 1px; }
body.b-page .mk-pulse-signals .mk-signal b { font-family: inherit; font-weight: 800; }
body.b-page .mk-pulse, body.b-page .mk-compare, body.b-page #pulse { border-radius: 10px; }
body.b-page .mk-pulse summary h2, body.b-page .mk-compare summary h2, body.b-page #pulse summary h2 { font-size: 15px; font-weight: 700; color: var(--text); text-transform: none; letter-spacing: 0; }
body.b-page .mk-movers h3, body.b-page .mk-pulse-head h2 { font-size: 13px; font-weight: 600; color: var(--text-dim); text-transform: none; letter-spacing: 0; }
body.b-page .mk-win button { border-radius: 999px; }
/* Portfolio: "In your stack" is a quiet card, not a flagged one. */
body.b-pf .pf-stack { border-left-width: 1px !important; border-radius: 10px; }
body.b-pf .pf-stack h2 { font-size: 15px; font-weight: 700; color: var(--text); text-transform: none; letter-spacing: 0; }
body.b-pf .pf-stack-item { border-radius: 8px; }
body.b-pf .pf-table th { text-transform: none; letter-spacing: 0; font-weight: 600; font-size: 12.5px; }
body.b-pf .pf-table { border-radius: 10px; }
/* 404: the site's header, no arrows on the cards. */
@media (max-width: 640px) { body.b-page .site-switch, body .wrap > header .site-switch { display: none !important; } }

/* ===== Dialogs, toasts, bars (2026-09-22) ===== */
/* The chart panel. */
body.b-page .chart-panel { border-radius: 14px; }
body.b-page .chart-eyebrow { font-size: 13px; font-weight: 500; letter-spacing: 0; color: var(--text-dim); text-transform: none; }
body.b-page .chart-title { font-size: 20px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; margin: 2px 0 12px; }
body.b-page .chart-range, body.b-page .chart-link, body.b-page .chart-actions .track-btn { border-radius: 999px !important; font-weight: 650; min-height: 34px; }
body.b-page .chart-range.on { background: var(--text) !important; color: var(--bg) !important; border-color: var(--text) !important; }
body.b-page .chart-actions .track-btn { background: transparent !important; color: var(--text) !important; border: 1.5px solid var(--text) !important; }
body.b-page .chart-actions .track-btn.tracked { background: var(--text) !important; color: var(--bg) !important; }
body.b-page .chart-stats .cs { border-radius: 10px; background: var(--surface); border: 1px solid var(--border); }
body.b-page .chart-stats .cs-k { font-size: 12.5px; color: var(--text-dim); text-transform: none; letter-spacing: 0; font-weight: 500; }
body.b-page .chart-stats.cs-prices .cs-v { font-size: 20px; font-weight: 800; }
/* The multiple beside the basis price is a small sticker. */
body.b-page .chart-stats .cs.cs-basis .cs-v small {
  display: inline-block; margin-left: 6px; vertical-align: 2px;
  font-family: 'Archivo', 'Manrope', sans-serif; font-weight: 850; font-stretch: 70%; font-size: 14px; line-height: 1;
  padding: 3px 6px 2px; border-radius: 4px; transform: rotate(-3deg);
  background: #FFC23D !important; color: #0B1026 !important;
}
body.b-page .chart-stats .cs.cs-basis .cs-v small.b-low { background: var(--surface) !important; color: var(--text-dim) !important; box-shadow: inset 0 0 0 1.5px var(--border-strong); transform: none; }
/* The moves block: no empty cells. */
body.b-page .chart-stats.cs-moves { border-radius: 10px; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
body.b-page .chart-stats.cs-moves .cs:empty { display: none; }
body.b-page .chart-stats.cs-state { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
body.b-page .chart-legend { font-size: 12.5px; }
body.b-page .chart-traj-title { font-size: 16px !important; font-weight: 800 !important; margin-top: 20px !important; }
body.b-page .chart-sub { font-size: 13px; }
/* Add-to-Portfolio, and every dialog: rounded, pill buttons, sentence case. */
body.b-page .chart-panel.mk-add-panel h2, body.b-page .ui-dialog h2 { font-size: 20px; font-weight: 800; letter-spacing: -0.02em; text-transform: none; }
body.b-page .mk-add-panel label, body.b-page .ui-dialog label { font-size: 13px; color: var(--text-dim); }
body.b-page .mk-add-panel input, body.b-page .mk-add-panel select, body.b-page .ui-dialog input { border-radius: 8px; font-size: 15px; min-height: 40px; }
body.b-page .mk-add-panel button, body.b-page .ui-dialog-acts button { border-radius: 999px; min-height: 40px; font-weight: 700; }
body.b-page .mk-add-panel button.primary, body.b-page .ui-dialog-acts button.primary { background: var(--text) !important; color: var(--bg) !important; border-color: var(--text) !important; }
/* Toasts: one rounded surface, sentence case, no shout. */
body.b-page .toast { border-radius: 10px; font-size: 14px; font-weight: 600; }
body.b-page .toast-big { border-radius: 14px; }
body.b-page .toast-big .tb-title { font-size: 18px; font-weight: 800; letter-spacing: -0.02em; }
body.b-page .toast-big .tb-action, body.b-page .toast-big .tb-dismiss { border-radius: 999px; font-weight: 700; }
body.b-page .toast-big .tb-action { background: var(--text) !important; color: var(--bg) !important; }
/* Compare bar. */
body.b-page .mk-cmp-bar { border-radius: 999px; }
body.b-page .mk-cmp-bar > button, body.b-page .mk-cmp-bar .chip { border-radius: 999px; }
@media (max-width: 640px) { body.b-page .mk-cmp-bar { border-radius: 12px 12px 0 0; } }
/* Tour: same voice. */
body.b-page .tour-card, body.b-page .tour-offer { border-radius: 14px; }
body.b-page .tour-count { text-transform: none; letter-spacing: 0; font-size: 12.5px; }
body.b-page .tour-card .primary, body.b-page .tour-offer .primary { border-radius: 999px; background: var(--text) !important; color: var(--bg) !important; }
body.b-page .tour-card button:not(.primary) { border-radius: 999px; }

/* ===== Buttons and list tools (2026-09-22): yellow is for stickers ===== */
body.b-page button.primary, body.b-page .tour-offer .primary, body.b-page .tour-card .primary, body.b-page .tour-card [data-tour="next"],
body.b-page .pf-add button.primary, body.b-page .pf-bulk button.primary, body.b-page .pf-sale button.primary, body.b-page .pf-bar-actions .primary {
  background: var(--text) !important; color: var(--bg) !important; border: 1.5px solid var(--text) !important; border-radius: 999px; font-weight: 700;
}
body.b-page button.primary:hover { filter: none; opacity: .92; }
body.b-page .buy-list-bar button, body.b-page .paste-panel-actions button, body.b-page .pf-views button, body.b-page .pf-bar-actions button,
body.b-page .empty-clear, body.b-page .pi-copy, body.b-page .paste-import-result button { border-radius: 999px; font-weight: 650; }
body.b-page .buy-list-bar button:not(.primary), body.b-page .paste-panel-actions button:not(.primary), body.b-page .paste-import-result button {
  background: transparent !important; color: var(--text) !important; border: 1.5px solid var(--text) !important;
}
body.b-page .buy-list-bar button.on, body.b-page #myListOnlyBtn.on { background: var(--text) !important; color: var(--bg) !important; }
body.b-page button.target-red { background: transparent !important; border: 1.5px solid var(--border-strong) !important; color: var(--text) !important; }
body.b-page .beta-mini, body.b-page .lede-beta { border-radius: 999px; font-size: 12px; font-weight: 600; color: var(--text-dim); border: 1px solid var(--border-strong); background: transparent; }
body.b-page .s-new-badge, body.b-page .account-initial { background: #0B1026 !important; color: #fff !important; }
body.b-page .paste-panel textarea, body.b-page .controls .search, body.b-page .controls select, body.b-page .pf-search input, body.b-page .pf-bar select { border-radius: 10px; }
body.b-page .paste-import-result { border-radius: 10px; font-size: 13.5px; }
/* Portfolio table: plain names, sparkline where the trend column is. */
body.b-pf .pf-table td.name a, body.b-pf .pf-table .pf-name a { text-decoration: none; font-weight: 650; color: var(--text); }
body.b-pf .pf-table td.name a:hover { text-decoration: underline; }
body.b-pf .pf-table .s-spark { color: var(--text-dim); }
body.b-pf .pf-table .s-spark.up { color: var(--up); } body.b-pf .pf-table .s-spark.down { color: var(--down); }
body.b-pf .pf-views button[aria-pressed="true"], body.b-pf .pf-views button.on { background: var(--text) !important; color: var(--bg) !important; border-color: var(--text) !important; }
body.b-pf .pf-add h2, body.b-pf .pf-bulk h2, body.b-pf .pf-sale h2 { font-size: 16px; font-weight: 800; color: var(--text); }
body.b-pf .pf-lot-card, body.b-pf .pf-table tr.pf-card { border-radius: 10px; }
body.b-pf .pf-got-one, body.b-pf .dp-got-one { border-radius: 999px; }
/* Portfolio names: plain text buttons, not dotted links. The profiles line is a link, not a pill. */
body.b-pf .pf-name, body.b-pf .pf-name-t { text-decoration: none !important; border-bottom: 0 !important; font-weight: 650; color: var(--text); }
body.b-pf .pf-name:hover .pf-name-t { text-decoration: underline !important; }
body.b-page .buy-list-bar .pf-setup { border: 0 !important; background: none !important; border-radius: 0; padding: 0; color: var(--text-dim) !important; text-decoration: underline; text-underline-offset: 3px; font-weight: 500; }
/* Dark mode: links are not amber. Yellow is for stickers. */
:root[data-theme="dark"] body.b-page { --cyan: #9AA5FF; --sky: #B7BEFF; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body.b-page { --cyan: #9AA5FF; --sky: #B7BEFF; } }
body.b-page .b-sticker, body.b-page .b-mult.b-sticker, body.b-page .chart-stats .cs.cs-basis .cs-v small { background: #FFC23D; }
body.b-page .buy-list-bar button.pf-setup, body.b-page #profileBar .pf-setup { border: 0 !important; background: none !important; box-shadow: none !important; }
:root[data-theme="dark"] .beta-flag { background: #131A38; color: #F3EEDF; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .beta-flag { background: #131A38; color: #F3EEDF; } }

/* ===== Set pages (/sets/*, 2026-09-22) ===== */
body.b-set .wordmark { margin: 14px 0 10px; }
body.b-set .set-crumbs { font-size: 14px; color: var(--text-dim); }
body.b-set .set-crumbs a { color: var(--text-dim); }
body.b-set .set-title { font-family: 'Manrope', sans-serif; font-size: 30px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; margin: 12px 0 8px; }
body.b-set .set-lede { font-size: 15px; line-height: 1.55; color: var(--text-dim); max-width: 70ch; }
body.b-set .set-lede b { color: var(--text); }
body.b-set .set-open { display: inline-block; background: var(--text) !important; color: var(--bg) !important; border: 1.5px solid var(--text) !important; border-radius: 999px; padding: 10px 18px; font-weight: 700; text-decoration: none; }
body.b-set .set-table { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; background: var(--surface); border-collapse: separate; border-spacing: 0; }
body.b-set .set-table th { font-size: 12.5px; font-weight: 600; color: var(--text-dim); text-transform: none; letter-spacing: 0; padding: 10px 12px; }
body.b-set .set-table td { padding: 10px 12px; border-top: 1px solid var(--border); }
body.b-set .set-table td a { color: var(--text); text-decoration: none; font-weight: 650; }
body.b-set .set-table td a:hover { text-decoration: underline; }
body.b-set .set-table td.num b { font-weight: 800; }
@media (max-width: 640px) { body.b-set .set-title { font-size: 24px; } body.b-set .set-open { display: block; text-align: center; } }
body.b-set .set-table td a, body.b-set .wordmark a { text-decoration: none !important; }
body.b-set .set-table td a:hover { text-decoration: underline !important; }
/* The install nudge sits above the tab bar, like the tour offer. */
@media (max-width: 640px) { body.b-page .install-nudge { bottom: calc(76px + env(safe-area-inset-bottom)) !important; border-radius: 14px; } }
body.b-page .install-nudge .inst-x { border-radius: 10px; }
/* Add-to-Portfolio, signed out: the one action is the primary. */
body.b-page .mk-add-panel .discord-btn { background: var(--text) !important; color: var(--bg) !important; border-color: var(--text) !important; border-radius: 999px; font-weight: 700; }
/* Set pages: product names are row headers, and the table scrolls inside its card. */
body.b-set .set-table th a, body.b-set .set-table td a { text-decoration: none !important; color: var(--text); font-weight: 650; }
body.b-set .set-table th a:hover, body.b-set .set-table td a:hover { text-decoration: underline !important; }
body.b-set .set-table tbody th { font-weight: 650; }
body.b-set .set-table-wrap, body.b-set .set-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 10px; }

/* ===== "Did you get it?" (2026-09-22, Portfolio 2.0 step 1) ===== */
.b-got { margin: 0 0 24px; padding: 14px 16px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.b-got h2 { margin: 0; font-family: 'Manrope', sans-serif; font-size: 20px; font-weight: 800; letter-spacing: -0.02em; }
.b-got-sub { margin: 4px 0 10px; font-size: 14px; color: var(--text-dim); line-height: 1.5; max-width: 70ch; }
.b-got-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.b-got-item { display: contents; }
.b-got-chip { all: unset; cursor: pointer; box-sizing: border-box; display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--border-strong); font-size: 14px; font-weight: 650; color: var(--text); }
.b-got-chip:hover { border-color: var(--text); }
.b-got-chip:focus-visible { outline: 2px solid var(--sky); outline-offset: 2px; }
.b-got-chip small { font-size: 13px; font-weight: 500; color: var(--text-dim); }
.b-got-form { flex: 0 0 100%; display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 12px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); }
.b-got-form[hidden] { display: none; }
.b-got-form label { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: var(--text-dim); }
.b-got-form input { width: 110px; min-height: 38px; padding: 0 10px; border: 1px solid var(--border-strong); border-radius: 8px; background: var(--surface); color: var(--text); font: inherit; font-size: 15px; }
.b-got-form button { min-height: 38px; padding: 0 14px; border-radius: 999px; font-weight: 700; font: inherit; cursor: pointer; }
.b-got-form button.primary { background: var(--text) !important; color: var(--bg) !important; border: 1.5px solid var(--text) !important; }
.b-got-form .b-got-cancel { background: transparent; color: var(--text-dim); border: 1.5px solid var(--border-strong); }
.b-got-done { flex: 0 0 100%; font-size: 14px; color: var(--text-dim); padding: 4px 0; }
.b-got-done b { color: var(--text); }
.b-got-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 12px; }
.b-got-note { flex: 1 1 auto; font-size: 13.5px; color: var(--text-dim); display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.b-got-note .discord-btn { background: var(--text) !important; color: var(--bg) !important; border-color: var(--text) !important; border-radius: 999px; min-height: 34px; padding: 0 12px; font-size: 13px; }
.b-got-no, .b-got-ok { all: unset; cursor: pointer; min-height: 36px; padding: 0 14px; border-radius: 999px; font-size: 13.5px; font-weight: 650; border: 1.5px solid var(--border-strong); color: var(--text-dim); display: inline-flex; align-items: center; }
.b-got-ok { background: var(--text); color: var(--bg); border-color: var(--text); }
.b-got-no:focus-visible, .b-got-ok:focus-visible { outline: 2px solid var(--sky); outline-offset: 2px; }
@media (max-width: 640px) { .b-got { padding: 12px; } .b-got h2 { font-size: 18px; } .b-got-form input { width: 96px; } }
.b-got-note { flex-direction: column; align-items: flex-start; gap: 6px; }

/* Below 2x the sticker is flat and outlined; a later page-wide rule had tinted it. */
body.b-page .b-sticker.b-low, body.b-page .b-mult.b-sticker.b-low, body.b-page .chart-stats .cs.cs-basis .cs-v small.b-low { background: var(--surface) !important; color: var(--text-dim) !important; transform: none; box-shadow: inset 0 0 0 1.5px var(--border-strong); }

/* ===== Live round 1 (2026-09-22 evening, owner's phone) ===== */
/* Set-heading chips ("4.9x at launch", "Launch window") are quiet outlines: yellow is for stickers. */
body.b-page .fam-traj, body.b-page .family-heading .s-ctx, body.b-page .mk-fam-traj, body.b-page .family-heading .fam-new {
  background: none !important; border: 1px solid var(--border-strong) !important; color: var(--text-dim) !important; border-radius: 999px; box-shadow: none !important;
}
body.b-page .fam-traj b, body.b-page .fam-traj strong { color: var(--text) !important; }
/* Portfolio lots on a phone: a space before "Set target", plain digits, pill actions, tighter card. */
body.b-pf .pf-set-target { margin-left: 8px; }
body.b-pf .pf-table td.num { font-family: inherit; }
@media (max-width: 640px) {
  body.b-pf .pf-table tr { gap: 2px 12px; padding: 10px 12px; border-radius: 10px; }
  body.b-pf .pf-table td::before { font-size: 12.5px; color: var(--text-dim); }
  body.b-pf .pf-table td.acts-cell { padding-top: 8px; gap: 8px; }
  body.b-pf .pf-table .acts button, body.b-pf .pf-table .acts a { min-height: 34px; padding: 0 12px !important; border-radius: 999px; border: 1.5px solid var(--border-strong); background: transparent; color: var(--text-dim); font-weight: 650; text-decoration: none; }
}

/* ===== Live round 2 (2026-09-22): "In list" is settled, not a button asking to be pressed ===== */
body.b-page .track-btn.tracked, body.b-page .drop-add.tracked, body.b-page #listRoot .s-card.b-card .s-actions .track-btn.tracked,
body.b-page #dropTonight .drop-row .drop-add.tracked, body.b-drops .b-rows .drop-add.tracked, body.b-page .chart-actions .track-btn.tracked {
  background: transparent !important; color: var(--text-dim) !important; border: 1.5px solid var(--border-strong) !important; font-weight: 600;
}
body.b-page .track-btn.tracked:hover, body.b-page .drop-add.tracked:hover { color: var(--text) !important; border-color: var(--text) !important; }
/* "+ Add all" that has nothing left to add reads the same way. */
body.b-page #dropAddAll.tracked, body.b-page #dropAddAll[disabled] { background: transparent !important; color: var(--text-dim) !important; border: 1.5px solid var(--border-strong) !important; opacity: 1; }

/* ===== Live round 3 (2026-09-22): toasts clear the phone tab bar ===== */
@media (max-width: 640px) {
  body.b-page .toast { bottom: calc(88px + env(safe-area-inset-bottom)); z-index: 85; font-size: 14px; line-height: 1.4; padding: 10px 14px; }
  body.b-page:has(#jumpBar:not([hidden])) .toast { bottom: calc(136px + env(safe-area-inset-bottom)); }
}

/* ===== Walmart drawings as sticker rows (2026-09-22) ===== */
body.b-drops .b-draws > li.dp-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) 280px auto; align-items: center; column-gap: 16px; padding: 10px 16px; border-top: 1px solid var(--border); }
body.b-drops .b-draws > li.dp-row:first-child { border-top: 0; }
body.b-drops .b-draws .drop-name { font-weight: 700; color: var(--text); }
body.b-drops .b-draws .b-stock-m { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 500; color: var(--text-dim); }
body.b-drops .b-draws .b-price small { font-size: 12.5px; color: var(--text-faint); }
body.b-drops .b-draws .dp-enter { display: inline-flex; align-items: center; justify-content: center; min-width: 76px; min-height: 34px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--text); color: var(--text); font-weight: 650; font-size: 13px; text-decoration: none; }
@media (max-width: 900px) {
  body.b-drops .b-draws > li.dp-row { grid-template-columns: 52px minmax(0, 1fr) auto; grid-template-areas: "m n a" "m p a"; row-gap: 2px; column-gap: 12px; padding: 10px 12px; }
  body.b-drops .b-draws .b-mult { grid-area: m; }
  body.b-drops .b-draws .drop-name { grid-area: n; }
  body.b-drops .b-draws .b-price { grid-area: p; text-align: left; white-space: normal; }
  body.b-drops .b-draws .dp-enter { grid-area: a; min-width: 64px; }
}

body.b-drops .b-draws > li.dp-row { grid-template-columns: 64px minmax(0, 1fr) minmax(0, 340px) auto; }
body.b-drops .b-draws .b-price { white-space: normal; text-align: right; line-height: 1.35; }
body.b-drops .b-draws .b-price small { display: block; }
@media (max-width: 900px) { body.b-drops .b-draws > li.dp-row { grid-template-columns: 52px minmax(0, 1fr) auto; } body.b-drops .b-draws .b-price { text-align: left; } body.b-drops .b-draws .b-price small { display: inline; } }

/* ===== Portfolio desktop (2026-09-22, owner's screenshots) ===== */
/* The summary tiles fill the row: the value on top, five across under it. */
@media (min-width: 641px) {
  body.b-pf .pf-totals { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  body.b-pf .pf-totals .pf-tile { min-width: 0; }
}
/* A tile's number and its change wrap instead of running past the edge. */
body.b-pf .pf-tile .pf-v { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 6px; }
body.b-pf .pf-tile .pf-v small { margin-left: 0; font-family: inherit; white-space: nowrap; }
/* Trend: the window is said once, by the reading beside the line. */
body.b-pf .pf-table td.trend .s-spark-label { display: none; }
/* Row actions stay inside the table: nothing clipped at the right edge. */
body.b-pf .pf-wrap { overflow-x: auto; }
body.b-pf .pf-table td.acts-cell { white-space: nowrap; }
body.b-pf .pf-table .acts { display: inline-flex; gap: 4px; }
body.b-pf .pf-table .acts button { padding: 4px 8px; }

/* ===== Portfolio on this device (2026-09-23) ===== */
/* One sign-in ask: the device bar's, not the "see your own inventory" strip. */
body.pf-local #gateBar { display: none !important; }
body.pf-local .pf-sample-acts { display: flex !important; }
body.pf-local #pfSampleBar { margin-top: 0 !important; border-top: 1px solid var(--border) !important; border-radius: 10px !important; }
body.b-pf .pf-sample-k { color: var(--text) !important; font-weight: 700; }

body.pf-local .pf-sample-acts .discord-btn { display: inline-flex !important; }

/* ---- Product pages (/p/*, 2026-09-23) ---------------------------------
   One main thing: what it sells for, then the chart. Facts are tiles with
   their own words; the chart panel is the popup's, drawn inline. */
body.b-product .set-crumbs { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.b-product .p-top { display: flex; gap: 18px; align-items: flex-start; margin-top: 10px; }
body.b-product .p-art { flex: 0 0 120px; width: 120px; height: 120px; position: relative; border-radius: 12px; background: var(--surface); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; overflow: visible; }
body.b-product .p-art img { width: 108px; height: 108px; object-fit: contain; border-radius: 8px; }
body.b-product .p-art .p-sticker { position: absolute; right: -8px; bottom: -8px; font-size: 20px; min-width: 48px; z-index: 2; }
body.b-product .p-id { min-width: 0; flex: 1; }
body.b-product .p-eyebrow { font-size: 13px; color: var(--text-dim); font-weight: 600; }
body.b-product .p-title { font-size: 26px; margin: 4px 0 8px; }
body.b-product .p-lede { margin: 0; }
body.b-product .p-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0 12px; }
body.b-product .p-fact { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
body.b-product .p-k { font-size: 12.5px; color: var(--text-dim); font-weight: 600; }
body.b-product .p-v { font-family: 'Archivo', 'Manrope', sans-serif; font-stretch: 87.5%; font-weight: 800; font-size: 26px; letter-spacing: -0.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
body.b-product .p-fact.up .p-v { color: var(--up, #1a8f4a); }
body.b-product .p-fact.down .p-v { color: var(--down, #c23c3c); }
body.b-product .p-sig .p-v { font-family: 'Manrope', sans-serif; font-stretch: 100%; font-size: 20px; }
body.b-product .p-w { font-size: 12.5px; color: var(--text-dim); line-height: 1.4; }
body.b-product .p-stack { border: 1.5px solid var(--border); border-radius: 10px; padding: 10px 14px; margin: 0 0 12px; font-size: 14px; line-height: 1.5; }
body.b-product .p-stack b { font-weight: 800; }
body.b-product .p-stack-v.up { color: var(--up, #1a8f4a); font-weight: 700; }
body.b-product .p-stack-v.down { color: var(--down, #c23c3c); font-weight: 700; }
body.b-product .p-stack-a { color: var(--text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body.b-product .p-stack-w { color: var(--text-dim); }
body.b-product .p-chart-wrap { margin: 0 0 14px; }
body.b-product .chart-panel.p-chart { position: static; width: 100%; max-height: none; overflow: visible; box-shadow: none; padding: 14px 16px 12px; }
body.b-product .p-chart .chart-head { padding-right: 0; }
body.b-product .p-chart .chart-head-controls { justify-content: space-between; }
body.b-product .p-traj { font-size: 14px; line-height: 1.55; color: var(--text-dim); max-width: 70ch; margin: 0 0 14px; }
body.b-product .p-traj b { color: var(--text); }
body.b-product .p-cta { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; margin: 0 0 22px; }
body.b-product .p-setlink { color: var(--text-dim); font-weight: 650; text-decoration: none; border-bottom: 1px solid var(--border); padding: 2px 0; }
body.b-product .p-setlink:hover { color: var(--text); border-color: var(--text); }
body.b-product .p-h2 { font-size: 18px; font-weight: 800; letter-spacing: -0.01em; margin: 0 0 10px; }
body.b-product .p-sib td.num, body.b-product .p-sib th:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) {
  body.b-product .p-top { gap: 12px; }
  body.b-product .p-art { flex-basis: 84px; width: 84px; height: 84px; }
  body.b-product .p-art img { width: 74px; height: 74px; }
  body.b-product .p-art .p-sticker { font-size: 16px; min-width: 40px; right: -6px; bottom: -6px; }
  body.b-product .p-title { font-size: 21px; }
  body.b-product .p-facts { grid-template-columns: 1fr 1fr; }
  body.b-product .p-fact.p-sig { grid-column: 1 / -1; }
  body.b-product .p-v { font-size: 22px; }
}
body.b-product .p-chart .chart-svg-wrap { max-width: 900px; }

/* ---- Market: three answers up top (2026-09-23) --------------------------
   The questions people bring, each a short list in the site's row format.
   The catalog, Pulse and the filters sit underneath as before. */
body.b-market .mk-answers { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 0 0 18px; }
body.b-market .mk-ans { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 0; }
body.b-market .mk-ans summary { list-style: none; cursor: pointer; padding: 12px 14px 10px; display: flex; flex-direction: column; gap: 2px; }
body.b-market .mk-ans summary::-webkit-details-marker { display: none; }
body.b-market .mk-ans summary h2 { margin: 0; font-size: 17px; font-weight: 800; letter-spacing: -0.01em; color: var(--text); text-transform: none; }
body.b-market .mk-ans summary h2::after { content: ' ›'; color: var(--text-dim); font-weight: 500; }
body.b-market .mk-ans[open] summary h2::after { content: ''; }
body.b-market .mk-ans-sum { font-size: 13px; color: var(--text-dim); line-height: 1.4; }
body.b-market .mk-ans-list { display: block; list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border); }
body.b-market .mk-ans-list > li.dp-row { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; grid-template-areas: "m n a" "m p a"; row-gap: 2px; column-gap: 12px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--border); font-size: 14px; line-height: 1.3; }
body.b-market .mk-ans-list > li.dp-row:first-child { border-top: 0; }
body.b-market .mk-ans-list .b-mult { grid-area: m; font-size: 18px; min-width: 48px; }
body.b-market .mk-ans-list .drop-name { grid-area: n; font-weight: 700; color: var(--text); min-width: 0; }
body.b-market .mk-ans-list .drop-name a { color: inherit; text-decoration: none; }
body.b-market .mk-ans-list .drop-name a:hover { text-decoration: underline; }
body.b-market .mk-ans-list .b-stock-m { display: block; margin-top: 1px; font-size: 12.5px; font-weight: 500; color: var(--text-dim); }
body.b-market .mk-ans-list .b-price { grid-area: p; font-size: 13px; color: var(--text-dim); font-variant-numeric: tabular-nums; }
body.b-market .mk-ans-list .b-price b { color: var(--text); font-weight: 800; font-size: 14px; }
body.b-market .mk-ans-list .drop-add { grid-area: a; min-width: 60px; min-height: 32px; padding: 0 12px; font-size: 13px; font-weight: 650; border-radius: 999px; background: transparent !important; color: var(--text) !important; border: 1.5px solid var(--text) !important; }
body.b-market .mk-ans-more { display: block; width: 100%; text-align: left; background: none; border: 0; border-top: 1px solid var(--border); color: var(--text); font: inherit; font-size: 13px; font-weight: 700; padding: 10px 14px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 900px) {
  body.b-market .mk-answers { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
  body.b-market .mk-ans summary { pointer-events: none; }
}
body.b-market .mk-ans-list .b-price { text-align: left; }

/* ---- "Your stack" on Home (2026-09-23) ------------------------------------
   One card, only when you hold something. Sentences, not tiles. */
.b-stack { margin: 0 0 24px; padding: 14px 16px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.b-stack-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.b-stack h2 { margin: 0; font-family: 'Manrope', sans-serif; font-size: 20px; font-weight: 800; letter-spacing: -0.02em; }
.b-stack-open { color: var(--text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; font-size: 14px; white-space: nowrap; }
.b-stack-line { margin: 6px 0 0; font-size: 15px; line-height: 1.5; max-width: 70ch; }
.b-stack-line b { font-family: 'Archivo', 'Manrope', sans-serif; font-stretch: 87.5%; font-weight: 800; font-size: 20px; letter-spacing: -0.02em; }
.b-stack-line .up { color: var(--up); font-weight: 700; }
.b-stack-line .down { color: var(--down); font-weight: 700; }
.b-stack-sub { margin: 4px 0 0; font-size: 13.5px; color: var(--text-dim); line-height: 1.5; max-width: 70ch; }
.b-stack-sub b { color: var(--text); }
@media (max-width: 640px) { .b-stack { padding: 12px; } .b-stack h2 { font-size: 18px; } }

/* ---- Your stack on Market (2026-09-23) -------------------------------------
   "You hold 2, on your list" under a card's name and in the table; the
   "Only mine" switch sits with the view buttons. */
body.b-market .mk-mine { display: inline-block; margin: 2px 0 0; padding: 1px 8px; border-radius: 999px; border: 1px solid var(--border-strong, var(--border)); background: var(--surface-2, transparent); color: var(--text); font-size: 12px; font-weight: 650; line-height: 1.5; }
body.b-market .mk-card .mk-mine { margin: 0 0 4px; align-self: flex-start; }
body.b-market .mk-table td.name .mk-mine { display: inline-block; margin-left: 6px; }
body.b-market .mk-only-mine { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border-radius: 999px; border: 1.5px solid var(--text); color: var(--text); font-size: 13px; font-weight: 650; }
body.b-market .mk-only-mine[aria-pressed="true"] { background: var(--text); color: var(--bg); }
@media (max-width: 640px) { body.b-market .mk-only-mine { min-height: 36px; } }
body.b-page .p-free-note { margin: 8px 0 4px; font-size: 13px; color: var(--text-dim); line-height: 1.5; } body.b-page .p-free-note a { color: var(--text); font-weight: 700; }
