/* EverLeaf unified public polish — Sep 2026
   Final shared visual layer for the public site. Route-specific Wiki and Rankings
   styles remain authoritative; this file unifies chrome, spacing, controls, cards,
   auth, account, news, downloads, help, support, and standard content pages. */

:root{
  --el-bg:#11120f;
  --el-bg-2:#151713;
  --el-panel:#181a16;
  --el-panel-2:#1d201b;
  --el-line:#32342e;
  --el-line-strong:#44473f;
  --el-text:#ebe7e1;
  --el-text-soft:#b0ada6;
  --el-text-dim:#7f7c76;
  --el-green:#78b989;
  --el-green-strong:#91c89d;
  --el-green-deep:#294b31;
  --el-gold:#d9bb70;
  --el-danger:#d98c7c;
  --el-radius:8px;
  --el-gutter:clamp(16px,3vw,48px);
}

html{background:var(--el-bg)}
body.siteRoute{
  background:var(--el-bg)!important;
  color:var(--el-text)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.siteRoute *{box-sizing:border-box}
body.siteRoute ::selection{background:#365f40;color:#fff}
body.siteRoute:not(.route-admin) .wrap{
  width:calc(100% - (var(--el-gutter) * 2))!important;
  max-width:none!important;
  margin-inline:auto!important;
}

body.siteRoute:not(.route-home):not(.route-admin) .publicChrome{
  min-height:62px!important;
  border-bottom:1px solid var(--el-line)!important;
  background:rgba(16,17,14,.96)!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.02)!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeInner{
  min-height:62px!important;
  height:62px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeBrand{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeBrand img{
  width:auto!important;
  height:34px!important;
  max-width:138px!important;
  object-fit:contain!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeBrand>span{display:none!important}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:3px!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks>a{
  min-height:32px!important;
  padding:0 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid transparent!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#96938d!important;
  font-size:8px!important;
  font-weight:850!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  transition:background .14s ease,color .14s ease,border-color .14s ease!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks>a:hover{
  border-color:#30322d!important;
  background:#1a1c18!important;
  color:#ece8e2!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks>a.active{
  border-color:#5e8a68!important;
  background:#233329!important;
  color:#dceade!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks>a.publicChromeAccount{
  margin-left:5px!important;
  border-color:#3b3d37!important;
  background:#181a16!important;
  color:#d9d5cf!important;
}
body.siteRoute .siteBanner{
  min-height:30px!important;
  padding:0!important;
  border-bottom:1px solid #393a34!important;
  background:#181915!important;
  color:#c8c4bd!important;
}
body.siteRoute .siteBanner .wrap{
  min-height:30px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  font-size:8px!important;
}
body.siteRoute .siteBanner strong{
  color:var(--el-gold)!important;
  font-size:7px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings):not(.route-login):not(.route-register):not(.route-recover) .lightPage{
  background:var(--el-bg)!important;
  color:var(--el-text)!important;
}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings):not(.route-login):not(.route-register):not(.route-recover) .lightTitle{
  margin:0!important;
  padding:25px 0 22px!important;
  border-bottom:1px solid var(--el-line)!important;
  background:radial-gradient(circle at 82% 18%,rgba(78,126,89,.14),transparent 31%),linear-gradient(180deg,#141611 0,#11120f 100%)!important;
}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings):not(.route-login):not(.route-register):not(.route-recover) .lightTitle .pageHeroGrid{
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;
  gap:30px!important;
}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings):not(.route-login):not(.route-register):not(.route-recover) .lightTitle h1{
  margin:4px 0 8px!important;
  color:#f0ece6!important;
  font-size:clamp(36px,4vw,58px)!important;
  line-height:.9!important;
  letter-spacing:-.045em!important;
}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings):not(.route-login):not(.route-register):not(.route-recover) .lightTitle p{
  max-width:72ch!important;
  margin:0!important;
  color:#9c9993!important;
  font-size:11px!important;
  line-height:1.5!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .pageEyebrow{
  margin:0 0 6px!important;
  color:var(--el-green)!important;
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
body.siteRoute:not(.route-home):not(.route-admin) .pageEyebrow:before{width:16px!important;background:#5a8865!important}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) .pageHeroAside,
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) .pageHeroVisual{
  min-width:0!important;
  border:1px solid var(--el-line)!important;
  border-radius:var(--el-radius)!important;
  background:#171915!important;
  box-shadow:none!important;
}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) .pageHeroAside{padding:14px 16px!important}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) .pageHeroAside strong{color:#ddd9d2!important;font-size:9px!important}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) .pageHeroAside span{color:#8d8a84!important;font-size:9px!important;line-height:1.5!important}

body.siteRoute:not(.route-admin) .btn{
  min-height:36px!important;
  padding:0 13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border:1px solid #3b3d37!important;
  border-radius:6px!important;
  background:#1a1c18!important;
  color:#ddd9d3!important;
  box-shadow:none!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease!important;
}
body.siteRoute:not(.route-admin) .btn:hover{border-color:#5b665c!important;background:#20231e!important;color:#fff!important;transform:translateY(-1px)!important}
body.siteRoute:not(.route-admin) .btn.primary{border-color:#57815f!important;background:#2f5e39!important;color:#edf4ed!important}
body.siteRoute:not(.route-admin) .btn.primary:hover{border-color:#6d9b76!important;background:#376a42!important}
body.siteRoute:not(.route-admin) :is(input,select,textarea){border:1px solid #3a3c36!important;border-radius:6px!important;background:#10110e!important;color:#ece8e2!important;box-shadow:none!important}
body.siteRoute:not(.route-admin) :is(input,select,textarea):focus{border-color:#678d70!important;outline:2px solid rgba(103,141,112,.18)!important;outline-offset:1px!important}
body.siteRoute:not(.route-admin) :is(input,textarea)::placeholder{color:#686a63!important}

body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings):not(.route-login):not(.route-register):not(.route-recover) :is(.featurePanel,.paperCard,.downloadCard,.helpCard,.newsStory,.miniCard){border:1px solid var(--el-line)!important;border-radius:var(--el-radius)!important;background:#171915!important;color:var(--el-text)!important;box-shadow:none!important}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) :is(.featurePanel,.paperCard){padding:18px!important}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) :is(.featurePanel,.paperCard,.helpCard,.downloadCard) h2,
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) :is(.featurePanel,.paperCard,.helpCard,.downloadCard) h3{color:#ece8e2!important;letter-spacing:-.02em!important}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) .muted,
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) :is(.featurePanel,.paperCard,.helpCard,.downloadCard) p{color:#98958f!important}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) .contentGrid{grid-template-columns:minmax(0,1.65fr) minmax(270px,.55fr)!important;gap:14px!important;padding-top:16px!important;padding-bottom:22px!important}
body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) .contentStack{gap:10px!important}
body.siteRoute:not(.route-admin):not(.route-wiki):not(.route-rankings) .tableWrap{border:1px solid var(--el-line)!important;border-radius:var(--el-radius)!important;background:#12130f!important;box-shadow:none!important}
body.siteRoute:not(.route-admin):not(.route-wiki):not(.route-rankings) table{background:#12130f!important;color:#c5c1bb!important}
body.siteRoute:not(.route-admin):not(.route-wiki):not(.route-rankings) table thead th{padding:9px 11px!important;border-color:#363832!important;background:#1b1d19!important;color:#817f79!important;font-size:7px!important;letter-spacing:.075em!important}
body.siteRoute:not(.route-admin):not(.route-wiki):not(.route-rankings) table tbody tr{background:#12130f!important}
body.siteRoute:not(.route-admin):not(.route-wiki):not(.route-rankings) table tbody tr:nth-child(even){background:#151713!important}
body.siteRoute:not(.route-admin):not(.route-wiki):not(.route-rankings) table tbody tr:hover{background:#1b1d19!important}
body.siteRoute:not(.route-admin):not(.route-wiki):not(.route-rankings) table td{padding:10px 11px!important;border-color:#292b26!important;background:transparent!important;color:#b8b4ae!important;font-size:9px!important}

body.route-news .lightPage>.wrap{padding-top:16px!important;padding-bottom:24px!important}
body.route-news .newsList{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
body.route-news .newsStory{min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;transition:border-color .14s ease,transform .14s ease,background .14s ease!important}
body.route-news .newsStory:hover{border-color:#4a5e4d!important;background:#1a1c18!important;transform:translateY(-2px)!important}
body.route-news .newsStory img{width:100%!important;height:clamp(130px,15vw,190px)!important;object-fit:cover!important;filter:saturate(.7) contrast(1.03) brightness(.76)!important}
body.route-news .newsStoryBody{min-height:0!important;padding:15px!important;display:flex!important;flex:1 1 auto!important;flex-direction:column!important}
body.route-news .newsStoryMeta{color:#74716b!important;font-size:7px!important}
body.route-news .newsStoryMeta .kicker{padding:3px 6px!important;border:1px solid #3c553f!important;border-radius:999px!important;background:#1e3023!important;color:#99c5a1!important;font-size:6px!important}
body.route-news .newsStory h3{margin:9px 0 7px!important;color:#ebe7e1!important;font-size:18px!important;line-height:1.1!important}
body.route-news .newsStory p{margin:0!important;color:#94918b!important;font-size:9px!important;line-height:1.55!important}
body.route-news .newsStoryBody>strong{margin-top:auto!important;padding-top:13px!important;color:#83b38e!important;font-size:7px!important;letter-spacing:.05em!important;text-transform:uppercase!important}

body.route-downloads .featurePanel{padding:18px!important}
body.route-downloads .downloadIcon{width:46px!important;height:46px!important;flex:0 0 46px!important;display:grid!important;place-items:center!important;border:1px solid #354238!important;border-radius:7px!important;background:#162019!important}
body.route-downloads .downloadIcon img{max-width:34px!important;max-height:34px!important}
body.route-downloads .downloadGroupTitle{margin:12px 0 6px!important;padding:0!important;border:0!important;background:transparent!important;color:#77756f!important;font-size:7px!important;letter-spacing:.09em!important}
body.route-downloads .downloadCard{min-height:66px!important;margin:0 0 6px!important;padding:11px 12px!important;gap:12px!important}
body.route-downloads .downloadCard:hover{border-color:#485a4b!important;background:#1a1d18!important}
body.route-downloads .downloadCard strong{color:#e5e1db!important;font-size:10px!important}
body.route-downloads .downloadCard .muted{font-size:8px!important;line-height:1.35!important}
body.route-downloads .downloadCard small{color:#77746e!important;font-size:7px!important}
body.route-downloads .paperCard ol{margin:6px 0 0!important;padding-left:18px!important;color:#aaa69f!important;font-size:9px!important;line-height:1.65!important}

body.route-help .helpGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;padding-top:16px!important;padding-bottom:24px!important}
body.route-help .helpCard{min-height:0!important;padding:17px!important;display:flex!important;flex-direction:column!important}
body.route-help .helpCard:hover{border-color:#4c5f4f!important;background:#1a1d18!important}
body.route-help .helpIcon{width:38px!important;height:38px!important;margin:0 0 13px!important;display:grid!important;place-items:center!important;border:1px solid #354139!important;border-radius:7px!important;background:#151f18!important}
body.route-help .helpIcon img{max-width:26px!important;max-height:26px!important}
body.route-help .helpCard h3{margin:5px 0 7px!important;font-size:18px!important;line-height:1.1!important}
body.route-help .helpCard p{margin:0!important;font-size:9px!important;line-height:1.55!important}
body.route-help .helpCard .btn{margin-top:auto!important;padding-top:0!important}

body.route-account .accountPage{padding-top:14px!important;padding-bottom:22px!important}
body.route-account .accountQuick{margin:0 0 10px!important;gap:6px!important}
body.route-account .accountStats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin:0 0 10px!important}
body.route-account .accountStats .stat{min-height:72px!important;padding:11px 12px!important;justify-content:center!important;border:1px solid var(--el-line)!important;border-radius:7px!important;background:#171915!important;box-shadow:none!important}
body.route-account .accountStats .statNum{margin:0 0 4px!important;color:#dce7dc!important;font-size:22px!important;line-height:1!important}
body.route-account .accountStats .stat>div:last-child{color:#77746f!important;font-size:7px!important;font-weight:850!important;letter-spacing:.06em!important;text-transform:uppercase!important}
body.route-account .accountShell{grid-template-columns:minmax(0,1.7fr) minmax(280px,.55fr)!important;gap:10px!important;margin-top:0!important}
body.route-account .characterRoster,
body.route-account .accountSidebar .paperCard{border-radius:8px!important;background:#171915!important;box-shadow:none!important}
body.route-account .characterRoster{padding:16px!important}

body.route-donate .lightPage>.wrap,
body.route-support .lightPage>.wrap{padding-top:15px!important}
body.route-donate .supportHero,
body.route-support .supportHero{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)!important;gap:10px!important}
body.route-donate .supportPromiseGrid,
body.route-support .supportPromiseGrid{gap:6px!important}
body.route-donate .supportPromise,
body.route-support .supportPromise{padding:9px 10px!important;border:1px solid #334037!important;border-radius:6px!important;background:#141b16!important;color:#9fada2!important;font-size:8px!important}
body.route-donate .amountGrid,
body.route-support .amountGrid{gap:5px!important}
body.route-donate .amountChoice span,
body.route-support .amountChoice span{padding:10px 7px!important;border:1px solid #383a34!important;border-radius:6px!important;background:#12130f!important;color:#c9c5bf!important}
body.route-donate .amountChoice input:checked+span,
body.route-support .amountChoice input:checked+span{border-color:#5d8d68!important;background:#294b31!important;color:#e9f1e9!important}
body.route-donate .providerGrid,
body.route-support .providerGrid{gap:6px!important}

body:is(.route-login,.route-register,.route-recover) .authWrap{min-height:100%!important;padding:clamp(24px,5vh,56px) 0!important;background:radial-gradient(circle at 18% 20%,rgba(76,129,88,.16),transparent 26%),radial-gradient(circle at 83% 70%,rgba(90,109,76,.10),transparent 31%),#10110e!important}
body:is(.route-login,.route-register,.route-recover) .authGrid{width:min(980px,calc(100% - 32px))!important;gap:1px!important;border:1px solid #30322d!important;background:#30322d!important}
body:is(.route-login,.route-register,.route-recover) .authIntro{padding:30px!important;background:#151713!important;color:#e8e4de!important}
body:is(.route-login,.route-register,.route-recover) .authIntro img{width:170px!important;max-width:70%!important;margin-bottom:18px!important}
body:is(.route-login,.route-register,.route-recover) .authIntro h1{margin:0 0 10px!important;color:#ece8e2!important;font-size:36px!important}
body:is(.route-login,.route-register,.route-recover) .authIntro p{margin:0!important;color:#8f8c86!important;font-size:10px!important;line-height:1.55!important}
body:is(.route-login,.route-register,.route-recover) .authCard{padding:28px!important;border:0!important;border-radius:0!important;background:#181a16!important;color:#e8e4de!important;box-shadow:none!important}
body:is(.route-login,.route-register,.route-recover) .authCard h2{margin:3px 0 12px!important;color:#ece8e2!important;font-size:26px!important}
body:is(.route-login,.route-register,.route-recover) .authCard label{color:#8d8a84!important;font-size:7px!important;letter-spacing:.06em!important}
body:is(.route-login,.route-register,.route-recover) .authCard input{min-height:42px!important;margin:4px 0 10px!important}
body:is(.route-login,.route-register,.route-recover) .authCard .muted{color:#817e78!important}

body:is(.route-page,.route-pages,.route-post,.route-terms,.route-404,.route-500) .paperCard,
body:is(.route-page,.route-pages,.route-post,.route-terms,.route-404,.route-500) .featurePanel{max-width:none!important;margin:16px 0 22px!important}
body:is(.route-page,.route-pages,.route-post,.route-terms) .pageContent,
body:is(.route-page,.route-pages,.route-post,.route-terms) .prose{color:#aaa69f!important;font-size:10px!important;line-height:1.75!important}
body:is(.route-page,.route-pages,.route-post,.route-terms) :is(.pageContent,.prose) h2,
body:is(.route-page,.route-pages,.route-post,.route-terms) :is(.pageContent,.prose) h3{color:#e6e2dc!important}

body.route-home .terminalHeroActions .btn{border-radius:6px!important;box-shadow:none!important}
body.route-home .heroTelemetry{border-color:#32342e!important;background:rgba(15,17,13,.86)!important;box-shadow:none!important}
body.route-home .signalStripGrid>a{transition:background .14s ease,color .14s ease!important}
body.route-home .signalStripGrid>a:hover{background:#161813!important}

body.route-admin .adminMain{background:#11130f!important}
body.route-admin .sidebar{border-right:1px solid #30322d!important;background:#0e100d!important}
body.route-admin .sideLink{border-radius:5px!important;color:#98958f!important}
body.route-admin .sideLink:hover,
body.route-admin .sideLink.active{background:#1d2920!important;color:#dde7dd!important}
body.route-admin .adminTop,
body.route-admin .adminCard,
body.route-admin .adminPanel,
body.route-admin .cmsPanel{border-color:#30322d!important;border-radius:7px!important;background:#171915!important;box-shadow:none!important}
body.route-admin .adminTop h1,
body.route-admin .adminCard h3{color:#e9e5df!important}

@media(max-width:1180px){
  body.route-news .newsList{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.route-help .helpGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks>a{padding-inline:7px!important;font-size:7px!important}
  body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) .lightTitle .pageHeroGrid,
  body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) .contentGrid,
  body.route-account .accountShell,
  body.route-donate .supportHero,
  body.route-support .supportHero{grid-template-columns:1fr!important}
  body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) .pageHeroAside,
  body.siteRoute:not(.route-home):not(.route-admin):not(.route-wiki):not(.route-rankings) .pageHeroVisual{display:none!important}
}
@media(max-width:700px){
  :root{--el-gutter:12px}
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeInner{height:56px!important;min-height:56px!important}
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeBrand img{height:30px!important;max-width:116px!important}
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks>a:not(.active):not(.publicChromeAccount){display:none!important}
  body.siteRoute:not(.route-home):not(.route-admin) .publicChromeLinks>a.active{display:inline-flex!important}
  body.route-news .newsList,
  body.route-help .helpGrid{grid-template-columns:1fr!important}
  body.route-account .accountStats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:is(.route-login,.route-register,.route-recover) .authGrid{grid-template-columns:1fr!important}
  body:is(.route-login,.route-register,.route-recover) .authIntro{display:none!important}
  body:is(.route-login,.route-register,.route-recover) .authCard{padding:22px!important}
}
@media(max-width:480px){
  body.route-account .accountStats{grid-template-columns:1fr!important}
  body.route-news .newsStory img{height:145px!important}
}
