/* EverLeaf public polish — September 2026
   Final visual layer for the real server website. This file intentionally loads
   after the earlier theme layers so the public portal feels cohesive without
   changing the homepage's established composition or admin surfaces. */

body.siteRoute:not(.route-home):not(.route-admin){
  --polish-bg:#f5f7f2;
  --polish-bg-alt:#eef3ea;
  --polish-surface:#ffffff;
  --polish-surface-soft:#f9fbf7;
  --polish-ink:#183127;
  --polish-ink-strong:#10261d;
  --polish-muted:#687b70;
  --polish-line:#dce6dc;
  --polish-line-strong:#c9d8cb;
  --polish-leaf:#2f865b;
  --polish-leaf-dark:#246c49;
  --polish-leaf-soft:#e8f4ec;
  --polish-blue:#5a9fee;
  --polish-blue-soft:#edf5ff;
  --polish-gold:#c7973c;
  --polish-shadow:0 18px 52px rgba(31,59,43,.09);
  --polish-shadow-soft:0 8px 26px rgba(31,59,43,.07);
}

body.siteRoute:not(.route-home):not(.route-admin) .siteContent,
body.siteRoute:not(.route-home):not(.route-admin) .lightPage,
body.siteRoute:not(.route-home):not(.route-admin) .contentSection,
body.siteRoute:not(.route-home):not(.route-admin) .pageSection,
body.siteRoute:not(.route-home):not(.route-admin) .accountPage,
body.siteRoute:not(.route-home):not(.route-admin) .rankingsPageV2,
body.siteRoute:not(.route-home):not(.route-admin) .wikiPage,
body.siteRoute:not(.route-home):not(.route-admin) .wikiDataPage{
  background:transparent!important;
}

