@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@500;600;700&family=Nunito:wght@500;600;700;800&display=swap");

/* Reduce decorative accent bars while preserving functional borders and focus states. */
.creator-tool-facts span {
  border-left-width: 1px !important;
  border-left-color: #2b3850 !important;
}

.viewer-challenge-collapsible,
.creator-opportunity-bridge {
  border-left-width: 1px !important;
}

.process-note {
  border: 1px solid rgba(255, 255, 255, 0.11) !important;
  border-radius: 10px;
}

/* Creator directory cards keep their accent content, but not the decorative edge stripe. */
.creator-tools-callout,
.creator-directory-card {
  border-left-width: 1px !important;
  border-left-color: rgba(255, 255, 255, 0.11) !important;
  border-radius: 18px !important;
}

/* Action pages used colored panel edges as decoration. Keep the panels, remove the accent border. */
.action-page .growth-hero,
.media-kit-page .partnership-principle-grid article,
.media-kit-page .media-kit-card,
.action-page--contact #contact-options .media-kit-card,
.contribute-page .contribution-types button,
.partnerships-page .partnership-principle-grid article,
.partnership-flow-status {
  border-left-width: 1px !important;
  border-left-color: rgba(255, 255, 255, 0.11) !important;
}

.action-page .growth-summary {
  border-color: rgba(255, 255, 255, 0.11) !important;
}

.action-page .growth-summary strong:not(:first-child) {
  border-top-color: rgba(255, 255, 255, 0.11) !important;
}

.action-page .growth-hero,
.media-kit-page .partnership-principle-grid article,
.media-kit-page .media-kit-card,
.action-page--contact #contact-options .media-kit-card,
.contribute-page .contribution-types button,
.partnerships-page .partnership-principle-grid article {
  border-radius: 18px !important;
}

/* Small vertical bars before form legends are decorative, not structural. */
.contribute-page .growth-form legend::before,
.partnerships-page .growth-form legend::before {
  display: none !important;
}

/* Keep action-page surfaces plain and readable instead of stacking decorative effects. */
.action-page .growth-hero {
  background: #151b27 !important;
  box-shadow: none !important;
}

.action-page .growth-summary {
  background: #171e2a !important;
}

.action-page .growth-form {
  box-shadow: none !important;
}

.action-page .creator-quickstart {
  border-color: rgba(255, 255, 255, 0.11) !important;
}

.action-page .creator-quickstart li::before {
  background: #58b7ff !important;
  box-shadow: none !important;
}

/* Homepage cards should read as content, not decorated templates. */
.marketing-home .home-path-card,
.marketing-home .visual-link-card,
.marketing-home .home-collaboration {
  background: #182130 !important;
  box-shadow: none !important;
}

.marketing-home .home-path-card::before,
.marketing-home .home-path-card::after,
.marketing-home .visual-link-card::before {
  display: none !important;
}

.marketing-home .home-entry-cards > a,
.marketing-home .home-featured-grid > a,
.marketing-home .home-trust-strip {
  border-left-width: 1px !important;
  border-left-color: #344159 !important;
}

.marketing-home .home-game-fan {
  gap: 8px !important;
  padding-left: 0 !important;
}

.marketing-home .home-game-fan img {
  margin-left: 0 !important;
  border-width: 1px !important;
  transform: none !important;
  box-shadow: none !important;
}

.marketing-home .visual-thumb-row img {
  box-shadow: none !important;
}

.marketing-home .home-entry-cards > a:hover,
.marketing-home .home-featured-grid > a:hover {
  transform: none !important;
  box-shadow: none !important;
}

@media (max-width: 700px) {
  .marketing-home .home-entry-cards > a,
  .marketing-home .home-featured-grid > a,
  .marketing-home .home-trust-strip,
  .marketing-home .home-collaboration {
    background: #182130 !important;
    border-color: rgba(91, 111, 143, 0.42) !important;
  }

  .marketing-home .home-trust-strip {
    border-radius: 12px !important;
  }
}

