/* Last pack sheet. Pack files may shout every h1; sentences on drops / network /
   product stay readable. Unpackaged Polish neon never loads this file. */

html body.has-pack {
  font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif);
}
html body.has-pack :is(h1, h2, h3, .brand, .price, .totals, .pay .amount) {
  font-family: var(--font-heading, Fraunces, Georgia, serif);
}

html body.has-pack h1 {
  letter-spacing: -0.02em;
  text-transform: none;
  line-height: 1.15;
  overflow-wrap: break-word;
}
html body.has-pack.fx-type-impact h1 {
  font-size: clamp(1.8rem, 4vw, 2.75rem);
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-transform: none;
}
html body.has-pack .brand {
  letter-spacing: var(--pack-tracking, 0.06em);
  text-transform: uppercase;
}

html body.has-pack .pack-layer {
  z-index: 0;
  isolation: isolate;
  mix-blend-mode: normal;
}
html body.has-pack.journey-txn .pack-layer {
  opacity: 0.06;
}
html body.has-pack .pack-layer .pack-motif,
html body.has-pack .pack-layer .chem-layer {
  mix-blend-mode: normal;
}
html body.has-pack .fx-overlay {
  z-index: 0;
  mix-blend-mode: normal;
}
html body.has-pack.fx-chroma-split h1,
html body.has-pack.fx-chroma-split .brand,
html body.has-pack.fx-chroma-split .brand:hover {
  text-shadow: none;
}
html body.has-pack > main,
html body.has-pack[class*="atm-"]:not(.atm-none) > main,
html body.has-pack > .site-footer,
html body.has-pack > .flashes {
  position: relative;
  z-index: 2;
  isolation: isolate;
}

html body.has-pack .mystery-page {
  position: relative;
  z-index: 2;
}

html body.has-pack[class] .btn.drops-map-gate,
html body.has-pack[class] .region-drops-console .btn.drops-map-gate {
  color: var(--text);
  background: var(--surface);
  border: 2px solid var(--accent);
  box-shadow: none;
}
html body.has-pack[class] .btn.drops-map-gate .drops-map-hint,
html body.has-pack[class] .region-drops-console .drops-map-gate .drops-map-hint {
  background: transparent;
  color: inherit;
  text-transform: none;
  letter-spacing: 0.01em;
  white-space: normal;
  box-shadow: none;
}
html body.has-pack :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not(.crypto-addr-value), select, textarea) {
  background: var(--surface);
  color: var(--text);
  caret-color: var(--text);
  border-color: color-mix(in srgb, var(--text) 42%, var(--line, var(--accent)));
}
html body.has-pack .crypto-addr .crypto-addr-value,
html body.has-pack .crypto-addr input.crypto-addr-value {
  background: #f4efe4;
  color: #111114;
  caret-color: #111114;
  border: 2px solid var(--accent);
  letter-spacing: 0;
  text-transform: none;
  text-shadow: none;
  mix-blend-mode: normal;
  filter: none;
}
html body.has-pack[class] a.shop-chip,
html body.has-pack[class] .shop-chip {
  background: var(--surface);
  color: var(--text);
  border: 2px solid var(--accent);
}
html body.has-pack[class] a.shop-chip.on,
html body.has-pack[class] .shop-chip.on {
  background: var(--text);
  color: var(--surface);
  border-color: var(--text);
}

/* Desktop header: one row. The Menu/Mehu chip is mobile-only. */
html:has(body.has-pack),
html body.has-pack {
  overflow-x: clip;
}
html body.has-pack .header-inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem 0.7rem;
  min-width: 0;
  overflow: visible;
}
html body.has-pack.hdr-pill .header-inner {
  border-radius: 14px;
  overflow: visible;
}
html body.has-pack .brand {
  flex: 0 0 18rem;
  max-width: 18rem;
  color: #f7fbff;
  background: transparent;
  padding: 0.2rem 0.45rem;
  overflow: visible;
}
html body.has-pack .brand span {
  display: block;
  overflow: visible;
  white-space: normal;
  overflow-wrap: anywhere;
}
html body.has-pack[class] .site-header .nav-toggle,
html body.has-pack .nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 0.3rem 0.7rem;
  border: 2px solid var(--accent);
  background: var(--text);
  color: var(--surface);
  font-size: 0;
  line-height: 0;
  font-weight: 800;
  margin-left: 0;
}
html body.has-pack .nav {
  display: flex;
  flex-wrap: nowrap;
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
  gap: 0.4rem 0.45rem;
  column-gap: 0.45rem;
  row-gap: 0;
}
html body.has-pack .nav::-webkit-scrollbar { display: none; }
/* Above the drawer breakpoint there is no nav toggle to fall back on, so the
   bar wraps instead of hiding its last entries in a scrollbar-less strip. */
