/* Cozy Farm inspired public Vault presentation. Catalog and viewer behavior stay in vault.js. */
.vault-page.vault-discover {
  --vault-paper: #f5f2e9;
  --vault-card: #fffcf5;
  --vault-ink: #243e32;
  --vault-muted: #647267;
  --vault-line: #d8ded1;
  --vault-panel: #fffcf5;
  --vault-navy: #f5f2e9;
  --vault-accent: #496b4d;
  --vault-accent-soft: #dce6d6;
  --vault-gold: #496b4d;
  --vault-cyan: #496b4d;
  --theme-accent: #496b4d;
  --theme-accent-soft: #dce6d6;
  --panel-bg: #fffcf5;
  --panel-border: #d8ded1;
  --panel-border-strong: #9eb19c;
  --shadow-soft: 0 8px 24px rgba(36, 62, 50, .07);
  --shadow-panel: 0 18px 48px rgba(36, 62, 50, .09);
  --r-panel: 14px;
  --r-card: 11px;
  --max-w: 1380px;
  color-scheme: light;
  color: var(--vault-ink);
  background: var(--vault-paper);
  font-family: "DM Sans", system-ui, sans-serif;
}

.vault-discover *, .vault-discover *::before, .vault-discover *::after { box-sizing: border-box; }
.vault-discover button, .vault-discover select, .vault-discover input { font: inherit; }
.vault-discover button, .vault-discover a { -webkit-tap-highlight-color: transparent; }
.vault-discover :is(button, a, input, select, summary):focus-visible {
  outline: 3px solid var(--vault-accent);
  outline-offset: 3px;
}
.vault-discover :is(button, a, input, select) { color: inherit; }