/* Editorial shelf accents and finder badge glows are decorative. */
.home-page .editor-shelf > a::before {
  display: none !important;
}

.home-page .finder-panel legend span {
  box-shadow: none !important;
}

/* The compact homepage entry cards still injected short cyan bars and mobile gradients. */
.marketing-home .home-entry-cards > a::before {
  display: none !important;
}

@media (max-width: 700px) {
  .marketing-home .home-entry-cards > a,
  .marketing-home .home-featured-grid > a {
    background: #182130 !important;
  }
}

:root {
  --font-display: "Fredoka", "DM Sans", system-ui, sans-serif;
  --font-ui: "Nunito", "DM Sans", system-ui, sans-serif;
  --font-body: "DM Sans", system-ui, sans-serif;
}

body,
input,
textarea {
  font-family: var(--font-body);
}

h1,
h2,
h3,
.brand,
.brand-name,
.featured-overlay strong,
.mini-tile strong,
.home-entry-cards strong,
.home-featured-grid strong,
.game-card h3,
.guide-card h2,
.guide-card h3,
.creator-card h3,
.ranked-game h2,
.ranked-game h3,
.drawer-header h2,
.roulette-modal h2 {
  font-family: var(--font-display) !important;
}

h1,
h2,
h3 {
  font-weight: 700;
  letter-spacing: -0.025em;
}

.hero h1,
.guide-hero h1,
.discover-intro h1,
.article-hero h1,
.game-detail-hero h1 {
  letter-spacing: -0.04em !important;
  line-height: 0.95;
  text-wrap: balance;
}

.home-page .home-hero-compact .hero-copy h1 {
  max-width: 10.5ch;
  font-weight: 700;
  line-height: 0.94;
}

button,
select,
label,
legend,
summary,
nav,
.primary-cta,
.hero-random,
.text-link,
.details-link,
.play-link,
.find-button,
.roulette-button,
.save-button,
.site-saved-button,
.site-header-actions,
.site-footer-navigation,
.mobile-menu-panel,
.eyebrow,
.hero-kicker,
.match-badge,
.choice-row,
.toggle-control,
.filter-chip,
.game-meta {
  font-family: var(--font-ui) !important;
}

button,
.primary-cta,
.hero-random,
.details-link,
.play-link,
.find-button,
.roulette-button,
.site-saved-button {
  font-weight: 800;
}

.eyebrow,
.hero-kicker,
.match-badge,
.game-meta {
  letter-spacing: 0.075em;
}

.site-footer-group h2 {
  font-family: var(--font-ui) !important;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.discover-page .finder-section .section-heading h2,
.discover-page .results-section .section-heading h2,
.discover-page .collections-section .section-heading h2 {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: -0.045em !important;
  line-height: 0.94 !important;
  text-wrap: balance;
}

.discover-page .finder-section .section-heading h2 {
  max-width: 10ch;
}

.discover-page .results-section .section-heading h2 {
  max-width: 11ch;
}

.discover-page .section-heading .eyebrow,
.discover-page .collection-filter-label,
.discover-page .discovery-filter button,
.discover-page .results-count,
.discover-page .builder-collapse-toggle,
.discover-page .text-button,
.discover-page .choice-row button,
.discover-page .toggle-control,
.discover-page .sort-control,
.discover-page legend,
.discover-page label,
.discover-page summary {
  font-family: var(--font-ui) !important;
}

.discover-page .collection-filter-label,
.discover-page .section-heading .eyebrow {
  font-weight: 800;
  letter-spacing: 0.075em;
}

.discover-page .discovery-filter button {
  font-weight: 800;
}

@media (max-width: 767px) {
  .home-page .home-hero-compact .hero-copy h1 {
    max-width: 11ch;
    letter-spacing: -0.035em !important;
    line-height: 0.96;
  }

  .discover-page .finder-section .section-heading h2,
  .discover-page .results-section .section-heading h2 {
    max-width: 12ch;
    letter-spacing: -0.035em !important;
    line-height: 0.96 !important;
  }
}