/* Chumkin World: game-poster energy around the existing living creatures. */
body[data-public-page="home"] { --world-ink: #302451; --world-yellow: #fff05a; }
body[data-public-page="home"] .landing-scene {
  background: radial-gradient(ellipse at 20% 10%, #fff394 0, transparent 42%),
    radial-gradient(ellipse at 85% 30%, #fbc4e9 0, transparent 45%),
    linear-gradient(165deg, #bfefff, #d9f7ce 75%, #93e1af);
}
body[data-public-page="home"] .public-header { background: #ffffffd9; border-bottom: 3px solid #302451; }
body[data-public-page="home"] .public-wordmark { color: #302451; }
.landing-home .landing-hero {
  width: min(1180px, 100%); min-height: auto; padding: 38px 26px 70px;
  grid-template-columns: minmax(0, 1fr); gap: 25px; text-align: center;
}
.world-kicker { margin: 0; color: #302451; font-size: 12px; font-weight: 950; letter-spacing: .15em; }
.landing-home .world-kicker:first-child { justify-self: center; padding: 9px 17px; border: 2px solid #302451; border-radius: 999px; background: #fff05a; transform: rotate(-2deg); }
.landing-home .landing-brand { align-items: center; gap: 20px; }
.landing-home .landing-logo { width: clamp(70px, 10vw, 135px); max-height: 140px; transform: rotate(-12deg); filter: drop-shadow(6px 8px 0 #30245125); }
.landing-home .landing-brand h1 {
  color: #fff; font-size: clamp(58px, 11.4vw, 136px); line-height: .88; letter-spacing: -.07em;
  -webkit-text-stroke: clamp(2px, .35vw, 5px) #302451; paint-order: stroke fill;
  text-shadow: 5px 7px 0 #302451; white-space: normal;
}
.landing-home .landing-brand h1 span { display: block; color: #fff05a; letter-spacing: -.035em; font-size: 1.16em; }
.landing-home .landing-intro { max-width: 730px; padding: 0; justify-self: center; }
.landing-home .landing-intro .landing-lead { margin: 0; color: #302451; font-size: clamp(27px, 4.5vw, 46px); font-weight: 950; letter-spacing: -.04em; }
.landing-home .landing-intro > p:last-child { margin: 16px auto 0; max-width: 660px; color: #453953; font-size: clamp(17px, 2vw, 20px); }
.world-mode-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; width: min(920px, 100%); justify-self: center; }
.world-mode { display: flex; gap: 17px; align-items: flex-start; padding: 25px; text-align: left; border: 3px solid #302451; border-radius: 24px; box-shadow: 5px 6px 0 #302451; }
.world-mode-companion { background: #ecfd9f; transform: rotate(-1deg); }
.world-mode-surprise { background: #fbe0f1; transform: rotate(1deg); }
.world-mode > span { color: #302451; font-size: 43px; font-weight: 950; line-height: 1; }
.world-mode strong { color: #302451; font-size: 20px; font-weight: 950; letter-spacing: -.035em; }
.world-mode p { margin: 10px 0 0; color: #51435f; font-size: 15px; line-height: 1.55; }
.landing-home .landing-account-actions, .landing-home .landing-account-return {
  width: fit-content; max-width: 100%; justify-self: center; padding: 0; background: none; border: 0; box-shadow: none; backdrop-filter: none;
}
.landing-home .landing-account-actions a, .landing-home .landing-account-return > a {
  min-height: 59px; border: 3px solid #302451; border-radius: 17px; font-size: 17px; box-shadow: 4px 5px 0 #302451;
}
.landing-home .landing-account-primary { background: #ff70ba; color: #302451; padding: 15px 28px; }
.landing-home .landing-account-primary:hover { color: #302451; background: #ff93cb; box-shadow: 4px 7px 0 #302451; }
.landing-home .landing-account-secondary { color: #302451; background: white; }
.world-start-note { margin: 0; color: #453953; font-size: 13px; font-weight: 750; }
.landing-home .landing-scroll-cue { position: static; width: fit-content; justify-self: center; margin: 8px 0 0; background: none; color: #302451; box-shadow: none; }
.world-roster-section { width: min(1160px, calc(100% - 48px)); margin: 12px auto 90px; padding: 42px; border: 3px solid #302451; border-radius: 38px; background: #302451; box-shadow: 8px 10px 0 #30245135; }
.world-section-heading { max-width: 730px; margin-bottom: 28px; }
.world-section-heading .world-kicker { color: #fff05a; }
.world-section-heading h2 { margin: 15px 0; color: #fff; font-size: clamp(38px, 6vw, 69px); line-height: .98; letter-spacing: -.055em; font-weight: 950; }
.world-section-heading p { color: #ece1f8; line-height: 1.65; font-size: 17px; }
.world-roster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.world-roster > p { color: white; }
.world-roster-card { display: flex; flex-direction: column; min-width: 0; padding: 20px; border-radius: 23px; background: #f6f4ff; color: #302451; border: 3px solid #fff; }
.roster-moss { background: #e6f4b5; } .roster-puddle { background: #d2eeff; }
.roster-pip { background: #fff2af; } .roster-boulder { background: #f2d8b3; }
.roster-fizzy { background: #ffd5ef; } .roster-nova { background: #dfd2ff; }
.world-roster-tier { font-size: 11px; font-weight: 950; text-transform: uppercase; letter-spacing: .09em; }
.world-roster-card .chumkin-still { width: 100%; max-width: 100%; }
.world-roster-card h3 { margin: 10px 0 6px; font-size: 32px; font-weight: 950; letter-spacing: -.04em; }
.world-roster-card p { margin: 0 0 18px; color: #534761; font-size: 14px; line-height: 1.55; }
.world-roster-price { margin-top: auto; padding-top: 10px; border-top: 2px solid #30245120; font-size: 12px; }
.world-roster-link { display: inline-block; margin-top: 27px; color: #fff05a; font-size: 18px; font-weight: 900; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.landing-home .landing-story { gap: 55px; margin-bottom: 80px; padding-top: 0; }
.landing-home .landing-feature { padding: 34px; border: 3px solid #302451; border-radius: 30px; background: #ffffffe8; box-shadow: 6px 7px 0 #302451; }
.landing-home .landing-feature::before, .landing-home .landing-feature::after { display: none; }
.landing-home .landing-feature:nth-child(2) { background: #fff4b9; transform: rotate(1deg); }
.landing-home .landing-feature:nth-child(3) { background: #f8d7ed; transform: rotate(-1deg); }
.landing-home .landing-feature h2 { color: #302451; font-size: clamp(38px, 5vw, 58px); font-weight: 950; }
.landing-home .landing-feature p { color: #51435f; }
.landing-home .variation-copy h2 { color: #302451; font-weight: 950; font-size: clamp(36px, 5.5vw, 63px); line-height: 1; }
.landing-home .landing-close { padding: 50px 28px; border: 3px solid #302451; border-radius: 35px; background: #fff05a; box-shadow: 8px 9px 0 #302451; }
.landing-home .landing-close .world-kicker { color: #302451; }
.landing-home .landing-close h2 { color: #302451; font-weight: 950; font-size: clamp(42px, 7vw, 80px); line-height: .94; }
.landing-home .landing-close p { color: #453953; }
.landing-home .landing-join { padding: 17px 25px; color: white; background: #302451; border: 3px solid #302451; border-radius: 15px; box-shadow: 4px 5px 0 #ff70ba; }
.character-tier { display: block; color: #65507e; font-size: 10px; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; }
.adoption-character.is-locked .adoption-character-card { border-style: dashed; }
.adoption-character.is-locked small { color: #6a3a97; font-weight: 900; }
.character-boulder .adoption-character-card { background: #fff2df; }
.character-fizzy .adoption-character-card { background: #ffe8f5; }
.character-nova .adoption-character-card { background: #ece5ff; }
.adoption-unlock-note { padding: 15px 18px; margin: 0; border: 2px solid #c3a8ed; border-radius: 16px; color: #53366c; background: #f4edff; font-size: 14px; line-height: 1.6; }
.character-unlock-button { color: #302451; background: #fff05a; border: 2px solid #302451; box-shadow: 3px 4px 0 #302451; }
.character-unlock-button:disabled { opacity: .6; box-shadow: none; }
@media (max-width: 720px) {
  .landing-home .landing-hero { padding: 30px 18px 48px; gap: 24px; }
  .landing-home .landing-brand { gap: 12px; }
  .landing-home .landing-logo { width: 62px; }
  .landing-home .landing-brand h1 { font-size: clamp(41px, 10vw, 68px); text-shadow: 3px 4px 0 #302451; }
  .world-mode-grid { grid-template-columns: 1fr; gap: 18px; }
  .world-mode { padding: 20px; }
  .world-roster-section { width: calc(100% - 28px); padding: 25px 18px; border-radius: 26px; }
  .world-roster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .world-roster-card { padding: 13px; border-radius: 17px; }
  .world-roster-card h3 { font-size: 26px; }
  .world-roster-card p { font-size: 12px; }
  .world-roster-price { font-size: 11px; }
  .landing-home .landing-account-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 13px; }
  .landing-home .landing-account-actions a { padding: 12px 17px; font-size: 15px; }
  .landing-home .landing-feature { padding: 25px; }
  .landing-home .landing-close { width: calc(100% - 32px); }
}
@media (prefers-reduced-motion: reduce) {
  .landing-home .landing-account-actions a { transition: none; }
}
