:root {
  --ink: #181228;
  --ink-2: #241936;
  --ink-3: #312246;
  --violet: #7047eb;
  --violet-dark: #4f2db8;
  --violet-soft: #e5dcff;
  --magenta: #f0469a;
  --cyan: #39d7e3;
  --cyan-deep: #087c8a;
  --gold: #ffc857;
  --silver: #d8e0eb;
  --lime: #a8df65;
  --paper: #fffdf8;
  --parchment: #f4eddf;
  --parchment-2: #ece0ca;
  --white: #ffffff;
  --text: #251f2c;
  --muted: #706978;
  --line: rgba(38, 28, 50, .14);
  --dark-line: rgba(255, 255, 255, .14);
  --radius-sm: 10px;
  --radius: 18px;
  --radius-lg: 28px;
  --shadow: 0 22px 55px rgba(24, 18, 40, .15);
  --shadow-purple: 0 22px 70px rgba(87, 49, 201, .28);
  --page: min(1280px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--parchment); color: var(--text); font: 16px/1.55 "Manrope", sans-serif; }
body.dialog-open { overflow: hidden; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.material-symbols-rounded { font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 500; padding: 12px 16px; border-radius: 8px; background: var(--white); color: var(--ink); font-weight: 800; box-shadow: var(--shadow); }
.skip-link:focus { top: 12px; }

.site-header { position: absolute; z-index: 50; inset: 0 0 auto; border-bottom: 1px solid rgba(255,255,255,.12); color: var(--white); }
.site-header.is-stuck { position: fixed; background: rgba(24,18,40,.96); box-shadow: 0 10px 36px rgba(11,8,20,.24); }
.nav-shell { width: min(1400px, calc(100% - 48px)); min-height: 88px; margin: auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 38px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.38); border-radius: 13px; color: var(--gold); font-size: 27px; background: rgba(24,18,40,.42); }
.brand-type strong, .brand-type small { display: block; }
.brand-type strong { font: 400 1.04rem/1 "Rowdies", sans-serif; letter-spacing: .055em; }
.brand-type strong span, .footer-brand strong span { color: var(--cyan); }
.brand-type small { margin-top: 6px; color: rgba(255,255,255,.68); font: 500 .55rem/1 "DM Mono", monospace; letter-spacing: .18em; }
.site-nav { display: flex; justify-content: center; gap: clamp(18px, 2.5vw, 38px); }
.site-nav a { position: relative; padding: 31px 0 27px; color: rgba(255,255,255,.76); font-size: .8rem; font-weight: 800; }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 23px; height: 3px; border-radius: 4px; background: var(--cyan); transition: right .22s ease; }
.site-nav a:hover, .site-nav a.active { color: var(--white); }
.site-nav a:hover::after, .site-nav a.active::after { right: 0; }
.watchlist-pill { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 0 7px 0 14px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: var(--white); background: rgba(24,18,40,.46); font-weight: 800; font-size: .75rem; }
.watchlist-pill > .material-symbols-rounded { color: var(--magenta); font-size: 20px; }
.watchlist-pill b { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--violet); font: 700 .7rem "DM Mono", monospace; }
.menu-toggle { display: none; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.26); border-radius: 11px; background: rgba(24,18,40,.46); color: var(--white); }

