/* Green Apple — site-wide color theme */
:root {
  color-scheme: light;
  --berry-950: #173a16;
  --berry-900: #245522;
  --berry-700: #3e7c2e;
  --berry-primary: #65b32e;
  --berry-secondary: #a6d608;
  --berry-accent: #d8f15a;
  --berry-soft: #f1f8d5;
  --berry-lilac: #ddf3c6;
  --berry-paper: rgba(255, 255, 255, .74);
  --berry-line: rgba(62, 124, 46, .2);
  --berry-text: #23401e;
  --berry-muted: #607859;
}

html { background: #edf5d7; }
body {
  background:
    radial-gradient(circle at 12% 4%, rgba(216, 241, 90, .28), transparent 34%),
    radial-gradient(circle at 90% 14%, rgba(101, 179, 46, .17), transparent 38%),
    linear-gradient(155deg, #fbfff3 0%, var(--berry-soft) 52%, var(--berry-lilac) 100%) !important;
  color: var(--berry-text) !important;
}
::selection { background: #d8f15a; color: var(--berry-950); }

.topbar,
.detail-bar,
.legal-bar {
  background: rgba(36, 85, 34, .95) !important;
  border-color: rgba(255, 255, 255, .14) !important;
  box-shadow: 0 4px 20px rgba(23, 58, 22, .2) !important;
}
.topbar-logo,
.detail-bar-title,
.legal-bar-title { color: #f8ffe9 !important; text-shadow: none !important; }
.hamburger-btn,
.detail-back,
.legal-back {
  background: rgba(255, 255, 255, .13) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .24) !important;
  box-shadow: none !important;
}
.hamburger-menu {
  background: rgba(36, 85, 34, .98) !important;
  box-shadow: 0 12px 30px rgba(23, 58, 22, .3) !important;
}
.hamburger-item { color: #ebf9d6 !important; border-color: rgba(255, 255, 255, .1) !important; }
.hamburger-item.active { color: #d8f15a !important; }
.hamburger-backdrop { background: rgba(23, 58, 22, .38) !important; }

.search-bar-wrap { background: transparent !important; border-color: transparent !important; }
.search-input {
  background: rgba(255, 255, 255, .82) !important;
  color: var(--berry-text) !important;
  border: 1px solid var(--berry-line) !important;
  box-shadow: 0 5px 18px rgba(62, 124, 46, .09) !important;
}
.search-input::placeholder { color: #78916f; }

.sec-label,
.filter-title,
.legal-pg-title,
.legal-sec-h2,
.sec-title-text,
.related-title { color: var(--berry-text) !important; text-shadow: none !important; }
.sec-more,
.filter-back,
.not-found button,
.sun-badge-cat,
.legal-page a { color: var(--berry-primary) !important; }
.sec-cnt,
.filter-cnt,
.empty-msg,
.site-footer,
.feat-desc,
.rtag,
.rdesc,
.kcard-nm,
.agcard-nm,
.gcard-nm,
.twcard-nm,
.tgcard-nm,
.twcard-desc,
.tgcard-desc,
.avcard-nm,
.mag-desc,
.glow-feat-desc,
.ring-nm,
.sun-badge-desc,
.promo-text,
.rel-nm,
.not-found,
.legal-pg-date,
.legal-sec-body { color: var(--berry-muted) !important; }

.glow-feat {
  background:
    radial-gradient(circle at 28% 24%, rgba(216, 241, 90, .32), transparent 56%),
    rgba(255, 255, 255, .58) !important;
  border: 1px solid rgba(101, 179, 46, .16);
  box-shadow: 0 12px 30px rgba(62, 124, 46, .1);
}
.glow-feat-title,
.sun-badge-name { color: var(--berry-text) !important; }
.sun-badge-item,
.about-section,
.howplay-section,
.legal-intro-sec,
.legal-sec {
  background: var(--berry-paper) !important;
  border-color: rgba(101, 179, 46, .16) !important;
  box-shadow: 0 8px 24px rgba(62, 124, 46, .09) !important;
}
.mag-row { border-color: rgba(62, 124, 46, .16) !important; }

.feat-badge,
.spot-badge,
.adv-badge,
.banner-badge,
.glow-feat-badge,
.poster-cat-badge {
  background: linear-gradient(135deg, var(--berry-primary), var(--berry-secondary)) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(101, 179, 46, .24) !important;
}
.more-btn,
.loadmore-btn,
.play-btn,
.totop-btn {
  background: linear-gradient(135deg, var(--berry-primary), var(--berry-secondary)) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 7px 20px rgba(62, 124, 46, .24) !important;
}
.loading-ring {
  border-color: rgba(101, 179, 46, .18) !important;
  border-top-color: var(--berry-primary) !important;
  box-shadow: 0 0 12px rgba(101, 179, 46, .22) !important;
}
.rnum { color: #77946d !important; }
.rnum.rn-1 { color: var(--berry-primary) !important; text-shadow: none !important; }
.rnum.rn-2 { color: var(--berry-secondary) !important; }
.rnum.rn-3 { color: var(--berry-accent) !important; text-shadow: none !important; }
.rplay { color: var(--berry-primary) !important; text-shadow: none !important; }

.kcard-img,
.agcard-img,
.gcard-img,
.twcard-img,
.tgcard-img,
.rthumb,
.rel-img,
.gid-icon {
  border-color: rgba(101, 179, 46, .2) !important;
  box-shadow: 0 5px 14px rgba(62, 124, 46, .11) !important;
}
.spot-card,
.adv-hero { border-color: rgba(101, 179, 46, .26) !important; box-shadow: 0 8px 22px rgba(23, 58, 22, .14) !important; }
.spot-card::after,
.adv-hero::after { background: linear-gradient(transparent, rgba(23, 58, 22, .9)) !important; }
.ring-img { border-image: linear-gradient(135deg, var(--berry-accent), var(--berry-secondary)) 1 !important; }
.sun-badge-icon { background: radial-gradient(circle, #d8f15a, var(--berry-primary)) !important; color: #173a16; }
.glow-feat-img { box-shadow: 0 0 20px rgba(101, 179, 46, .22) !important; }

.game-poster::after { background: linear-gradient(transparent 55%, rgba(23, 58, 22, .9)) !important; }
.gid-name { color: #fff !important; text-shadow: 0 2px 7px rgba(23, 58, 22, .55) !important; }
.gid-tag {
  background: rgba(255, 255, 255, .78) !important;
  color: var(--berry-text) !important;
  border-color: rgba(255, 255, 255, .72) !important;
}
.gid-tag-free { background: rgba(101, 179, 46, .84) !important; color: #fff !important; border-color: transparent !important; }
.about-body,
.howplay-body,
.legal-intro-sec { color: #35562e !important; }
.legal-pg-icon { filter: drop-shadow(0 5px 12px rgba(101, 179, 46, .24)) !important; }

body.play-shell {
  background: var(--berry-950) !important;
  color: #f8ffe9 !important;
}
.play-shell {
  --c-nav: rgba(36, 85, 34, .97);
  --c-text: #f8ffe9;
  --c-grad-s: #65b32e;
  --c-grad-e: #a6d608;
}
.play-shell .navbar { border-color: rgba(255, 255, 255, .12) !important; box-shadow: 0 3px 16px rgba(23, 58, 22, .32) !important; }
.play-shell .nav-back { background: rgba(255, 255, 255, .14) !important; }
.play-shell .nav-back:hover { background: rgba(255, 255, 255, .23) !important; }
.play-shell .nav-back:active { background: rgba(216, 241, 90, .3) !important; }
.play-shell .ga-wrap { background: #10290f !important; }
.play-shell .goback { box-shadow: 0 5px 18px rgba(101, 179, 46, .36) !important; }

.topbar-logo {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}
.site-logo-icon {
  display: block;
  width: 26px;
  height: 26px;
  object-fit: contain;
  flex: 0 0 26px;
}
