/* TitanMC Prison Market — route theme and rendering policy.
   Component geometry intentionally lives in the same shared marketplace
   stylesheets as /marketplace. This file may change colour, atmosphere,
   animation cadence and paint scheduling only. */

body.market-prison-page {
  --pmc-accent: #e76f2e;
  --pmc-accent-2: #ffad70;
  --pmc-accent-deep: #ad451b;
  --pmc-cyan: #55d4e5;
  --pmc-green: #4bd58c;
  --pmc-bg: #05070a;
  --pmc-surface: #0b0f13;
  --pmc-surface-2: #10151a;
  --pmc-text: #e9e3da;
  --pmc-text-2: #aaa39a;
  --pmc-text-3: #746f68;
  --pmc-line: rgba(230, 222, 208, .095);
  --pmc-line-hot: rgba(231, 111, 46, .34);
  --pmc-ease: cubic-bezier(.16, 1, .3, 1);

  /* Shared marketplace tokens, recoloured for Prison. No spacing or sizing
     tokens are overridden here. */
  --au-50: #fff5ea;
  --au-100: #ffe3c7;
  --au-200: #ffc18c;
  --au-300: #ff9f58;
  --au-400: #f47b35;
  --au-500: #e76f2e;
  --au-600: #c45322;
  --au-700: #98401a;
  --au-800: #702f15;
  --au-900: #4b2111;
  --au-glow: rgba(231, 111, 46, .28);
  --au-glow-soft: rgba(255, 159, 88, .15);
  --au-glow-strong: rgba(255, 159, 88, .42);
  --am-300: #ffb26f;
  --am-500: #ed7b2f;
  --am-700: #914116;
  --cy-300: #82e7f0;
  --cy-400: #55d4e5;
  --cy-500: #2aa9ba;
  --cy-700: #176c78;
  --cy-glow: rgba(85, 212, 229, .25);
  --em-300: #63dfa1;
  --em-500: #4bd58c;
  --glass-border: rgba(231, 111, 46, .16);
  --glass-border-hover: rgba(255, 159, 88, .36);
  --gold: var(--pmc-accent);
  --gold-light: var(--pmc-accent-2);
  --gold-glow: rgba(231, 111, 46, .16);
  --gold-border: var(--glass-border);
  --green: var(--pmc-green);
  --cyan: var(--pmc-cyan);
  --accent-cyan: var(--pmc-cyan);
  --amber: var(--am-500);
  --text: var(--pmc-text);
  --text-sec: var(--pmc-text-2);
  --text-dim: var(--pmc-text-3);
  background: var(--pmc-bg);
}

/* The regular market's structural background is retained, but the Prison
   route gets a cleaner, darker shaft palette without a repeating dot/noise
   texture. */
body.market-prison-page #marketplace::before {
  background:
    radial-gradient(ellipse 1050px 620px at 50% 9%, rgba(231, 111, 46, .12), transparent 66%),
    radial-gradient(ellipse 780px 680px at 13% 46%, rgba(231, 111, 46, .045), transparent 70%),
    radial-gradient(ellipse 820px 720px at 88% 58%, rgba(85, 212, 229, .035), transparent 72%),
    linear-gradient(180deg, #05070a 0%, #07090c 43%, #05070a 100%) !important;
}

body.market-prison-page #marketplace::after {
  background: none !important;
  opacity: 0 !important;
}

/* Route-owned scroll progress avoids a full document-height read on every
   wheel frame. Supporting engines run it on the compositor scroll timeline;
   the route script supplies a throttled fallback elsewhere. */
body.market-prison-page #scrollProgress {
  position: fixed;
  z-index: 10020;
  top: var(--nav-h, 64px);
  left: 0;
  width: 100%;
  height: 2px;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: 0 50%;
  background: linear-gradient(90deg, var(--pmc-accent-deep), var(--pmc-accent-2) 58%, var(--pmc-cyan));
  box-shadow: 0 0 12px rgba(231, 111, 46, .22);
}