.hero { position: relative; min-height: 820px; overflow: hidden; color: var(--white); background: var(--ink); }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(1.14) contrast(1.06); }
.hero-tint { position: absolute; inset: 0; background: rgba(18, 10, 35, .69); }
.hero-shell { position: relative; width: min(1400px, calc(100% - 48px)); min-height: 820px; margin: auto; padding: 150px 0 82px; display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(360px, .72fr); align-items: center; gap: clamp(50px, 8vw, 125px); }
.hero-copy { max-width: 790px; }
.eyebrow, .overline { margin: 0 0 18px; font: 700 .67rem/1.4 "DM Mono", monospace; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 11px; color: rgba(255,255,255,.76); }
.eyebrow-line { width: 28px; height: 3px; border-radius: 4px; background: var(--cyan); }
.hero h1, .section-heading h2, .edition-copy h2, .pal-intro h2, .vault-section h2 { margin: 0; font-family: "Rowdies", sans-serif; font-weight: 400; letter-spacing: -.03em; }
.hero h1 { max-width: 760px; font-size: clamp(4.25rem, 6.5vw, 6.6rem); line-height: .95; }
.hero h1 em { color: var(--gold); font-style: normal; text-shadow: 0 0 28px rgba(255,200,87,.2); }
.hero-lede { max-width: 720px; margin: 24px 0 28px; color: rgba(255,255,255,.76); font-size: 1.02rem; }
.global-search { position: relative; max-width: 750px; height: 64px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; padding: 0 13px 0 16px; border: 2px solid rgba(255,255,255,.2); border-radius: 15px; background: var(--paper); box-shadow: 0 15px 45px rgba(11,8,20,.3); color: var(--ink); }
.global-search:focus-within { border-color: var(--cyan); box-shadow: 0 18px 55px rgba(57,215,227,.2); }
.global-search > .material-symbols-rounded { color: var(--violet); }
.global-search input { width: 100%; height: 100%; padding: 0 6px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: .92rem; }
.global-search input::placeholder { color: #8a8291; }
.global-search kbd { min-width: 30px; height: 32px; display: grid; place-items: center; border: 1px solid rgba(24,18,40,.18); border-radius: 7px; background: #f5efff; color: var(--violet-dark); font: 700 .8rem "DM Mono", monospace; box-shadow: 0 2px 0 rgba(24,18,40,.12); }
.search-results { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 10px); overflow: hidden; border: 1px solid rgba(112,71,235,.3); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow-purple); }
.search-result { width: 100%; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; padding: 13px 16px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); text-align: left; }
.search-result:last-child { border-bottom: 0; }
.search-result:hover, .search-result:focus-visible { background: var(--violet-soft); }
.search-result > .material-symbols-rounded { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: var(--ink); color: var(--cyan); font-size: 18px; }
.search-result strong, .search-result small { display: block; }
.search-result strong { font-size: .82rem; }
.search-result small { color: var(--muted); font-size: .67rem; }
.search-result > em { color: var(--violet-dark); font: 700 .62rem "DM Mono", monospace; font-style: normal; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; border: 1px solid transparent; border-radius: 11px; font-size: .78rem; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button .material-symbols-rounded { font-size: 19px; }
.button-primary { background: var(--violet); color: var(--white); box-shadow: 0 12px 30px rgba(112,71,235,.34); }
.button-primary:hover { background: #7d58f2; box-shadow: 0 15px 36px rgba(112,71,235,.45); }
.button-ghost { border-color: rgba(255,255,255,.35); background: rgba(24,18,40,.42); color: var(--white); }
.button-ghost:hover { border-color: var(--cyan); background: rgba(24,18,40,.7); }
.button-purple { width: 100%; background: var(--violet); color: var(--white); }
.button-light { background: var(--paper); color: var(--ink); }
.trust-row { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 24px; color: rgba(255,255,255,.58); font-size: .65rem; font-weight: 700; }
.trust-row span { display: inline-flex; align-items: center; gap: 5px; }
.trust-row i { color: var(--cyan); font-size: 16px; font-style: normal; }

.market-signal { position: relative; overflow: hidden; padding: 30px; border: 1px solid rgba(255,255,255,.18); border-radius: 25px; background: rgba(36,25,54,.9); box-shadow: var(--shadow-purple); transform: rotate(1deg); }
.market-signal::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--magenta); }
.signal-topline, .signal-foot { display: flex; justify-content: space-between; align-items: center; gap: 15px; color: rgba(255,255,255,.5); font: 500 .58rem "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.signal-topline span { display: flex; align-items: center; gap: 8px; color: var(--cyan); font-weight: 700; }
.signal-topline i { width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 18px var(--cyan); }
.signal-kicker { margin: 31px 0 14px; color: var(--gold); font: 700 .63rem "DM Mono", monospace; letter-spacing: .15em; text-transform: uppercase; }
.signal-title { display: flex; align-items: center; gap: 14px; }
.signal-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 17px; background: var(--gold); color: var(--ink); font-size: 31px; box-shadow: 0 10px 30px rgba(255,200,87,.22); }
.signal-title h2 { margin: 0; font-size: 1.18rem; }
.signal-title p { margin: 4px 0 0; color: rgba(255,255,255,.52); font-size: .72rem; }
.signal-price { margin: 32px 0 15px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.signal-price small { color: rgba(255,255,255,.48); font-size: .68rem; }
.signal-price strong { color: var(--white); font: 400 clamp(2.8rem,5vw,4.5rem)/.9 "Rowdies", sans-serif; letter-spacing: -.045em; }
#signal-chart { width: 100%; height: 130px; display: block; }
.signal-foot { padding-top: 16px; border-top: 1px solid var(--dark-line); }
.signal-foot b { padding: 5px 7px; border: 1px solid rgba(57,215,227,.32); border-radius: 5px; color: var(--cyan); font-size: .56rem; }
.signal-caveat { margin: 14px 0 0; color: rgba(255,255,255,.48); font-size: .64rem; }
.signal-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 13px; color: var(--cyan); font-size: .72rem; font-weight: 800; }
.signal-link:hover { color: var(--white); }
.signal-link .material-symbols-rounded { font-size: 17px; }

.field-strip { min-height: 72px; display: grid; grid-template-columns: auto 1fr; background: var(--ink); color: var(--white); }
.strip-title { min-width: 230px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 0 24px; background: var(--violet); font: 700 .65rem "DM Mono", monospace; letter-spacing: .12em; }
.strip-notes { display: flex; align-items: center; overflow-x: auto; scrollbar-width: none; }
.strip-notes::-webkit-scrollbar { display: none; }
.strip-notes span { min-width: max-content; padding: 0 28px; border-right: 1px solid var(--dark-line); color: rgba(255,255,255,.68); font-size: .69rem; }
.strip-notes b { margin-right: 7px; color: var(--cyan); font: 700 .6rem "DM Mono", monospace; }