@media (min-width: 801px) {
  html body.has-pack .nav {
    flex-wrap: wrap;
    overflow-x: visible;
    row-gap: 0.35rem;
  }
}
html body.has-pack .site-header .nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.3rem 0.55rem;
  border: 2px solid var(--accent);
  background: var(--surface);
  color: var(--text);
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
html body.has-pack[class] .site-header .nav a[aria-current="page"],
html body.has-pack[class] .site-header .nav a:hover,
html body.has-pack .site-header .nav a[aria-current="page"],
html body.has-pack .site-header .nav a:hover {
  background: var(--text);
  color: var(--surface);
  border-color: var(--accent);
}
html body.has-pack[class] .header-actions,
html body.has-pack .header-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.45rem;
  flex: 0 0 auto;
}
html body.has-pack[class] .header-actions a,
html body.has-pack .header-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.3rem 0.55rem;
  border: 2px solid var(--accent);
  background: var(--surface);
  color: var(--text);
  text-decoration: none;
  font-weight: 800;
}
html body.has-pack[class] .header-actions a:hover,
html body.has-pack .header-actions a:hover {
  background: var(--text);
  color: var(--surface);
}

/* All market packs share a cinematic, quiet chrome. Pack accents and type keep
   the market identities distinct without reducing the header to white tiles. */
