/* ============================================================================
   nft-os.css: the NFT directory in the homepage's look (owner 2026-09-27,
   approved artifact AXBHy2kDumYYE5g9giYiTB). /nft-collections/, each
   collection, /nft-marketplaces/ and each marketplace.

   Loaded by Theme\NftOs only, after nft-directory.css, and every rule is under
   body.cg-nft-os, which only cryptogames.gg carries (egamers.io keeps its own
   look, owner's order). nft-directory.css reads only its --nft-* tokens, so
   most of the change is re-pointing them to home-os.css's palette; the rest
   styles the markup NftOs adds (hero, movers, tiles, side panels).
   ============================================================================ */

/* ---------------------------------------------------------------- tokens */
body.cg-nft-os {
  --nos-bg: #191919;
  --nos-s1: #212121;
  --nos-s2: #333333;
  --nos-s3: #3f3f3f;
  --nos-line: rgba(255, 255, 255, .08);
  --nos-text: #ffffff;
  --nos-muted: #b5b5b5;
  --nos-accent: #9d8cff;
  --nos-grad: linear-gradient(135deg, #06707f 0%, #4a28c4 62%, #7b2fc0 100%);
  --nos-soft: rgba(106, 80, 255, .16);
  --nos-ring: rgba(157, 140, 255, .55);
  --nos-glow: rgba(123, 47, 192, .55);
  --nos-glow-2: rgba(74, 40, 196, .28);
  --nos-title: linear-gradient(120deg, #4fd1e0 0%, #9d8cff 55%, #c792ff 100%);
  --nos-well: rgba(0, 0, 0, .32);
  --nos-up: #35b477;
  --nos-down: #d65a52;
  --nos-warn: #e0b44a;
}
body:not([data-theme="dark"]).cg-nft-os {
  --nos-bg: #ffffff;
  --nos-s1: #f4f4f6;
  --nos-s2: #e9e9ee;
  --nos-s3: #dedee6;
  --nos-line: rgba(0, 0, 0, .08);
  --nos-text: #191919;
  --nos-muted: #6b6b6b;
  --nos-accent: #4a28c4;
  --nos-soft: rgba(74, 40, 196, .10);
  --nos-ring: rgba(74, 40, 196, .45);
  --nos-glow: rgba(123, 47, 192, .22);
  --nos-glow-2: rgba(74, 40, 196, .12);
  --nos-title: linear-gradient(120deg, #06707f 0%, #4a28c4 60%, #7b2fc0 100%);
  --nos-well: rgba(255, 255, 255, .7);
  --nos-up: #2f9e68;
  --nos-down: #c0453e;
  --nos-warn: #9a6b00;
}

/* What nft-directory.css reads, pointed at the palette above. */
body.cg-nft-os .cg-nft,
body:not([data-theme="dark"]).cg-nft-os .cg-nft {
  --nft-bg: var(--nos-bg);
  --nft-card: var(--nos-s1);
  --nft-card-2: var(--nos-s2);
  --nft-line: var(--nos-line);
  --nft-line-strong: var(--nos-s3);
  --nft-ink: var(--nos-text);
  --nft-ink-dim: var(--nos-muted);
  --nft-accent: var(--nos-accent);
  --nft-link: var(--nos-accent);
  --nft-btn: var(--nos-s3);
  --nft-btn-hover: var(--nos-s3);
  --nft-btn-ink: var(--nos-text);
  --nft-up: var(--nos-up);
  --nft-down: var(--nos-down);
  max-width: none;
  font-family: Inter, system-ui, sans-serif;
}

/* ---------------------------------------------------------- page ground */
body.cg-nft-os,
body.cg-nft-os main.cg-main,
body.cg-nft-os .cg-content-area { background: var(--nos-bg); }
body.cg-nft-os .cg-content-area.cg-nft { padding: 20px 24px 40px; display: flex; flex-direction: column; gap: 18px; }
body.cg-nft-os .cg-nft > * { margin-top: 0; margin-bottom: 0; }
body.cg-nft-os .cg-nft h2 { font: 700 16px/1.3 Inter, system-ui, sans-serif; }
body.cg-nft-os .cg-nft__crumbs ol { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
body.cg-nft-os .cg-nft .cg-nft__crumbs a { color: var(--nos-muted); text-decoration: none; }
body.cg-nft-os .cg-nft .cg-nft__crumbs a:hover { color: var(--nos-accent); }
body.cg-nft-os .cg-nft__crumbs span { color: var(--nos-muted); }

/* --------------------------------------------------------------- buttons */
body.cg-nft-os .cg-nft .cg-nft__btn {
  height: 40px; padding: 0 16px; border: 0; border-radius: 11px; gap: 8px;
  background: var(--nos-grad); color: #ffffff; box-shadow: 0 6px 20px rgba(74, 40, 196, .3);
}
body.cg-nft-os .cg-nft .cg-nft__btn:hover { background: var(--nos-grad); color: #ffffff; filter: brightness(1.08); }
body.cg-nft-os .cg-nft .cg-nft__btn .material-symbols-outlined { font-size: 18px; }
body.cg-nft-os .cg-nft .cg-nft__btn--ghost { background: var(--nos-s2); color: var(--nos-text); box-shadow: none; }
body.cg-nft-os .cg-nft .cg-nft__btn--ghost:hover { background: var(--nos-s3); color: var(--nos-text); filter: none; }
body.cg-nft-os .cg-nft .cg-nft__btn:focus-visible { outline: 2px solid var(--nos-accent); outline-offset: 2px; }
body.cg-nft-os .cg-nos-btns { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

/* ----------------------------------------------------------------- chips */
body.cg-nft-os .cg-nft .cg-chip {
  height: 32px; display: inline-flex; align-items: center; padding: 0 12px; border: 0; border-radius: 12px;
  background: var(--nos-s1); color: var(--nos-text); font: 600 13px/1 Inter, system-ui, sans-serif;
}
body.cg-nft-os .cg-nft .cg-chip:hover { background: var(--nos-s2); color: var(--nos-text); }
body.cg-nft-os .cg-nft .cg-chip.is-on { background: var(--nos-soft); color: var(--nos-text); box-shadow: inset 0 0 0 1px var(--nos-ring); }
body.cg-nft-os .cg-nft__tf { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: var(--nos-s1); align-self: flex-start; }
body.cg-nft-os .cg-nft .cg-nft__tf .cg-chip { background: transparent; box-shadow: none; color: var(--nos-muted); border-radius: 9px; }
body.cg-nft-os .cg-nft .cg-nft__tf .cg-chip.is-on { background: var(--nos-s3); color: var(--nos-text); }
body.cg-nft-os .cg-nft__sep { background: var(--nos-s3); }

/* ------------------------------------------------------------------ hero */
body.cg-nft-os .cg-nos-hero {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: end;
  padding: 26px 28px; border-radius: 18px;
  background:
    radial-gradient(120% 140% at 100% 0%, var(--nos-glow) 0%, var(--nos-glow-2) 35%, transparent 70%),
    var(--nos-s1);
}
body.cg-nft-os .cg-nos-hero-main { min-width: 0; }
body.cg-nft-os .cg-nos-crumb { margin: 0 0 10px; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--nos-muted); }
body.cg-nft-os .cg-nft .cg-nos-crumb a { color: inherit; text-decoration: none; }
body.cg-nft-os .cg-nft .cg-nos-crumb a:hover { color: var(--nos-accent); }
body.cg-nft-os .cg-nft h1.cg-nos-title { margin: 0; font: 800 40px/1.05 Inter, system-ui, sans-serif; letter-spacing: -.02em; color: var(--nos-text); text-wrap: balance; }
body.cg-nft-os .cg-nos-title em { font-style: normal; background: var(--nos-title); -webkit-background-clip: text; background-clip: text; color: transparent; }
body.cg-nft-os .cg-nos-sub { margin: 8px 0 16px; max-width: 62ch; font-size: 15px; color: var(--nos-muted); }
body.cg-nft-os .cg-nos-switch { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: var(--nos-well); border: 1px solid var(--nos-line); }
body.cg-nft-os .cg-nft a.cg-nos-tab {
  height: 32px; padding: 0 14px; border-radius: 9px; display: inline-flex; align-items: center; gap: 6px;
  font: 600 14px/1 Inter, system-ui, sans-serif; color: var(--nos-muted); text-decoration: none;
}
body.cg-nft-os .cg-nft a.cg-nos-tab:hover { color: var(--nos-text); }
body.cg-nft-os .cg-nft a.cg-nos-tab.is-on { background: var(--nos-grad); color: #ffffff; }
body.cg-nft-os .cg-nos-tab .material-symbols-outlined { font-size: 18px; }
body.cg-nft-os .cg-nft a.cg-nos-tab:focus-visible { outline: 2px solid var(--nos-accent); outline-offset: 2px; }

body.cg-nft-os .cg-nos-stats { display: grid; grid-template-columns: repeat(3, auto); gap: 10px; margin: 0; }
body.cg-nft-os .cg-nos-stat { min-width: 118px; padding: 12px 16px; border-radius: 12px; background: var(--nos-well); border: 1px solid var(--nos-line); margin: 0; }
body.cg-nft-os .cg-nos-stat-label { display: block; margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nos-muted); }
body.cg-nft-os .cg-nos-stat-value { display: block; margin: 0; font-size: 22px; font-weight: 700; line-height: 1.3; color: var(--nos-text); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ----------------------------------------------------------- top movers */
body.cg-nft-os .cg-nos-movers h2 { margin: 0 0 10px; }
body.cg-nft-os .cg-nos-movers h2 span { margin-left: 8px; font-size: 12px; font-weight: 500; color: var(--nos-muted); }
body.cg-nft-os .cg-nos-moverrow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
body.cg-nft-os .cg-nft a.cg-nos-mover {
  display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; align-items: center; padding: 12px;
  border-radius: 16px; background: var(--nos-s1); color: var(--nos-text); text-decoration: none; transition: background .15s;
}
body.cg-nft-os .cg-nft a.cg-nos-mover:hover { background: var(--nos-s2); }
body.cg-nft-os .cg-nft a.cg-nos-mover:focus-visible { outline: 2px solid var(--nos-accent); outline-offset: 2px; }
body.cg-nft-os .cg-nos-mover img { width: 44px; height: 44px; border-radius: 12px; object-fit: cover; background: var(--nos-s2); }
body.cg-nft-os .cg-nos-mover b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.cg-nft-os .cg-nos-mover small { font-size: 12px; font-weight: 600; color: var(--nos-muted); font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------ hub table */
body.cg-nft-os .cg-nft__tablewrap,
body.cg-nft-os .cg-nft__ptablewrap { border: 0; border-radius: 16px; background: var(--nos-s1); }
body.cg-nft-os .cg-nft__table thead th,
body.cg-nft-os .cg-nft__ptable th {
  background: var(--nos-s1); padding: 14px 12px 10px; font-size: 11px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--nos-muted); border-bottom: 1px solid var(--nos-line);
}
body.cg-nft-os .cg-nft .cg-nft__table th[aria-sort] a { color: var(--nos-accent); text-decoration: none; }
body.cg-nft-os .cg-nft__table td,
body.cg-nft-os .cg-nft__ptable td { border-bottom: 1px solid var(--nos-line); }
body.cg-nft-os .cg-nft__table tbody tr:hover,
body.cg-nft-os .cg-nft__mtable tbody tr:hover { background: rgba(127, 127, 127, .06); }
body.cg-nft-os .cg-nft__table td.cg-nft__rank,
body.cg-nft-os .cg-nft__mtable td.cg-nft__rank { width: 54px; }
body.cg-nft-os .cg-nos-rk {
  display: inline-grid; place-items: center; width: 30px; height: 26px; border-radius: 8px;
  background: var(--nos-s2); color: var(--nos-muted); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums;
}
body.cg-nft-os .cg-nos-rk.is-top { background: var(--nos-grad); color: #ffffff; }
body.cg-nft-os .cg-nft__name img { border-radius: 10px; }
body.cg-nft-os .cg-nft__verified { background: #2081e2; color: #ffffff; }
body.cg-nft-os .cg-nft .cg-nft__page { border: 0; border-radius: 10px; background: var(--nos-s1); color: var(--nos-muted); min-width: 38px; height: 38px; display: inline-grid; place-items: center; }
body.cg-nft-os .cg-nft .cg-nft__page:hover { background: var(--nos-s2); color: var(--nos-text); }
body.cg-nft-os .cg-nft .cg-nft__page.is-on { background: var(--nos-grad); color: #ffffff; }
body.cg-nft-os .cg-nft__search input { border-color: var(--nos-line); background: var(--nos-s1); color: var(--nos-text); border-radius: 12px; }

/* The theme's own table rules (cell side borders, baseline, 16px, striped rows) off. */
body.cg-nft-os .cg-nft__table th,
body.cg-nft-os .cg-nft__table td,
body.cg-nft-os .cg-nft__ptable th,
body.cg-nft-os .cg-nft__ptable td { border-left: 0; border-right: 0; border-top: 0; vertical-align: middle; font-size: 14px; line-height: 1.4; }
body.cg-nft-os .cg-nft__table thead th,
body.cg-nft-os .cg-nft__ptable thead th { font-size: 11px; }
body.cg-nft-os .cg-nft__table,
body.cg-nft-os .cg-nft__ptable { border: 0; margin: 0; }
body.cg-nft-os .cg-nft__table tbody tr,
body.cg-nft-os .cg-nft__table tbody tr td,
body.cg-nft-os .cg-nft__ptable tbody tr,
body.cg-nft-os .cg-nft__ptable tbody tr td { background: transparent; }
body.cg-nft-os .cg-nft__table tbody tr:hover td,
body.cg-nft-os .cg-nft__ptable tbody tr:hover td { background: rgba(127, 127, 127, .06); }
body.cg-nft-os .cg-nft .cg-chip,
body.cg-nft-os .cg-nft a.cg-nos-tab { text-transform: none; letter-spacing: 0; }

/* ------------------------------------------------------ collection page */
body.cg-nft-os .cg-nft__hero { margin: 0; background: transparent; border: 0; border-radius: 0; overflow: visible; }
body.cg-nft-os .cg-nft__banner { border-radius: 18px; }
body.cg-nft-os .cg-nft__banner::after {
  background:
    linear-gradient(180deg, transparent 30%, var(--nos-bg) 100%),
    radial-gradient(90% 120% at 100% 0%, var(--nos-glow), transparent 60%);
}
body.cg-nft-os .cg-nft__logo { border-color: var(--nos-bg); background: var(--nos-s2); border-radius: 22px; }
body.cg-nft-os .cg-nft__herotext h1 { font: 800 34px/1.1 Inter, system-ui, sans-serif; letter-spacing: -.02em; }
body.cg-nft-os .cg-nft .cg-nft__social { border: 0; border-radius: 10px; background: var(--nos-s1); color: var(--nos-muted); padding: 7px 12px; font-weight: 600; }
body.cg-nft-os .cg-nft .cg-nft__social:hover { background: var(--nos-s2); color: var(--nos-text); }
body.cg-nft-os .cg-nft__desc { padding: 14px 0 0; }
body.cg-nft-os .cg-nft__desctext { max-width: 90ch; }
body.cg-nft-os .cg-nft .cg-nft__desctext a { color: var(--nos-accent); }

body.cg-nft-os .cg-nos-cgrid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }
body.cg-nft-os .cg-nos-cmain { min-width: 0; display: flex; flex-direction: column; gap: 18px; }
body.cg-nft-os .cg-nos-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; }
body.cg-nft-os .cg-nos-tile { padding: 12px 14px; border-radius: 14px; background: var(--nos-s1); min-width: 0; }
body.cg-nft-os .cg-nos-tile dt { margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nos-muted); }
body.cg-nft-os .cg-nos-tile dd { margin: 0; font-size: 19px; font-weight: 700; color: var(--nos-text); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body.cg-nft-os .cg-nos-tile .cg-nft__chg { font-size: 12px; }

body.cg-nft-os .cg-nos-aside { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
body.cg-nft-os .cg-nos-panel { padding: 16px; border-radius: 16px; background: var(--nos-s1); display: flex; flex-direction: column; }
body.cg-nft-os .cg-nft .cg-nos-panel h2 { margin: 0 0 10px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--nos-muted); }
body.cg-nft-os .cg-nft a.cg-nos-game { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; align-items: center; padding: 6px 0; color: var(--nos-text); text-decoration: none; }
body.cg-nft-os .cg-nos-game img { width: 52px; height: 52px; border-radius: 12px; object-fit: cover; background: var(--nos-s2); }
body.cg-nft-os .cg-nos-game b { display: block; }
body.cg-nft-os .cg-nos-game small { color: var(--nos-accent); font-weight: 700; }
body.cg-nft-os .cg-nft a.cg-nos-game:hover b { color: var(--nos-accent); }
body.cg-nft-os .cg-nos-row { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--nos-line); color: var(--nos-text); text-decoration: none; }
body.cg-nft-os .cg-nos-panel h2 + .cg-nos-row { border-top: 0; }
body.cg-nft-os .cg-nos-row span { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--nos-muted); text-align: right; overflow-wrap: anywhere; }
body.cg-nft-os .cg-nft a.cg-nos-row:hover span { color: var(--nos-accent); }
body.cg-nft-os .cg-nft a.cg-nos-row:focus-visible,
body.cg-nft-os .cg-nft a.cg-nos-game:focus-visible { outline: 2px solid var(--nos-accent); outline-offset: 2px; }

/* The tabs as the homepage's segmented control. */
body.cg-nft-os .cg-nft__tabs { margin: 0; }
body.cg-nft-os .cg-nft__tabbar { display: inline-flex; max-width: 100%; gap: 4px; padding: 4px; border: 0; border-radius: 12px; background: var(--nos-s1); }
body.cg-nft-os .cg-nft .cg-nft__tab { height: 32px; display: inline-flex; align-items: center; padding: 0 12px; margin: 0; border: 0; border-radius: 9px; color: var(--nos-muted); }
body.cg-nft-os #cg-nft-t-items:checked ~ .cg-nft__tabbar label[for=cg-nft-t-items],
body.cg-nft-os #cg-nft-t-offers:checked ~ .cg-nft__tabbar label[for=cg-nft-t-offers],
body.cg-nft-os #cg-nft-t-holders:checked ~ .cg-nft__tabbar label[for=cg-nft-t-holders],
body.cg-nft-os #cg-nft-t-activity:checked ~ .cg-nft__tabbar label[for=cg-nft-t-activity],
body.cg-nft-os #cg-nft-t-traits:checked ~ .cg-nft__tabbar label[for=cg-nft-t-traits],
body.cg-nft-os #cg-nft-t-analytics:checked ~ .cg-nft__tabbar label[for=cg-nft-t-analytics],
body.cg-nft-os #cg-nft-t-about:checked ~ .cg-nft__tabbar label[for=cg-nft-t-about] { background: var(--nos-s3); color: var(--nos-text); }
body.cg-nft-os .cg-nft .cg-nft__itemlink { border: 0; border-radius: 14px; background: var(--nos-s1); overflow: hidden; }
body.cg-nft-os .cg-nft__drawer,
body.cg-nft-os .cg-nft__chart,
body.cg-nft-os .cg-nft__trait { border: 0; border-radius: 16px; background: var(--nos-s1); }
body.cg-nft-os .cg-nft__line { stroke: var(--nos-accent); }
body.cg-nft-os .cg-nft__area,
body.cg-nft-os .cg-nft__bar { fill: var(--nos-accent); }
body.cg-nft-os .cg-nft__ranges label { border: 0; border-radius: 9px; background: var(--nos-s1); }

/* ---------------------------------------------------- marketplaces list */
body.cg-nft-os .cg-nft__markets { margin: 0; gap: 12px; }
body.cg-nft-os .cg-nft .cg-nft__mcard { border: 0; border-radius: 16px; background: var(--nos-s1); gap: 12px; transition: background .15s; }
body.cg-nft-os .cg-nft .cg-nft__mcard:hover { background: var(--nos-s2); transform: none; }
/* White tile: several marks (Blur) are dark and vanish on the dark card. */
body.cg-nft-os .cg-nft__mlogo { width: 44px; height: 44px; padding: 6px; background: #ffffff; object-fit: contain; }
body.cg-nft-os .cg-nft__mono { width: 44px; height: 44px; border-radius: 12px; background: var(--nos-s3); color: var(--nos-text); font-size: 18px; }
body.cg-nft-os .cg-nft__mchip { border: 0; border-radius: 7px; background: var(--nos-bg); color: var(--nos-muted); padding: 3px 8px; }
body.cg-nft-os .cg-nos-mfacts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body.cg-nft-os .cg-nos-mfacts > span { padding: 8px 10px; border-radius: 10px; background: var(--nos-s2); min-width: 0; }
body.cg-nft-os .cg-nft__mcard:hover .cg-nos-mfacts > span { background: var(--nos-s3); }
body.cg-nft-os .cg-nos-mfacts small { display: block; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nos-muted); }
body.cg-nft-os .cg-nos-mfacts b { font-size: 14px; color: var(--nos-text); }
body.cg-nft-os .cg-nos-mfacts b.is-ok { color: var(--nos-up); }
body.cg-nft-os .cg-nos-mfacts b.is-warn { color: var(--nos-warn); }
body.cg-nft-os .cg-nft__mcount { color: var(--nos-muted); }

/* ---------------------------------------------------- marketplace page */
body.cg-nft-os .cg-nos-mhead { display: flex; align-items: center; gap: 14px; }
body.cg-nft-os .cg-nos-mlogo { width: 56px; height: 56px; padding: 8px; border-radius: 14px; object-fit: contain; background: #ffffff; flex: 0 0 56px; }
body.cg-nft-os span.cg-nos-mlogo { padding: 0; background: var(--nos-s3); color: var(--nos-text); display: inline-grid; place-items: center; font-weight: 800; font-size: 22px; }
body.cg-nft-os .cg-nos-hero--market .cg-nos-stats { grid-template-columns: repeat(3, auto); }
body.cg-nft-os .cg-nos-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
body.cg-nft-os .cg-nos-chip { height: 28px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: 10px; background: var(--nos-s1); color: var(--nos-text); font-size: 13px; font-weight: 600; }
body.cg-nft-os .cg-nft__mabout { max-width: none; padding: 16px 18px; border-radius: 16px; background: var(--nos-s1); color: var(--nos-muted); }
body.cg-nft-os .cg-nft__mabout p:last-child { margin-bottom: 0; }
body.cg-nft-os .cg-nft__mcols { margin: 0; }
body.cg-nft-os .cg-nft__mcols .cg-nft__intro { color: var(--nos-muted); }

/* ----------------------------------------------------------------- sizes */
@media (max-width: 1100px) {
  body.cg-nft-os .cg-nos-cgrid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  body.cg-nft-os .cg-nos-hero { grid-template-columns: 1fr; }
  body.cg-nft-os .cg-nos-moverrow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.cg-nft-os .cg-nos-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  body.cg-nft-os .cg-content-area.cg-nft { padding: 12px 12px 32px; gap: 14px; }
  body.cg-nft-os .cg-nos-hero { padding: 18px; gap: 14px; }
  body.cg-nft-os .cg-nft h1.cg-nos-title { font-size: 28px; }
  body.cg-nft-os .cg-nos-sub { margin-bottom: 12px; font-size: 14px; }
  body.cg-nft-os .cg-nos-stats,
  body.cg-nft-os .cg-nos-hero--market .cg-nos-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.cg-nft-os .cg-nos-stat { min-width: 0; padding: 10px; }
  body.cg-nft-os .cg-nos-stat-value { font-size: 17px; }
  body.cg-nft-os .cg-nft__herotext h1 { font-size: 26px; }
  body.cg-nft-os .cg-nft__tf,
  body.cg-nft-os .cg-nft__tabbar { display: flex; overflow-x: auto; scrollbar-width: none; }
}
@media (max-width: 640px) {
  /* nft-directory.css turns the hub table into cards here; the rank badge sits in its own cell. */
  body.cg-nft-os .cg-nft__table tr { border-bottom: 1px solid var(--nos-line); }
  body.cg-nft-os .cg-nft__table td.cg-nft__rank { width: auto; }
}
@media (prefers-reduced-motion: reduce) {
  body.cg-nft-os .cg-nft a.cg-nos-mover,
  body.cg-nft-os .cg-nft .cg-nft__mcard { transition: none; }
}