body.siteRoute:not(.route-home):not(.route-admin) a{
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

body.siteRoute:not(.route-home):not(.route-admin) .muted,
body.siteRoute:not(.route-home):not(.route-admin) small{
  color:var(--polish-muted)!important;
}

body.siteRoute:not(.route-home):not(.route-admin) .wrap{
  width:calc(100% - clamp(24px,3vw,64px))!important;
  max-width:none!important;
  margin-inline:auto!important;
}

/* compact public chrome for all inner pages */
body.siteRoute:not(.route-home):not(.route-admin) .publicChrome{
  position:sticky;
  top:0;
  z-index:1200;
  border-bottom:1px solid rgba(91,128,102,.28);
  background:rgba(7,16,10,.94);
  backdrop-filter:blur(18px) saturate(1.15);
  box-shadow:0 4px 20px rgba(0,0,0,.18);
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeInner{
  min-height:70px;
  display:flex;
  align-items:center;
  gap:28px;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeBrand{
  display:flex;
  align-items:center;
  gap:11px;
  flex:0 0 auto;
  color:var(--polish-ink-strong)!important;
  text-decoration:none!important;
  font-weight:900;
  letter-spacing:-.03em;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeBrand img{
  width:38px;
  height:38px;
  object-fit:contain;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeBrand span{
  font-size:18px;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks{
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
  overflow-x:auto;
  scrollbar-width:none;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks::-webkit-scrollbar{display:none}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks>a{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  padding:0 13px;
  border-radius:12px;
  color:#51665a!important;
  text-decoration:none!important;
  font-size:13px;
  font-weight:750;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks>a:hover{
  background:#eaf1e9;
  color:var(--polish-ink-strong)!important;
  transform:translateY(-1px);
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks>a.active{
  background:var(--polish-leaf-soft);
  color:var(--polish-leaf-dark)!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeAccount{
  margin-left:6px;
  border:1px solid rgba(91,128,102,.35);
  background:#101a13;
}

/* shared inner-page hero — layout only */

body.siteRoute:not(.route-home):not(.route-admin) .lightTitle,
body.siteRoute:not(.route-home):not(.route-admin) .lightTitle.visualPageTitle,
body.siteRoute:not(.route-home):not(.route-admin) .rankingsHero,
body.siteRoute:not(.route-home):not(.route-admin) .wikiDataHero,
body.siteRoute:not(.route-home):not(.route-admin) .wikiListHero{
  position:relative!important;
  padding:70px 0 64px!important;
  overflow:hidden!important;
}

body.siteRoute:not(.route-home):not(.route-admin) .pageHeroGrid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px)!important;
  gap:40px!important;
  align-items:center!important;
}

body.siteRoute:not(.route-home):not(.route-admin) .pageHeroAside,
body.siteRoute:not(.route-home):not(.route-admin) .pageHeroVisual,
body.siteRoute:not(.route-home):not(.route-admin) .rankingLiveAside{
  padding:22px!important;
}

body.siteRoute:not(.route-home):not(.route-admin) .pageHeroVisual{
  overflow:hidden!important;
}

/* content layouts */
body.siteRoute:not(.route-home):not(.route-admin) .contentGrid{
  padding-top:46px!important;
  padding-bottom:72px!important;
  gap:24px!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .contentStack{gap:18px!important}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-account) .downloadCard{
  padding:20px!important;
  align-items:center!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .downloadIcon{
  border-radius:14px!important;
  background:var(--polish-leaf-soft)!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .downloadGroupTitle{
  margin:20px 0 0!important;
  color:var(--polish-ink-strong)!important;
  font-size:14px!important;
  letter-spacing:.01em!important;
}

/* Login / registration / recovery — layout only */

body.route-login .authWrap,
body.route-register .authWrap,
body.route-recover .authWrap{
  min-height:calc(100vh - 70px)!important;
  display:grid!important;
  place-items:center!important;
  padding:54px 20px 70px!important;
}

body.route-login .authGrid,
body.route-register .authGrid,
body.route-recover .authGrid{
  width:min(980px,100%)!important;
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr)!important;
  gap:28px!important;
  align-items:center!important;
  margin:0!important;
}

body.route-login .authIntro,
body.route-register .authIntro,
body.route-recover .authIntro{
  padding:32px!important;
}

body.route-login .authIntro img,
body.route-register .authIntro img,
body.route-recover .authIntro img{
  width:82px!important;
  height:82px!important;
  margin-bottom:22px!important;
}

body.route-login .authIntro h1,
body.route-register .authIntro h1,
body.route-recover .authIntro h1{
  margin:8px 0 14px!important;
  font-size:clamp(38px,5vw,58px)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
  text-transform:none!important;
}

body.route-login .authIntro p,
body.route-register .authIntro p,
body.route-recover .authIntro p{
  line-height:1.7!important;
}

body.route-login .authCard,
body.route-register .authCard,
body.route-recover .authCard{
  padding:34px!important;
}

body.route-login .authCard h1,
body.route-login .authCard h2,
body.route-register .authCard h1,
body.route-register .authCard h2,
body.route-recover .authCard h1,
body.route-recover .authCard h2{
  margin:4px 0 6px!important;
  font-size:30px!important;
  font-weight:900!important;
  letter-spacing:-.04em!important;
}

body.route-login .authCard form,
body.route-register .authCard form,
body.route-recover .authCard form{
  display:grid!important;
  gap:10px!important;
  margin-top:24px!important;
}

body.route-login .authCard form label,
body.route-register .authCard form label,
body.route-recover .authCard form label{
  margin-top:5px!important;
  font-size:14px!important;
}

body.route-login .authCard input:not([type=checkbox]),
body.route-register .authCard input:not([type=checkbox]),
body.route-recover .authCard input:not([type=checkbox]){
  min-height:50px!important;
  padding:0 14px!important;
}

body.route-login .authCard .btn.primary,
body.route-register .authCard .btn.primary,
body.route-recover .authCard .btn.primary{
  width:100%!important;
  min-height:50px!important;
  margin-top:8px!important;
}

body.route-login .loginFocusGrid{
  grid-template-columns:1fr!important;
  max-width:520px!important;
}

body.route-login .loginFocusGrid .authCard{
  width:100%!important;
}

body.route-login .loginHeading{
  margin-bottom:18px;
}

body.route-login .loginHeading h1{
  margin:0!important;
  font-size:30px!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}

body.route-login .loginHeading p{
  margin:8px 0 0;
  line-height:1.55;
}

body.route-login .passwordField{
  position:relative;
}

body.route-login .passwordField input{
  width:100%;
  padding-right:48px!important;
}

body.route-login .passwordToggle{
  position:absolute;
  top:50%;
  right:9px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  cursor:pointer;
}

body.route-login .loginUtilityRow{
  display:flex;
  justify-content:flex-end;
  margin:-1px 0 3px;
}

body.route-login .loginUtilityRow a{
  font-size:13px;
  text-decoration:none;
  font-weight:700;
}

body.route-login .loginCreateRow{
  text-align:center;
  margin:22px 0 0;
  font-size:14px;
}

body.route-login .loginCreateRow a{
  font-weight:850;
  text-decoration:none;
}

body.route-login .loginBackHome{
  display:flex;
  justify-content:center;
  margin-top:20px;
}

body.route-login .loginBackHome a{
  text-decoration:none!important;
  font-size:13px;
  font-weight:700;
}

body.route-login .loginBrandMark{
  display:flex;
  justify-content:center;
  margin-bottom:18px;
}

body.route-login .loginBrandMark img{
  width:68px;
  height:68px;
}

/* general long-form pages */
body.route-terms .lightPage>.wrap,
body.route-page .lightPage>.wrap,
body.route-post .lightPage>.wrap,
body.siteRoute.site-terms .lightPage>.wrap{
  padding-top:46px!important;
  padding-bottom:72px!important;
}

@media(max-width:960px){
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeInner{gap:14px}
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeBrand span{display:none}
  body.siteRoute:not(.route-home):not(.route-admin) .pageHeroGrid,
  body.route-wiki .wikiDataHeroInner{grid-template-columns:1fr!important;gap:28px!important}
  body.route-rankings .rankingStats{grid-template-columns:repeat(2,1fr)!important}
  body.route-rankings .rankingsIntro{grid-template-columns:1fr!important}
  body.route-rankings .rankingPodium{grid-template-columns:1fr 1fr 1fr!important}
  body.route-wiki .wikiCatalogGrid{grid-template-columns:repeat(2,1fr)!important}
  body.route-wiki .wikiDataResultGrid{grid-template-columns:1fr!important}
  body.route-login .authGrid,
  body.route-register .authGrid,
  body.route-recover .authGrid{grid-template-columns:1fr!important;max-width:620px!important}
  body.route-login .authIntro,
  body.route-register .authIntro,
  body.route-recover .authIntro{display:none!important}
}

@media(max-width:720px){
  body.siteRoute:not(.route-home):not(.route-admin) .wrap{width:calc(100% - 24px)!important;max-width:none!important}
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeInner{min-height:62px}
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeBrand img{width:34px;height:34px}
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks{gap:2px}
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks>a{padding:0 10px;font-size:12px}
  body.siteRoute:not(.route-home):not(.route-admin) .lightTitle,
  body.siteRoute:not(.route-home):not(.route-admin) .rankingsHero,
  body.siteRoute:not(.route-home):not(.route-admin) .wikiDataHero,
  body.siteRoute:not(.route-home):not(.route-admin) .wikiListHero{padding:48px 0 44px!important}
  body.siteRoute:not(.route-home):not(.route-admin) .lightTitle h1,
  body.siteRoute:not(.route-home):not(.route-admin) .rankingsHero h1,
  body.siteRoute:not(.route-home):not(.route-admin) .wikiDataHero h1,
  body.siteRoute:not(.route-home):not(.route-admin) .wikiListHero h1{font-size:clamp(38px,13vw,58px)!important}
  body.siteRoute:not(.route-home):not(.route-admin) .lightTitle p,
  body.siteRoute:not(.route-home):not(.route-admin) .rankingsHero p,
  body.siteRoute:not(.route-home):not(.route-admin) .wikiDataHero p{font-size:14px!important}
  body.route-rankings .rankingStats{grid-template-columns:1fr 1fr!important}
  body.route-rankings .rankingStats>div{padding:16px!important}
  body.route-rankings .rankingStats strong{font-size:23px!important}
  body.route-rankings .rankingSearch{grid-template-columns:1fr!important}
  body.route-rankings .rankingSearch .btn{width:100%!important}
  body.route-rankings .rankingPodium{grid-template-columns:1fr!important}
  body.route-rankings .rankingPodiumCard,
  body.route-rankings .rankingPodiumCard.first{min-height:0!important;display:grid!important;grid-template-columns:auto 82px 1fr!important;text-align:left!important;align-items:center!important;justify-items:start!important}
  body.route-rankings .rankingPodiumArt{width:82px!important;height:82px!important}
  body.route-rankings .rankingPodiumArt img{max-width:74px!important;max-height:74px!important}
  body.route-rankings .rankingBoardHead{display:block!important}
  body.route-rankings .rankingLegend{justify-content:flex-start!important;margin-top:12px!important}
  body.route-rankings .tableWrap{overflow-x:auto!important}
  body.route-rankings .rankingTableV2{min-width:760px!important}
  body.route-rankings .rankingFooter{display:block!important}
  body.route-rankings .rankingRefresh{margin-top:14px!important}
  body.route-wiki .wikiDataSearch,
  body.route-wiki .wikiListSearch{grid-template-columns:1fr!important}
  body.route-wiki .wikiDataSearch .btn{width:100%!important}
  body.route-wiki .wikiCatalogGrid{grid-template-columns:1fr!important}
  body.route-wiki .wikiCatalogHeading,
  body.route-wiki .wikiSearchResultsHead{display:block!important}
  body.route-wiki .wikiCatalogHeading>a{display:inline-block;margin-top:12px!important}
  body.route-wiki .wikiListHeroGrid{grid-template-columns:1fr!important}
  body.route-wiki .wikiListCount{text-align:left!important}
  body.route-wiki .wikiDataTableWrap{overflow-x:auto!important}
  body.route-wiki .wikiDataTable{min-width:720px!important}
  body.route-login .authWrap,
  body.route-register .authWrap,
  body.route-recover .authWrap{padding:34px 12px 50px!important}
  body.route-login .authCard,
  body.route-register .authCard,
  body.route-recover .authCard{padding:26px 20px!important;border-radius:22px!important}
}

@media(max-width:520px){
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeBrand{display:none}
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks{margin-left:0;width:100%}
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks>a{flex:0 0 auto}
  body.route-rankings .rankingStats{grid-template-columns:1fr!important}
  body.route-rankings .rankingPodiumCard,
  body.route-rankings .rankingPodiumCard.first{grid-template-columns:auto 70px 1fr!important;padding:17px 14px!important}
  body.route-rankings .rankingPodiumArt{width:70px!important;height:70px!important}
  body.route-wiki .wikiCatalogCard{grid-template-columns:58px 1fr!important;column-gap:13px!important;padding:17px!important}
  body.route-wiki .wikiCatalogIcon{width:58px!important;height:58px!important}
}

@media(prefers-reduced-motion:reduce){
  body.siteRoute:not(.route-home):not(.route-admin) *,
  body.siteRoute:not(.route-home):not(.route-admin) *::before,
  body.siteRoute:not(.route-home):not(.route-admin) *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