html body.has-pack .site-header {
  color: #f7fbff;
  background: rgba(5, 8, 13, 0.92);
  border-bottom: 1px solid color-mix(in srgb, var(--accent) 60%, rgba(255, 255, 255, 0.14));
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(14px) saturate(1.16);
}
html body.has-pack .site-header .brand {
  color: #f7fbff;
  border: 0;
  background: transparent;
}
html body.has-pack[class] .site-header .nav a,
html body.has-pack[class] .header-actions a,
html body.has-pack .site-header .nav a,
html body.has-pack .header-actions a {
  color: #edf4f8;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: none;
}
html body.has-pack[class] .site-header .nav a[aria-current="page"],
html body.has-pack[class] .site-header .nav a:hover,
html body.has-pack[class] .header-actions a:hover,
html body.has-pack .site-header .nav a[aria-current="page"],
html body.has-pack .site-header .nav a:hover,
html body.has-pack .header-actions a:hover {
  color: #fff;
  border-color: color-mix(in srgb, var(--accent) 72%, #fff);
  background: color-mix(in srgb, var(--accent) 20%, rgba(5, 8, 13, 0.9));
}
html body.has-pack .header-actions select {
  color: #edf4f8;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background-color: rgba(5, 8, 13, 0.96);
}
html body.has-pack[class] .site-header .nav-toggle,
html body.has-pack .site-header .nav-toggle {
  color: #f7fbff;
  border: 1px solid color-mix(in srgb, var(--accent) 72%, #fff);
  background: rgba(255, 255, 255, 0.035);
}

html body.has-pack[class] .btn:not(.btn-ghost),
html body.has-pack[class].view-home .block-hero .hero-copy .btn,
html body.has-pack[class].view-home .block-hero.variant-cinematic .block-inner .btn,
html body.has-pack[class].view-home .block-hero.variant-poster .block-inner .btn {
  background: var(--text);
  color: var(--surface);
  border: 2px solid var(--accent);
  text-shadow: none;
}
html body.has-pack[class] .btn-ghost {
  background: var(--surface);
  color: var(--text);
  border: 2px solid var(--accent);
}
html body.has-pack[class] .finder-pin,
html body.has-pack[class] .block-finder .section-head a,
html body.has-pack[class] .story-chip {
  display: inline-flex;
  align-items: center;
  background: var(--surface);
  color: var(--text);
  border: 2px solid var(--accent);
  padding: 0.35rem 0.65rem;
  text-decoration: none;
}
html body.has-pack[class] .step-nav li {
  color: var(--text);
  opacity: 1;
}

/* Promo / alerts bar: filled-button ink so long copy stays readable. */
html body.has-pack > .perks,
html body.has-pack > .announcement {
  position: relative;
  z-index: 3;
  isolation: isolate;
}
html body.has-pack .perks,
html body.has-pack:not(.fx-alert-bar) .perks,
html body.has-pack.fx-alert-bar .perks {
  background: #05080d;
  background-image: linear-gradient(110deg, #05080d, color-mix(in srgb, var(--accent) 20%, #05080d), #05080d);
  color: #f7fbff;
  border-bottom: 1px solid color-mix(in srgb, var(--accent) 64%, transparent);
  animation: none;
}
html body.has-pack .announcement {
  background: #070b12;
  background-image: linear-gradient(120deg, #070b12, color-mix(in srgb, var(--accent-2, var(--accent)) 18%, #070b12));
  color: #edf4f8;
  letter-spacing: 0.03em;
  text-transform: none;
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.45;
  overflow-wrap: break-word;
  white-space: normal;
  mix-blend-mode: normal;
  text-shadow: none;
}
html body.has-pack .free-draw-announce {
  color: #edf4f8;
  border: 1px solid color-mix(in srgb, var(--accent) 46%, rgba(255, 255, 255, 0.12));
  border-inline-start-width: 4px;
  background:
    linear-gradient(120deg, rgba(5, 8, 13, 0.96), color-mix(in srgb, var(--accent-2, var(--accent)) 16%, rgba(5, 8, 13, 0.92)));
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.2);
}
html body.has-pack .free-draw-announce .btn {
  color: var(--ink-on-accent, #05080d);
  border-color: color-mix(in srgb, var(--accent) 58%, #fff);
  background: color-mix(in srgb, var(--accent) 88%, #fff);
}
html body.has-pack .perk,
html body.has-pack a.perk,
html body.has-pack.fx-alert-bar .perk,
html body.has-pack.fx-alert-bar a.perk {
  color: inherit;
  letter-spacing: 0.01em;
  text-transform: none;
  font-weight: 650;
  font-size: 1rem;
  line-height: 1.45;
  overflow-wrap: break-word;
  white-space: normal;
  mix-blend-mode: normal;
  filter: none;
  text-shadow: none;
}
html body.has-pack .perks-inner {
  gap: 0.4rem 1rem;
  padding: 0.65rem 0.35rem;
}
html body.has-pack .perk + .perk {
  border-left: 0;
}
@media (max-width: 800px) {
  html body.has-pack .header-inner {
    display: grid;
    grid-template-columns: minmax(5.5rem, 1fr) auto auto;
    align-items: center;
    overflow: visible;
    flex-wrap: wrap;
  }
  html body.has-pack .brand { max-width: none; }
  html body.has-pack .brand span {
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  html body.has-pack[class] .site-header .nav-toggle,
  html body.has-pack .nav-toggle {
    display: inline-flex;
  }
  html body.has-pack .nav {
    display: none;
    flex: 1 1 auto;
    flex-direction: column;
    flex-wrap: wrap;
    overflow: visible;
  }
  html body.has-pack .nav.is-open { display: flex; }
  html body.has-pack .header-actions { flex-wrap: wrap; }
}

@media (max-width: 520px) {
  html body.has-pack.view-home h1 {
    font-size: clamp(1.9rem, 10vw, 2.25rem);
    overflow-wrap: normal;
    word-break: normal;
  }
  html body.has-pack .header-inner {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  html body.has-pack .nav-toggle { grid-column: 2; }
  html body.has-pack .header-actions {
    grid-column: 1 / -1;
    max-width: none;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    scrollbar-width: thin;
  }
}

html body.has-pack .anon-box,
html body.has-pack .thread-keep,
html body.has-pack .thread .bubble,
html body.has-pack .mystery-funds-panel,
html body.has-pack .mystery-min-dialog {
  color: var(--text);
  background: var(--surface);
}
html body.has-pack .mystery-item-copy,
html body.has-pack .mystery-item-name,
html body.has-pack .mystery-item-qty,
html body.has-pack .mystery-item-value {
  color: #f4fbff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.72);
}