@supports (animation-timeline: scroll()) {
  body.market-prison-page #scrollProgress {
    animation: pmcScrollProgress linear both;
    animation-timeline: scroll(root block);
  }

  @keyframes pmcScrollProgress {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
  }
}

/* Long marketplace pages should not raster every offscreen card during the
   hero's first frame. Geometry is reserved per section, so there is no jump
   when content becomes visible. */
@supports (content-visibility: auto) {
  body.market-prison-page #marketplace > [data-pm-section] {
    content-visibility: auto;
    contain: layout paint style;
    contain-intrinsic-size: auto 420px;
  }

  body.market-prison-page #marketplace > [data-pm-section="daily-deals"] { contain-intrinsic-size: auto 327px; }
  body.market-prison-page #marketplace > [data-pm-section="categories"] { contain-intrinsic-size: auto 206px; }
  body.market-prison-page #marketplace > [data-pm-section="listings"] { contain-intrinsic-size: auto 1084px; }
  body.market-prison-page #marketplace > [data-pm-section="recent"] { contain-intrinsic-size: auto 0; }
  body.market-prison-page #marketplace > [data-pm-section="trending"] { contain-intrinsic-size: auto 311px; }
  body.market-prison-page #marketplace > [data-pm-section="flip-finder"] { contain-intrinsic-size: auto 394px; }
  body.market-prison-page #marketplace > [data-pm-section="collections"] { contain-intrinsic-size: auto 336px; }
  body.market-prison-page #marketplace > [data-pm-section="top-sellers"] { contain-intrinsic-size: auto 269px; }
  body.market-prison-page #marketplace > [data-pm-section="transactions"] { contain-intrinsic-size: auto 494px; }
  body.market-prison-page #marketplace > [data-pm-section="overview"] { contain-intrinsic-size: auto 583px; }
  body.market-prison-page #marketplace > [data-pm-section="order-book"] { contain-intrinsic-size: auto 541px; }
  body.market-prison-page #marketplace > [data-pm-section="tools"] { contain-intrinsic-size: auto 331px; }
}

@media (max-width: 760px) {
  @supports (content-visibility: auto) {
    body.market-prison-page #marketplace > [data-pm-section="daily-deals"] { contain-intrinsic-size: auto 640px; }
    body.market-prison-page #marketplace > [data-pm-section="categories"] { contain-intrinsic-size: auto 206px; }
    body.market-prison-page #marketplace > [data-pm-section="listings"] { contain-intrinsic-size: auto 2875px; }
    body.market-prison-page #marketplace > [data-pm-section="trending"] { contain-intrinsic-size: auto 914px; }
    body.market-prison-page #marketplace > [data-pm-section="flip-finder"] { contain-intrinsic-size: auto 1090px; }
    body.market-prison-page #marketplace > [data-pm-section="collections"] { contain-intrinsic-size: auto 680px; }
    body.market-prison-page #marketplace > [data-pm-section="top-sellers"] { contain-intrinsic-size: auto 561px; }
    body.market-prison-page #marketplace > [data-pm-section="transactions"] { contain-intrinsic-size: auto 482px; }
    body.market-prison-page #marketplace > [data-pm-section="overview"] { contain-intrinsic-size: auto 1181px; }
    body.market-prison-page #marketplace > [data-pm-section="order-book"] { contain-intrinsic-size: auto 656px; }
    body.market-prison-page #marketplace > [data-pm-section="tools"] { contain-intrinsic-size: auto 277px; }
  }
}

/* Scrolling pauses only ornamental card sheen. Layout, focus and hover hit
   targets remain identical to the regular marketplace. */
html.pmi-market-scrolling body.market-prison-page #marketplace :is(
  .auction-card, .deal-card, .trend-card, .flip-card,
  .seller-card, .rv-card, .collection-card
)::before {
  transition: none !important;
}