.section { width: var(--page); margin: auto; padding: 104px 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 38px; margin-bottom: 42px; }
.section-heading > div:first-child { max-width: 790px; }
.overline { color: var(--violet-dark); }
.overline.light { color: var(--cyan); }
.section-heading h2, .edition-copy h2, .pal-intro h2, .vault-section h2 { font-size: clamp(2.35rem, 4.6vw, 4.25rem); line-height: 1.02; }
.section-heading > div > p:not(.overline), .edition-copy > p:not(.overline), .pal-intro > p:not(.overline) { max-width: 720px; margin: 18px 0 0; color: var(--muted); }
.range-switch { display: flex; gap: 5px; padding: 5px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.5); }
.range-switch button { min-width: 47px; height: 37px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font: 700 .66rem "DM Mono", monospace; }
.range-switch button.active { background: var(--ink); color: var(--cyan); }

.market-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: 26px; }
.market-story { position: relative; overflow: hidden; padding: 42px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow); }
.market-story::after { content: ""; position: absolute; right: -30px; top: -30px; width: 160px; height: 160px; border: 26px solid var(--violet-soft); border-radius: 50%; opacity: .7; }
.story-top { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: start; }
.story-top time { color: var(--muted); font: 500 .62rem "DM Mono", monospace; }
.category-tag, .content-tag { display: inline-flex; align-items: center; min-height: 25px; padding: 0 8px; border-radius: 5px; background: var(--violet-soft); color: var(--violet-dark); font: 700 .59rem "DM Mono", monospace; letter-spacing: .08em; }
.market-story h3 { position: relative; z-index: 1; max-width: 650px; margin: 24px 0 18px; font: 400 clamp(1.75rem,3.1vw,2.85rem)/1.08 "Rowdies", sans-serif; }
.market-story > p { max-width: 720px; color: var(--muted); }
.market-metrics { display: grid; grid-template-columns: repeat(3,1fr); margin: 30px 0; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.market-metrics div { padding: 0 20px; border-right: 1px solid var(--line); }
.market-metrics div:first-child { padding-left: 0; }
.market-metrics div:last-child { border: 0; }
.market-metrics strong, .market-metrics span { display: block; }
.market-metrics strong { color: var(--violet-dark); font: 500 1.55rem "DM Mono", monospace; }
.market-metrics span { margin-top: 4px; color: var(--muted); font-size: .66rem; }
.collector-read { display: grid; grid-template-columns: 48px 1fr; gap: 15px; padding: 16px; border-radius: 12px; background: var(--ink); color: var(--white); }
.collector-read > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 10px; background: var(--violet); color: var(--white); }
.collector-read b { color: var(--cyan); font: 700 .6rem "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.collector-read p { margin: 4px 0 0; color: rgba(255,255,255,.66); font-size: .76rem; }

.watch-board { padding: 28px; border-radius: var(--radius); background: var(--ink); color: var(--white); box-shadow: var(--shadow); }
.board-head { display: flex; justify-content: space-between; align-items: start; padding-bottom: 14px; border-bottom: 1px solid var(--dark-line); }
.board-head .overline { margin-bottom: 5px; color: var(--cyan); }
.board-head h3 { margin: 0; font-size: 1.15rem; }
.board-head > span { color: rgba(255,255,255,.42); font: 500 .56rem "DM Mono", monospace; }
.watch-row { display: grid; grid-template-columns: 46px 1fr auto 36px; align-items: center; gap: 12px; min-height: 82px; border-bottom: 1px solid var(--dark-line); }
.watch-rank { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; color: var(--white); font: 700 .58rem "DM Mono", monospace; }
.watch-rank.purple { background: var(--violet); }
.watch-rank.cyan { background: var(--cyan-deep); }
.watch-rank.magenta { background: #af256b; }
.watch-row strong, .watch-row small { display: block; }
.watch-row > div:nth-child(2) strong { font-size: .78rem; }
.watch-row small { margin-top: 3px; color: rgba(255,255,255,.44); font-size: .59rem; }
.watch-price { text-align: right; }
.watch-price strong { font: 500 .74rem "DM Mono", monospace; }
.save-button { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--dark-line); border-radius: 9px; background: rgba(255,255,255,.04); color: var(--cyan); }
.save-button[aria-pressed="true"] { border-color: var(--magenta); background: var(--magenta); color: var(--white); }
.save-button span { font-size: 18px; }
.board-link { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 20px 0 2px; border: 0; background: transparent; color: var(--cyan); font-size: .72rem; font-weight: 800; }

.card-index-section { padding-top: 82px; }
.card-heading { align-items: center; }
.index-count { flex: 0 0 auto; width: 132px; height: 108px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(112,71,235,.25); border-radius: 18px; background: var(--violet-soft); }
.index-count strong { color: var(--violet-dark); font: 400 2.2rem/1 "Rowdies", sans-serif; }
.index-count span { margin-top: 7px; color: var(--muted); font: 700 .53rem "DM Mono", monospace; letter-spacing: .08em; }
.database-toolbar { position: sticky; z-index: 15; top: 82px; display: grid; grid-template-columns: minmax(240px,1fr) repeat(3,auto) auto; align-items: center; gap: 8px; margin-bottom: 28px; padding: 11px; border: 1px solid rgba(112,71,235,.24); border-radius: 15px; background: rgba(255,253,248,.94); box-shadow: 0 12px 35px rgba(24,18,40,.09); }
.toolbar-search { min-height: 46px; display: flex; align-items: center; gap: 8px; padding: 0 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.toolbar-search > span { color: var(--violet); }
.toolbar-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font-size: .78rem; }
.select-wrap select { min-height: 46px; padding: 0 34px 0 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--text); font-size: .72rem; font-weight: 700; }
.clear-filters { min-height: 46px; padding: 0 14px; border: 0; border-radius: 9px; background: var(--ink); color: var(--white); font-size: .7rem; font-weight: 800; }
.card-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 22px; }
.collector-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); box-shadow: 0 12px 34px rgba(24,18,40,.08); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.collector-card:hover { transform: translateY(-7px); border-color: rgba(112,71,235,.38); box-shadow: var(--shadow-purple); }
.card-image-wrap { position: relative; min-height: 328px; display: grid; place-items: center; padding: 22px; background: var(--ink-2); }
.card-image-wrap img { width: auto; height: 285px; border-radius: 9px; box-shadow: 0 14px 34px rgba(0,0,0,.4); }
.edition-flag { position: absolute; z-index: 2; top: 14px; left: 14px; padding: 6px 8px; border-radius: 6px; background: var(--gold); color: var(--ink); font: 700 .55rem "DM Mono", monospace; box-shadow: 0 6px 16px rgba(0,0,0,.22); }
.status-dot { position: absolute; top: 14px; right: 14px; width: 10px; height: 10px; border: 2px solid rgba(255,255,255,.8); border-radius: 50%; }
.status-dot.verified { background: var(--lime); }
.status-dot.observed { background: var(--violet); }
.status-dot.review { background: var(--gold); }
.status-dot.tracking { background: var(--cyan); }
.card-info { padding: 18px; }
.card-meta-line { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; color: var(--muted); font: 600 .57rem "DM Mono", monospace; letter-spacing: .04em; text-transform: uppercase; }
.card-info h3 { min-height: 43px; margin: 0; font-size: .91rem; line-height: 1.28; }
.card-price-line { min-height: 45px; display: flex; justify-content: space-between; align-items: end; gap: 12px; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--line); }
.card-price-line strong, .card-price-line span { display: block; }
.card-price-line strong { font: 500 .82rem "DM Mono", monospace; }
.card-price-line span { margin-top: 3px; color: var(--muted); font-size: .57rem; }
.card-price-line button { flex: 0 0 auto; min-height: 32px; padding: 0 9px; border: 1px solid rgba(112,71,235,.25); border-radius: 8px; background: var(--violet-soft); color: var(--violet-dark); font-size: .61rem; font-weight: 800; }
.empty-state { padding: 70px 24px; border: 1px dashed rgba(112,71,235,.4); border-radius: var(--radius); background: rgba(255,255,255,.38); text-align: center; }
.empty-state > span { color: var(--violet); font-size: 45px; }
.empty-state h3 { margin: 9px 0 4px; }
.empty-state p { margin: 0; color: var(--muted); }