.vault-discover #top-nav.vault-topnav,
.vault-discover #top-nav {
  background: rgba(245, 242, 233, .96);
  border-bottom: 1px solid var(--vault-line);
  box-shadow: none;
  backdrop-filter: blur(12px);
  padding-block: .8rem;
}
.vault-discover .nav-logo { display: flex; align-items: center; gap: .65rem; }
.vault-discover .logo {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  color: var(--vault-ink);
  text-decoration: none;
}
.vault-discover .logo-nn, .vault-discover .logo-plays { color: var(--vault-ink); }
.vault-discover .logo-nn { background: none; -webkit-text-fill-color: currentColor; }
.vault-discover .vault-badge {
  margin-left: 0;
  border: 1px solid #b8cbb2;
  border-radius: 999px;
  background: #dce6d6;
  color: var(--vault-ink);
  padding: .32rem .7rem;
}
.vault-discover .nav-link { color: var(--vault-muted); }
.vault-discover .nav-link:hover, .vault-discover .nav-link.is-active {
  color: var(--vault-ink);
}
.vault-discover .nav-link.is-active { background: #dce6d6; border-radius: 999px; }

.vault-discover-head {
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  padding-bottom: 1.1rem;
}
.discover-eyebrow {
  margin: 0 0 .4rem;
  color: var(--vault-accent);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.vault-discover .discover-title,
.vault-discover .section-title,
.vault-discover .section-title-sm,
.vault-discover .spotlight-title,
.vault-discover .identity-title {
  color: var(--vault-ink);
  font-family: "DM Sans", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -.035em;
}
.vault-discover .discover-title { font-size: clamp(1.85rem, 3.2vw, 2.7rem); line-height: 1.12; }
.vault-discover .discover-sub { color: var(--vault-muted); max-width: 42rem; }
.vault-discover .discover-count {
  border: 1px solid var(--vault-line);
  border-radius: 999px;
  background: var(--vault-card);
  padding: .55rem .85rem;
  color: var(--vault-muted);
}
.vault-discover .discover-count strong { color: var(--vault-ink); }
.vault-discover .discover-search {
  background: var(--vault-card);
  border-color: var(--vault-line);
  border-radius: 9px;
  box-shadow: 0 2px 8px rgba(36, 62, 50, .035);
}
.vault-discover .discover-search:focus-within {
  background: #fff;
  border-color: var(--vault-accent);
  box-shadow: 0 0 0 3px rgba(73, 107, 77, .12);
}
.vault-discover .vault-search-input { color: var(--vault-ink); }
.vault-discover .vault-search-input::placeholder { color: #7c897e; }
.vault-discover .vault-search-btn { color: var(--vault-accent); }
.vault-discover .vault-search-btn:hover, .vault-discover .vault-search-btn:focus-visible {
  color: var(--vault-ink);
  background: var(--vault-accent-soft);
}
.vault-discover .discover-tabs { gap: .45rem; padding-block: .15rem .5rem; }
.vault-discover .discover-tab {
  border: 1px solid var(--vault-line);
  border-radius: 999px;
  background: transparent;
  color: var(--vault-ink);
  padding: .65rem .9rem;
}
.vault-discover .discover-tab:hover { border-color: #93a990; background: #e9eee4; color: var(--vault-ink); }
.vault-discover .discover-tab.is-active {
  background: var(--vault-ink);
  border-color: var(--vault-ink);
  color: var(--vault-card);
}
.vault-discover .discover-disclaimer { color: var(--vault-muted); }
.vault-discover .section-head.compact { margin-bottom: .9rem; }
.vault-discover .section-sub, .vault-discover .section-sub-sm { color: var(--vault-muted); }

.vault-discover .featured-collection-card,
.vault-discover .showcase-asset-card,
.vault-discover .collection-rail-card,
.vault-discover .asset-card,
.vault-discover .collection-tile {
  background: var(--vault-card);
  color: var(--vault-ink);
  border: 1px solid var(--vault-line);
  border-radius: 11px;
  box-shadow: none;
  overflow: hidden;
}
.vault-discover .featured-collection-card:hover,
.vault-discover .featured-collection-card:focus-visible,
.vault-discover .collection-rail-card:hover,
.vault-discover .collection-rail-card:focus-visible,
.vault-discover .asset-card:hover,
.vault-discover .asset-card:focus-visible {
  border-color: #93a990;
  background: #fffdf8;
  box-shadow: 0 9px 22px rgba(36, 62, 50, .09);
}
.vault-discover .featured-collection-card.is-active,
.vault-discover .collection-rail-card.is-active { border-color: var(--vault-accent); }
.vault-discover .featured-collection-cover,
.vault-discover .collection-rail-card img,
.vault-discover .showcase-asset-media,
.vault-discover .asset-card .asset-thumb {
  background: #eeece2;
}
.vault-discover .featured-collection-meta { align-items: center; padding: .85rem .9rem; }
.vault-discover .featured-collection-name,
.vault-discover .collection-rail-card span,
.vault-discover .showcase-asset-copy strong,
.vault-discover .asset-title {
  color: var(--vault-ink);
  font-family: "DM Sans", system-ui, sans-serif;
}
.vault-discover .featured-collection-count,
.vault-discover .showcase-asset-copy span,
.vault-discover .asset-game-name { color: var(--vault-muted); }
.vault-discover .showcase-asset-card { gap: 0; padding-bottom: .25rem; }
.vault-discover .showcase-asset-media { border: 0; border-bottom: 1px solid var(--vault-line); border-radius: 0; }
.vault-discover .showcase-asset-copy { padding: .8rem .85rem; }
.vault-discover .collection-rail-card span { padding: .65rem .7rem; }
.vault-discover .featured-collection-cover-fallback { background: #eeece2; }
.vault-discover .spotlight-cover { background: #eeece2; border-color: var(--vault-line); }
.vault-discover .spotlight-kicker { color: var(--vault-accent); }
.vault-discover .spotlight-title, .vault-discover .spotlight-count { color: var(--vault-ink); }
.vault-discover .spotlight-desc { color: var(--vault-muted); }

.vault-discover .vault-toolbar {
  border-top: 1px solid var(--vault-line);
  padding-top: 1rem;
  margin-top: .15rem;
}
.vault-discover .vault-toolbar-container {
  background: rgba(245, 242, 233, .97);
  border-color: var(--vault-line);
  backdrop-filter: blur(12px);
  box-shadow: 0 4px 14px rgba(36, 62, 50, .05);
}
.vault-discover .filter-label { color: var(--vault-muted); }
.vault-discover .vault-select {
  background: var(--vault-card);
  border-color: var(--vault-line);
  border-radius: 8px;
  color: var(--vault-ink);
  min-height: 42px;
}
.vault-discover .vault-select option { color: var(--vault-ink); background: var(--vault-card); }
.vault-discover .asset-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .9rem; }
.vault-discover .asset-card { position: relative; }
.vault-discover .asset-card .asset-thumb {
  border: 0;
  border-bottom: 1px solid var(--vault-line);
  border-radius: 0;
}
.vault-discover .asset-info { padding: .8rem .85rem .9rem; }
.vault-discover .asset-title { font-size: .9rem; }
.vault-discover .tier-chip { background: rgba(255, 252, 245, .92); color: var(--vault-ink); border-color: var(--vault-line); }
.vault-discover .tier-chip.tier-premium { color: #8c4932; border-color: #d9baa8; }
.vault-discover .grade-chip.grade-s { background: var(--vault-accent); color: white; }
.vault-discover .grade-chip.grade-a { background: var(--vault-card); color: var(--vault-ink); border-color: var(--vault-line); }
.vault-discover .quiet-chip { background: var(--vault-card); color: var(--vault-ink); }
.vault-discover .vault-load-more,
.vault-discover .vault-action-btn,
.vault-discover .detail-nav-btn,
.vault-discover .btn-clear,
.vault-discover .filter-chip {
  background: var(--vault-card);
  border: 1px solid var(--vault-line);
  color: var(--vault-ink);
}
.vault-discover .vault-load-more:hover,
.vault-discover .vault-action-btn:hover,
.vault-discover .detail-nav-btn:hover { border-color: var(--vault-accent); background: #e9eee4; }
.vault-discover .vault-action-primary { background: var(--vault-accent); border-color: var(--vault-accent); color: white; }
.vault-discover .vault-action-primary:hover { background: #38573d; color: white; }
.vault-discover .filter-chip { border-radius: 999px; }
.vault-discover .vault-result-count { color: var(--vault-muted); }
.vault-discover .collection-tile-media { background: #eeece2; }
.vault-discover .collection-tile-overlay { background: linear-gradient(transparent, rgba(25, 45, 31, .82)); }
.vault-discover .collection-tile-name { color: white; }
.vault-discover .vault-filter-sheet .filter-sheet-panel { background: var(--vault-paper); border-color: var(--vault-line); }
.vault-discover .filter-sheet-head, .vault-discover .filter-sheet-actions { background: var(--vault-card); border-color: var(--vault-line); }
.vault-discover .filter-sheet-hint { color: var(--vault-muted); }

/* The detail view keeps the richer public viewer and metadata in a studio layout. */
.vault-discover .viewer-layout {
  max-width: var(--max-w);
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, .85fr);
  gap: clamp(1rem, 2.5vw, 2rem);
  padding-top: 1.5rem;
}
.vault-discover .viewer-sidebar { min-width: 0; }
.vault-discover .detail-breadcrumb ol, .vault-discover .detail-breadcrumb a, .vault-discover .crumb-link { color: var(--vault-muted); }
.vault-discover .detail-breadcrumb #crumb-asset { color: var(--vault-ink); }
.vault-discover .detail-breadcrumb li:not(:first-child)::before { color: #9aac9c; }
.vault-discover .viewer-container {
  background: #eeece2;
  border: 1px solid var(--vault-line);
  border-radius: 13px;
  box-shadow: none;
}
.vault-discover .viewer-plate {
  background: radial-gradient(ellipse 56% 35% at 50% 73%, rgba(74, 92, 72, .17), transparent 70%), linear-gradient(#f1f0e8, #e8eadf);
}
.vault-discover .asset-identity,
.vault-discover .tech-panel,
.vault-discover .related-rail,
.vault-discover .env-panel,
.vault-discover .glass-panel,
.vault-discover .showcase-disclaimer-box {
  background: var(--vault-card);
  border-color: var(--vault-line);
  color: var(--vault-ink);
  box-shadow: none;
}
.vault-discover .identity-title,
.vault-discover .identity-value,
.vault-discover .tech-cell-value,
.vault-discover .related-rail h3 { color: var(--vault-ink); }
.vault-discover .identity-subtitle, .vault-discover .tech-panel-title { color: var(--vault-accent); }
.vault-discover .identity-row { border-color: var(--vault-line); }
.vault-discover .identity-label, .vault-discover .meta-description,
.vault-discover .tech-cell-label { color: var(--vault-muted); }
.vault-discover .tech-cell { background: #f7f7ef; border-color: var(--vault-line); }
.vault-discover .tier-badge-lg { background: #dce6d6; color: var(--vault-ink); border: 1px solid #b8cbb2; }
.vault-discover .tech-panel-collapsible > summary { color: var(--vault-ink); }
.vault-discover .viewer-ctrl-stacked {
  width: 76px;
  font-size: .62rem;
  line-height: 1.2;
}
.vault-discover .viewer-ctrl-stacked span {
  white-space: normal;
  text-align: center;
}
.vault-discover .original-badge { background: #dce6d6; border-color: #b8cbb2; color: var(--vault-ink); }
.vault-discover .showcase-disclaimer-box { background: #e9eee4; }
.vault-discover .showcase-disclaimer-box p { color: var(--vault-ink); }
.vault-discover .env-option, .vault-discover .viewer-ctrl-stacked { color: var(--vault-ink); border-color: var(--vault-line); background: var(--vault-card); }
.vault-discover .env-option[aria-checked="true"], .vault-discover .viewer-ctrl-stacked.active { background: #dce6d6; border-color: #9eb19c; color: var(--vault-ink); }
.vault-discover .viewer-loading, .vault-discover .viewer-error { color: var(--vault-ink); }
.vault-discover .related-card, .vault-discover .game-promo-card { background: var(--vault-card); border-color: var(--vault-line); color: var(--vault-ink); }

@media (max-width: 960px) {
  .vault-discover .viewer-layout { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .vault-discover .discover-head-row { gap: .75rem; }
  .vault-discover .discover-count { white-space: normal; }
  .vault-discover .discover-toolbar-mobile { align-items: stretch; }
  .vault-discover .discover-toolbar-mobile > * { flex: 1 1 0; min-width: 0; }
  .vault-discover .vault-action-btn, .vault-discover .vault-select-compact { width: 100%; }
}
@media (max-width: 600px) {
  .vault-discover #top-nav { padding: .65rem 1rem; }
  .vault-discover .nav-logo { gap: .45rem; }
  .vault-discover .logo { min-height: 36px; }
  .vault-discover .vault-badge { font-size: .62rem; }
  .vault-discover-head { padding-top: 1.4rem; }
  .vault-discover .discover-title { font-size: clamp(1.75rem, 7vw, 2.1rem); }
  .vault-discover .discover-sub { font-size: .88rem; }
  .vault-discover .discover-count { font-size: .78rem; padding: .45rem .7rem; }
  .vault-discover .discover-tab { min-height: 42px; }
  .vault-discover .featured-collections-grid,
  .vault-discover .showcase-assets-grid { gap: .65rem; }
  .vault-discover .featured-collection-name { font-size: .82rem; }
  .vault-discover .featured-collection-count { font-size: .68rem; }
  .vault-discover .featured-collection-meta { align-items: flex-start; flex-direction: column; gap: .2rem; padding: .65rem; }
  .vault-discover .showcase-asset-copy { padding: .65rem; }
  .vault-discover .showcase-asset-copy strong { font-size: .82rem; }
  .vault-discover .asset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
  .vault-discover .asset-info { padding: .65rem; }
  .vault-discover .asset-title { font-size: .82rem; }
  .vault-discover .viewer-layout { padding: 1rem 1rem 1.75rem; gap: 1rem; }
  .vault-discover .viewer-container {
    display: block;
    min-height: 430px;
  }
  .vault-discover .viewer-control-stack {
    position: absolute;
    top: auto;
    bottom: .6rem;
    left: .6rem;
    right: .6rem;
    z-index: 5;
    display: flex;
    margin: 0;
    transform: none;
    gap: .4rem;
  }
  .vault-discover .viewer-ctrl-stacked {
    flex: 1 1 0;
    width: auto;
    min-height: 44px;
    background: rgba(255, 252, 245, .94);
  }
  .vault-discover .env-panel {
    position: absolute;
    top: .6rem;
    left: .6rem;
    right: .6rem;
    bottom: auto;
    z-index: 5;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: .4rem;
  }
  .vault-discover .env-panel-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .vault-discover .env-panel-options { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .25rem; }
  .vault-discover .env-option { min-height: 44px; padding: .25rem .1rem; line-height: 1.15; }
  .vault-discover .viewer-orbit-hint { display: none; }
  .vault-discover .viewer-enter-3d {
    top: 51%;
    bottom: auto;
    left: 50%;
    min-height: 44px;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    color: #fff;
  }
  .vault-discover .identity-heading { flex-wrap: wrap; }
  .vault-discover .tech-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vault-discover .detail-breadcrumb { gap: .55rem; }
}
@media (max-width: 370px) {
  .vault-discover .discover-toolbar-mobile { flex-direction: column; }
  .vault-discover .discover-toolbar-mobile > * { width: 100%; }
  .vault-discover .featured-collections-grid { grid-template-columns: 1fr 1fr; }
}