.prototype-home-feature {
  position: relative;
  overflow: hidden;
  width: min(1400px, calc(100% - 48px));
  min-height: 570px;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  align-items: center;
  gap: clamp(50px, 8vw, 120px);
  margin: 0 auto 82px;
  padding: 62px clamp(38px, 6vw, 86px);
  border-radius: 30px;
  color: var(--white);
  background:
    radial-gradient(circle at 18% 30%, rgba(57,215,227,.18), transparent 23rem),
    radial-gradient(circle at 82% 70%, rgba(240,70,154,.2), transparent 24rem),
    linear-gradient(135deg, #171025, #35205a 55%, #571f6f);
  box-shadow: 0 30px 85px rgba(61,34,106,.26);
}

.prototype-home-feature::before {
  content: "PROTOTYPE";
  position: absolute;
  right: -1.5rem;
  bottom: -3.1rem;
  color: rgba(255,255,255,.035);
  font: 400 clamp(5rem, 11vw, 11rem)/1 "Rowdies", sans-serif;
  letter-spacing: -.06em;
}

.prototype-home-feature::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .5;
  background: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 38px 38px;
  mask-image: linear-gradient(110deg, #000, transparent 72%);
  pointer-events: none;
}

.prototype-home-art, .prototype-home-copy { position: relative; z-index: 2; }
.prototype-home-art { min-height: 430px; display: grid; grid-template-columns: 1fr 42px 1fr; align-items: center; gap: 8px; perspective: 1000px; }
.prototype-home-card { display: grid; gap: 10px; }
.prototype-home-card span { color: rgba(255,255,255,.58); font: 700 .55rem "DM Mono", monospace; letter-spacing: .12em; text-align: center; }
.prototype-home-card img { width: 100%; max-height: 395px; object-fit: contain; border-radius: 11px; filter: drop-shadow(0 24px 35px rgba(0,0,0,.45)); }
.prototype-home-card.is-demo { transform: rotate(-4deg); }
.prototype-home-card.is-demo span { color: var(--gold); }
.prototype-home-card.is-release { transform: rotate(4deg); }
.prototype-home-card.is-release span { color: var(--cyan); }
.prototype-home-arrow { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: rgba(24,18,40,.8); color: var(--cyan); }
.prototype-home-copy h2 { margin: 0; font: 400 clamp(3rem, 5vw, 5rem)/.94 "Rowdies", sans-serif; letter-spacing: -.045em; }
.prototype-home-copy h2 em { color: var(--cyan); font-style: normal; }
.prototype-home-copy > p:not(.overline) { max-width: 570px; color: rgba(255,255,255,.67); }
.prototype-home-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; }
.prototype-home-facts span { padding: 7px 9px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: rgba(255,255,255,.06); color: rgba(255,255,255,.58); font: 600 .57rem "DM Mono", monospace; }
.prototype-home-facts b { color: var(--gold); }
.prototype-home-copy .button { width: fit-content; }

.edition-section { position: relative; overflow: hidden; background: var(--ink); color: var(--white); }
.edition-section::after { content: "II"; position: absolute; right: -36px; bottom: -120px; color: rgba(255,255,255,.035); font: 400 25rem/1 Georgia, serif; }
.edition-shell { position: relative; z-index: 1; width: var(--page); margin: auto; padding: 112px 0; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(50px,8vw,120px); }
.edition-copy > p:not(.overline) { color: rgba(255,255,255,.62); }
.edition-cards { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin-top: 30px; }
.edition-cards > div { min-height: 145px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--dark-line); border-radius: 15px; background: rgba(255,255,255,.05); }
.edition-cards > div.edition-one { border-color: rgba(255,200,87,.46); background: rgba(255,200,87,.08); }
.edition-cards > div.edition-two { border-color: rgba(216,224,235,.38); background: rgba(216,224,235,.07); }
.edition-cards span:not(.material-symbols-rounded) { color: rgba(255,255,255,.46); font: 700 .55rem "DM Mono", monospace; letter-spacing: .11em; }
.edition-cards strong { font: 400 3.5rem/1 Georgia, serif; }
.edition-one strong { color: var(--gold); }
.edition-two strong { color: var(--silver); }
.edition-cards small { margin-top: 9px; color: rgba(255,255,255,.55); font-size: .61rem; }
.edition-cards > .material-symbols-rounded { color: var(--gold); }
.release-ledger { padding: 30px; border-radius: var(--radius); background: var(--paper); color: var(--text); box-shadow: 0 30px 80px rgba(0,0,0,.3); transform: rotate(.5deg); }
.ledger-head { display: flex; justify-content: space-between; align-items: start; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.ledger-head h3 { margin: 0; font-size: 1.1rem; }
.ledger-head span { color: var(--violet-dark); font: 700 .58rem "DM Mono", monospace; }
.ledger-row { min-height: 76px; display: grid; grid-template-columns: 1fr auto 80px; align-items: center; gap: 15px; border-bottom: 1px solid var(--line); }
.ledger-row b, .ledger-row small { display: block; }
.ledger-row b { font-size: .8rem; }
.ledger-row small, .ledger-row time { color: var(--muted); font-size: .6rem; }
.ledger-row time { text-align: right; }
.status { padding: 5px 7px; border-radius: 5px; font: 700 .53rem "DM Mono", monospace; }
.status.current { background: #dff0c6; color: #3e5d21; }
.status.inbound { background: #ffdfad; color: #714a14; }
.status.announced { background: var(--violet-soft); color: var(--violet-dark); }
.ledger-source { display: grid; grid-template-columns: 38px 1fr; gap: 10px; align-items: center; margin: 20px 0; padding: 13px; border-radius: 10px; background: #f2edff; }
.ledger-source > span { color: var(--violet); }
.ledger-source p { margin: 0; color: var(--muted); font-size: .66rem; }
.ledger-source b { color: var(--text); }

.products-section { padding-bottom: 84px; }
.text-button { display: inline-flex; align-items: center; gap: 5px; border: 0; background: transparent; color: var(--violet-dark); font-size: .72rem; font-weight: 800; }
.text-button .material-symbols-rounded { font-size: 17px; }
.product-grid { display: grid; grid-template-columns: 1.15fr .85fr .85fr; gap: 22px; }
.product-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: 0 12px 34px rgba(24,18,40,.08); }
.product-visual { min-height: 360px; display: grid; place-items: center; padding: 24px; background: var(--ink-2); }
.product-visual.light { background: #fffefb; }
.product-visual img { max-height: 322px; width: auto; object-fit: contain; filter: drop-shadow(0 17px 22px rgba(24,18,40,.18)); }
.featured-product .product-visual img { max-height: 335px; }
.product-copy { padding: 25px; }
.content-tag.purple { background: var(--violet-soft); color: var(--violet-dark); }
.content-tag.cyan { background: #c8f4f5; color: #126a73; }
.content-tag.magenta { background: #ffd8eb; color: #8a2354; }
.product-copy h3 { margin: 15px 0 9px; font-size: 1.12rem; }
.product-copy > p { min-height: 66px; margin: 0; color: var(--muted); font-size: .75rem; }
.product-copy footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 20px; padding-top: 15px; border-top: 1px solid var(--line); color: var(--muted); font-size: .59rem; }
.product-copy footer button { min-height: 32px; padding: 0 10px; border: 0; border-radius: 7px; background: var(--ink); color: var(--white); font-size: .61rem; font-weight: 800; }
.prototype-note { display: flex; justify-content: center; align-items: center; gap: 7px; margin: 24px 0 0; color: var(--muted); font-size: .63rem; }
.prototype-note span { color: var(--violet); font-size: 17px; }

.pal-section { position: relative; overflow: hidden; background: #26203a; color: var(--white); }
.pal-section::before { content: ""; position: absolute; inset: 0; background: url("assets/frontier-outpost.webp") center/cover no-repeat; opacity: .11; }
.pal-shell { position: relative; width: var(--page); margin: auto; padding: 110px 0; display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(50px,8vw,120px); align-items: center; }
.pal-intro > p:not(.overline) { color: rgba(255,255,255,.65); }
.pal-intro .button { margin-top: 24px; }
.tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tool-grid button { position: relative; min-height: 180px; display: flex; flex-direction: column; align-items: flex-start; padding: 22px; border: 1px solid var(--dark-line); border-radius: 16px; background: rgba(24,18,40,.72); color: var(--white); text-align: left; transition: border-color .2s ease, transform .2s ease, background .2s ease; }
.tool-grid button:hover { transform: translateY(-3px); border-color: var(--cyan); background: rgba(49,34,70,.9); }
.tool-grid button > .material-symbols-rounded { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: auto; border-radius: 11px; background: var(--violet); color: var(--white); }
.tool-grid b { margin-top: 17px; font-size: .86rem; }
.tool-grid small { color: rgba(255,255,255,.46); font-size: .61rem; }
.tool-grid i { position: absolute; top: 18px; right: 18px; color: var(--cyan); font: 700 .5rem "DM Mono", monospace; font-style: normal; }

.dispatch-section { padding-top: 94px; }
.dispatch-grid { display: grid; grid-template-columns: 1.18fr 1fr 1fr; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--paper); box-shadow: var(--shadow); }
.dispatch-grid article { min-height: 320px; display: flex; flex-direction: column; padding: 30px; border-right: 1px solid var(--line); }
.dispatch-grid article:last-child { border: 0; }
.dispatch-grid article > a { flex: 1; display: flex; flex-direction: column; }
.dispatch-grid article:hover h3 { color: var(--violet-dark); }
.dispatch-grid .dispatch-lead:hover h3 { color: var(--gold); }
.dispatch-grid h3 { margin: 22px 0 14px; font-size: 1.25rem; line-height: 1.25; }
.dispatch-grid p { margin: 0; color: var(--muted); font-size: .76rem; }
.dispatch-grid footer { margin-top: auto; padding-top: 22px; display: flex; justify-content: space-between; color: var(--muted); font: 500 .58rem "DM Mono", monospace; }
.dispatch-lead { background: var(--violet); color: var(--white); }
.dispatch-lead h3 { max-width: 430px; font: 400 2rem/1.08 "Rowdies", sans-serif; }
.dispatch-lead p, .dispatch-lead footer { color: rgba(255,255,255,.67); }
.dispatch-type { color: var(--violet-dark); font: 700 .58rem "DM Mono", monospace; letter-spacing: .1em; }
.dispatch-lead .dispatch-type { color: var(--gold); }

.vault-section { width: var(--page); margin: 0 auto 104px; display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 44px; border-radius: var(--radius-lg); background: var(--ink); color: var(--white); box-shadow: var(--shadow-purple); }
.vault-copy { display: grid; grid-template-columns: 70px 1fr; gap: 22px; align-items: start; }
.vault-copy > .material-symbols-rounded { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 18px; background: var(--magenta); color: var(--white); font-size: 34px; }
.vault-section h2 { font-size: clamp(1.9rem,3.2vw,3.2rem); }
.vault-section .overline { margin-bottom: 10px; }
.vault-section p:not(.overline) { max-width: 760px; margin: 10px 0 0; color: rgba(255,255,255,.62); font-size: .78rem; }
.vault-section > .button { flex: 0 0 auto; }

.site-footer { display: grid; grid-template-columns: auto 1fr; gap: 30px 60px; padding: 64px max(24px, calc((100% - 1280px)/2)) 36px; background: #100c1b; color: var(--white); }
.footer-brand { display: flex; align-items: center; gap: 12px; }
.footer-brand strong, .footer-brand small { display: block; }
.footer-brand strong { font: 400 1rem "Rowdies", sans-serif; letter-spacing: .05em; }
.footer-brand small { margin-top: 5px; color: rgba(255,255,255,.45); font-size: .61rem; }
.site-footer nav { justify-self: end; display: flex; flex-wrap: wrap; align-items: center; gap: 26px; color: rgba(255,255,255,.62); font-size: .7rem; font-weight: 800; }
.site-footer nav a:hover { color: var(--cyan); }
.legal, .copyright { grid-column: 1/-1; margin: 0; color: rgba(255,255,255,.38); font-size: .63rem; }
.legal { max-width: 1040px; }
.copyright { padding-top: 22px; border-top: 1px solid var(--dark-line); }

.card-dialog { width: min(980px, calc(100% - 30px)); max-height: min(820px, calc(100vh - 30px)); padding: 0; overflow: hidden; border: 0; border-radius: 24px; background: var(--paper); color: var(--text); box-shadow: 0 35px 100px rgba(7,5,12,.48); }
.card-dialog[open] { display: grid; grid-template-columns: .74fr 1.26fr; }
.card-dialog::backdrop { background: rgba(16,12,27,.78); backdrop-filter: blur(8px); }
.dialog-close { position: absolute; z-index: 4; top: 14px; right: 14px; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--ink); box-shadow: 0 7px 20px rgba(24,18,40,.12); }
.dialog-media { min-height: 650px; display: grid; place-items: center; padding: 46px; background: var(--ink-2); }
.dialog-media img { width: 100%; max-width: 275px; border-radius: 14px; box-shadow: 0 24px 65px rgba(0,0,0,.48); }
.dialog-content { overflow-y: auto; padding: 52px 48px 40px; }
.dialog-kicker { display: flex; gap: 7px; }
.dialog-kicker span { padding: 5px 7px; border-radius: 5px; background: var(--violet-soft); color: var(--violet-dark); font: 700 .55rem "DM Mono", monospace; }
.dialog-content h2 { margin: 17px 0 4px; font: 400 clamp(2rem,4vw,3rem)/1.05 "Rowdies", sans-serif; }
.dialog-subtitle { margin: 0; color: var(--muted); font: 500 .66rem "DM Mono", monospace; }
.dialog-price { margin: 25px 0 20px; padding: 18px; border: 1px solid rgba(112,71,235,.23); border-radius: 12px; background: #f2edff; }
.dialog-price span, .dialog-price strong, .dialog-price small { display: block; }
.dialog-price span { color: var(--muted); font-size: .61rem; }
.dialog-price strong { margin: 4px 0; color: var(--violet-dark); font: 500 1.35rem "DM Mono", monospace; }
.dialog-price small { color: var(--muted); font-size: .6rem; }
.dialog-tabs { display: flex; gap: 5px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.dialog-tabs button { min-height: 38px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-size: .68rem; font-weight: 800; }
.dialog-tabs button.active { background: var(--ink); color: var(--cyan); }
.dialog-panel { min-height: 210px; padding: 20px 0; }
.stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.stat-grid div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 12px; border-radius: 8px; background: #f0e8d9; font-size: .67rem; }
.stat-grid span { color: var(--muted); }
.stat-grid b { text-align: right; }
.ability-box { margin-top: 12px; padding: 13px; border-left: 4px solid var(--violet); background: #f2edff; font-size: .68rem; }
.ability-box b { color: var(--violet-dark); }
.panel-message { min-height: 170px; display: grid; place-items: center; border: 1px dashed var(--line); border-radius: 10px; color: var(--muted); font-size: .7rem; text-align: center; }
.dialog-watch { width: auto; }

.toast { position: fixed; z-index: 300; left: 50%; bottom: 24px; max-width: min(500px, calc(100% - 30px)); transform: translate(-50%, 18px); padding: 13px 17px; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; background: var(--ink); color: var(--white); box-shadow: var(--shadow); opacity: 0; pointer-events: none; transition: opacity .22s ease, transform .22s ease; font-size: .73rem; }
.toast.show { opacity: 1; transform: translate(-50%,0); }

:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

@media (max-width: 1280px) and (min-width: 901px) {
  .nav-shell { gap: 18px; }
  .site-nav { gap: 15px; }
  .site-nav a { font-size: .68rem; }
  .watchlist-pill { padding-left: 11px; }
}

@media (max-width: 1120px) {
  .nav-shell { gap: 20px; }
  .site-nav { gap: 18px; }
  .site-nav a { font-size: .71rem; }
  .hero-shell { grid-template-columns: 1fr .7fr; gap: 42px; }
  .hero h1 { font-size: clamp(4rem,7vw,5.6rem); }
  .market-grid { grid-template-columns: 1fr; }
  .watch-board { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 18px; }
  .board-head, .board-link { grid-column: 1/-1; }
  .watch-row { grid-template-columns: 42px 1fr 34px; align-content: center; padding: 12px 0; }
  .watch-price { grid-column: 2; text-align: left; }
  .save-button { grid-column: 3; grid-row: 1/3; }
  .card-grid { grid-template-columns: repeat(3,1fr); }
  .prototype-home-feature { grid-template-columns: .9fr 1.1fr; gap: 45px; }
  .product-grid { grid-template-columns: 1fr 1fr; }
  .featured-product { grid-column: 1/-1; display: grid; grid-template-columns: .8fr 1.2fr; }
  .featured-product .product-copy { display: flex; flex-direction: column; justify-content: center; }
  .product-copy > p { min-height: auto; }
}

@media (max-width: 900px) {
  :root { --page: min(100% - 32px, 1280px); }
  .nav-shell { width: min(100% - 32px,1400px); grid-template-columns: 1fr auto auto; min-height: 76px; }
  .menu-toggle { display: grid; place-items: center; grid-column: 3; }
  .watchlist-pill { grid-column: 2; grid-row: 1; }
  .site-nav { position: absolute; display: none; left: 16px; right: 16px; top: 72px; padding: 12px; border: 1px solid var(--dark-line); border-radius: 13px; background: rgba(24,18,40,.98); box-shadow: var(--shadow); }
  .site-nav.open { display: grid; }
  .site-nav a { padding: 11px 12px; }
  .site-nav a::after { display: none; }
  .hero { min-height: auto; }
  .hero-shell { width: min(100% - 32px,1400px); min-height: auto; grid-template-columns: 1fr; padding: 126px 0 70px; }
  .market-signal { max-width: 650px; transform: none; }
  .section { padding: 82px 0; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .database-toolbar { top: 72px; grid-template-columns: 1fr 1fr; }
  .toolbar-search { grid-column: 1/-1; }
  .clear-filters { grid-column: 2; }
  .card-grid { grid-template-columns: repeat(2,1fr); }
  .prototype-home-feature { width: min(100% - 32px, 1400px); grid-template-columns: 1fr; padding: 58px; }
  .prototype-home-art { width: min(620px,100%); margin: auto; }
  .edition-shell, .pal-shell { grid-template-columns: 1fr; padding: 90px 0; }
  .edition-shell { gap: 55px; }
  .release-ledger { transform: none; }
  .product-grid { grid-template-columns: 1fr 1fr; }
  .dispatch-grid { grid-template-columns: 1fr 1fr; }
  .dispatch-grid article { border-bottom: 1px solid var(--line); }
  .dispatch-grid article:nth-child(2) { border-right: 0; }
  .dispatch-grid article:last-child { grid-column: 1/-1; }
  .vault-section { align-items: flex-start; flex-direction: column; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer nav { justify-self: start; }
  .legal, .copyright { grid-column: 1; }
  .card-dialog[open] { grid-template-columns: .7fr 1.3fr; }
  .dialog-media { padding: 30px; }
  .dialog-content { padding: 50px 32px 32px; }
}

@media (max-width: 640px) {
  .brand-mark { width: 38px; height: 38px; font-size: 24px; }
  .brand-type strong { font-size: .9rem; }
  .watchlist-pill { width: 42px; height: 42px; justify-content: center; padding: 0; }
  .watchlist-pill .watch-label { display: none; }
  .watchlist-pill b { position: absolute; width: 18px; height: 18px; margin: -28px -28px 0 0; font-size: .48rem; }
  .hero h1 { font-size: clamp(3.1rem,15vw,4.4rem); }
  .hero-lede { font-size: .9rem; }
  .global-search { height: 58px; grid-template-columns: 34px 1fr; }
  .global-search kbd { display: none; }
  .hero-actions { flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .trust-row { gap: 9px 15px; }
  .market-signal { padding: 23px; }
  .signal-price { align-items: flex-start; flex-direction: column; gap: 8px; }
  .signal-price strong { font-size: 3.2rem; }
  .field-strip { grid-template-columns: 1fr; }
  .strip-title { min-height: 48px; }
  .strip-notes { min-height: 58px; }
  .section-heading h2, .edition-copy h2, .pal-intro h2 { font-size: 2.45rem; }
  .market-story { padding: 26px; }
  .market-metrics { grid-template-columns: 1fr; }
  .market-metrics div, .market-metrics div:first-child { padding: 13px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .market-metrics div:last-child { border-bottom: 0; }
  .watch-board { grid-template-columns: 1fr; }
  .board-head, .board-link { grid-column: auto; }
  .card-heading { flex-direction: row; align-items: flex-start; }
  .index-count { width: 92px; height: 82px; }
  .index-count strong { font-size: 1.7rem; }
  .index-count span { font-size: .43rem; text-align: center; }
  .database-toolbar { position: static; grid-template-columns: 1fr; }
  .toolbar-search, .clear-filters { grid-column: auto; }
  .select-wrap select { width: 100%; }
  .card-grid { grid-template-columns: 1fr; }
  .prototype-home-feature { min-height: auto; margin-bottom: 60px; padding: 42px 22px; border-radius: 22px; }
  .prototype-home-art { min-height: 330px; grid-template-columns: 1fr 32px 1fr; }
  .prototype-home-arrow { width: 32px; height: 32px; font-size: 17px; }
  .prototype-home-copy h2 { font-size: 2.7rem; }
  .card-image-wrap { min-height: 380px; }
  .card-image-wrap img { height: 330px; }
  .edition-cards { grid-template-columns: 1fr; }
  .edition-cards > .material-symbols-rounded { transform: rotate(90deg); justify-self: center; }
  .ledger-row { grid-template-columns: 1fr auto; }
  .ledger-row time { grid-column: 1/-1; text-align: left; margin-top: -12px; }
  .product-grid { grid-template-columns: 1fr; }
  .featured-product { grid-column: auto; display: block; }
  .product-visual { min-height: 330px; }
  .tool-grid { grid-template-columns: 1fr; }
  .tool-grid button { min-height: 154px; }
  .dispatch-grid { grid-template-columns: 1fr; }
  .dispatch-grid article, .dispatch-grid article:nth-child(2) { border-right: 0; }
  .dispatch-grid article:last-child { grid-column: auto; }
  .vault-section { padding: 28px 22px; }
  .vault-copy { grid-template-columns: 1fr; }
  .vault-copy > .material-symbols-rounded { width: 56px; height: 56px; }
  .site-footer nav { gap: 16px; }
  .card-dialog { overflow-y: auto; }
  .card-dialog[open] { display: block; }
  .dialog-media { min-height: 390px; padding: 35px; }
  .dialog-media img { max-width: 230px; }
  .dialog-content { overflow: visible; padding: 34px 22px; }
  .stat-grid { grid-template-columns: 1fr; }
}
