:root{--bg:#071012;--panel:#0b1719;--panel2:#102326;--teal:#27d8d0;--teal-soft:#7ce5db;--stone:#e9dfc8;--muted:#aeb7b3;--line:rgba(83,222,215,.28);--discord:#5865f2;--shadow:0 24px 70px rgba(0,0,0,.45)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#eef3ef;background:var(--bg);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.page-vignette{position:fixed;inset:0;z-index:-3;pointer-events:none;background:radial-gradient(circle at 50% 22%,transparent 0 35%,rgba(1,5,7,.34) 72%,rgba(1,5,7,.75) 100%)}.noise{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(20px,5vw,72px);background:linear-gradient(to bottom,rgba(3,10,13,.86),rgba(3,10,13,.35));border-bottom:1px solid transparent;transition:.3s}.site-header.is-scrolled{height:68px;background:rgba(6,15,17,.78);backdrop-filter:blur(18px);border-color:rgba(95,215,207,.16)}.brand{display:flex;align-items:center;gap:10px;font-family:Cinzel,serif;font-weight:600;letter-spacing:.05em;color:var(--stone)}.brand-logo{width:38px;height:38px;object-fit:contain}.nav{display:flex;gap:34px}
.nav-shell{display:flex;align-items:center;min-width:0}
.nav-scroll-control{display:none}
.nav a,.header-discord{font-size:.79rem;letter-spacing:.09em;text-transform:uppercase;color:#d5ddd9;position:relative}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:1px;background:var(--teal);transform:scaleX(0);transition:.25s}.nav a:hover:after{transform:scaleX(1)}.header-discord{justify-self:end;display:flex;align-items:center;gap:9px;color:var(--teal-soft)}.header-discord svg{width:22px}
.hero{min-height:980px;display:grid;place-items:start center;padding:115px 20px 180px;position:relative}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:230px;background:linear-gradient(to bottom,transparent,#071012 88%);pointer-events:none}.hero-content{position:relative;z-index:2;text-align:center;max-width:900px}.hero-logo-wrap{width:220px;height:220px;margin:0 auto -20px;position:relative;display:grid;place-items:center}.hero-logo{width:100%;height:100%;object-fit:contain;position:relative;filter:drop-shadow(0 0 24px rgba(35,218,208,.35));animation:logoFloat 5s ease-in-out infinite}.hero-logo-glow{position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(34,225,212,.28),transparent 70%);filter:blur(16px);animation:logoPulse 3.5s ease-in-out infinite}.hero h1,.section h2,.overview-card h2,.legal-card h1{font-family:Cinzel,serif}.hero h1{margin:0;font-size:clamp(4.2rem,11vw,8rem);font-weight:600;line-height:.92;letter-spacing:.055em;color:var(--stone);text-shadow:0 4px 30px rgba(0,0,0,.75)}.hero-divider{display:flex;align-items:center;justify-content:center;gap:15px;margin:24px auto 25px;color:var(--teal-soft);font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.22em;font-size:.88rem}.hero-divider span{height:1px;width:90px;background:linear-gradient(90deg,transparent,var(--teal))}.hero-divider span:last-child{background:linear-gradient(90deg,var(--teal),transparent)}.hero p{max-width:650px;margin:0 auto;color:#d7dfdb;line-height:1.7;text-shadow:0 2px 16px #000}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:540px;margin:28px auto 0}.action-card{min-height:76px;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:12px 16px;display:grid;grid-template-columns:46px 1fr auto;align-items:center;text-align:left;color:white;box-shadow:0 18px 40px rgba(0,0,0,.32);cursor:pointer;transition:.25s}.action-card:hover{transform:translateY(-3px);filter:brightness(1.08)}.discord-card{background:linear-gradient(135deg,#4e3c92,#7060c5)}.server-card{background:linear-gradient(135deg,#075f70,#0a8b94)}.action-icon{width:42px;height:42px;display:grid;place-items:center}.action-icon svg{width:37px}.hytale-mark{font-family:Cinzel,serif;font-size:2rem;font-weight:700;color:#eaf6ff;text-shadow:0 0 8px #7ce6ff}.action-copy{display:flex;flex-direction:column}.action-copy strong{font-family:Cinzel,serif;font-size:.95rem;letter-spacing:.05em}.action-copy small{margin-top:4px;color:rgba(255,255,255,.82)}.action-arrow{font-size:2rem;font-weight:300}.action-hints{max-width:540px;margin:8px auto 0;display:grid;grid-template-columns:1fr 1fr;color:#51c7c2;font-size:.76rem}
.section{position:relative;z-index:2;padding:90px clamp(20px,7vw,110px)}.overview-section{padding-top:0}.overview-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.overview-card{min-height:340px;padding:32px 26px;text-align:center;background:linear-gradient(180deg,rgba(12,28,31,.84),rgba(7,18,20,.92));border:1px solid rgba(116,213,204,.24);border-radius:10px;box-shadow:var(--shadow);transition:.3s}.overview-card:hover{transform:translateY(-7px);border-color:rgba(62,228,216,.6)}.round-icon{width:112px;height:112px;margin:0 auto 18px;border:1px solid rgba(61,227,217,.7);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(21,113,113,.35),rgba(3,20,22,.75));box-shadow:0 0 28px rgba(37,218,208,.2)}.round-icon svg{width:62px;fill:none;stroke:#85eee2;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.overview-card h2{font-size:1.45rem;color:var(--stone);text-transform:uppercase;letter-spacing:.04em}.overview-card p{color:#bfc8c4;line-height:1.7;font-size:.95rem}.overview-card a{display:inline-flex;gap:8px;margin-top:8px;color:var(--teal-soft)}
.section-title{max-width:1180px;margin:0 auto 46px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.section-title span{height:1px;background:linear-gradient(90deg,transparent,var(--line))}.section-title span:last-child{background:linear-gradient(90deg,var(--line),transparent)}.section-title h2{margin:0;color:var(--stone);font-size:clamp(1.8rem,4vw,2.7rem);font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:center}.idea-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.idea-panel{padding:28px;text-align:center;background:rgba(7,18,20,.65);border-top:1px solid rgba(61,227,217,.35)}.idea-panel svg,.value svg{width:66px;height:66px;fill:none;stroke:#8cecdf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px rgba(34,223,211,.25))}.idea-panel h3,.quicksteps h3,.value h3{font-family:Cinzel,serif;color:var(--stone);text-transform:uppercase;letter-spacing:.035em}.idea-panel p,.quicksteps p,.value p{color:#aeb8b4;line-height:1.65}
.quickstart-section{background:transparent}.quicksteps{max-width:1080px;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,1fr);list-style:none}.quicksteps li{position:relative;text-align:center;padding:0 35px}.quicksteps li:not(:last-child):after{content:"";position:absolute;top:58px;right:-1px;width:1px;height:76px;background:linear-gradient(transparent,var(--line),transparent)}.step-icon{width:98px;height:98px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(43,226,214,.75);background:radial-gradient(circle,rgba(15,117,112,.3),rgba(3,18,20,.7));box-shadow:0 0 24px rgba(34,221,209,.12)}.step-icon svg{width:58px;fill:none;stroke:#7bf0e1;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.quicksteps h3{font-size:1.05rem}.quicksteps p{font-size:.9rem}
.values-grid{max-width:1260px;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:28px}.value{text-align:center}.value svg{width:58px;height:58px}.value h3{font-size:.9rem}.value p{font-size:.82rem;line-height:1.55}.cta-panel{max-width:1040px;margin:0 auto;padding:38px 44px;border:1px solid rgba(76,226,214,.25);background:linear-gradient(135deg,rgba(12,31,33,.9),rgba(7,16,19,.96));display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow)}.eyebrow{color:var(--teal);text-transform:uppercase;letter-spacing:.13em;font-size:.78rem}.cta-panel h2{margin:.6rem 0;font-size:clamp(2rem,4vw,3rem);color:var(--stone)}.cta-panel p{margin:0;color:#aeb8b4}.cta-button{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,#504095,#7062ca);padding:18px 22px;border-radius:9px;font-family:Cinzel,serif;white-space:nowrap;box-shadow:0 16px 35px rgba(47,34,95,.35)}.cta-button b{font-size:1.4rem}
.faq-list{max-width:900px;margin:0 auto}.faq-list details{border-bottom:1px solid rgba(88,211,201,.2);background:rgba(8,20,22,.55)}.faq-list summary{cursor:pointer;list-style:none;padding:22px 24px;display:flex;justify-content:space-between;font-family:Cinzel,serif;color:var(--stone)}.faq-list summary::-webkit-details-marker{display:none}.faq-list p{padding:0 24px 24px;margin:0;color:#aeb8b4;line-height:1.7}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list summary span{transition:.2s;font-size:2rem;line-height:1;width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;margin-left:20px}
.footer{position:relative;z-index:2;border-top:1px solid rgba(82,213,202,.16);padding:28px clamp(20px,6vw,90px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;background:#050d0f;color:#9ea9a5}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:56px;height:56px;object-fit:contain}.footer-brand strong{display:block;font-family:Cinzel,serif;color:var(--stone)}.footer-brand span,.footer small{font-size:.72rem}.footer p{text-align:center;line-height:1.5}.footer nav{justify-self:end;display:flex;gap:24px}.footer nav a:hover{color:var(--teal)}.toast{position:fixed;right:24px;bottom:24px;z-index:60;padding:13px 18px;border:1px solid rgba(64,224,212,.35);background:rgba(8,24,26,.9);backdrop-filter:blur(12px);border-radius:8px;transform:translateY(120px);opacity:0;transition:.3s}.toast.show{transform:none;opacity:1}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@keyframes logoFloat{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-10px) rotate(.5deg)}}@keyframes logoPulse{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
.legal-page{background:#071012}.legal-page:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(rgba(3,10,13,.82),#071012),url('../images/hytale-hero.jpeg') center top/cover no-repeat}.legal-header{background:rgba(6,15,17,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(95,215,207,.16)}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.button-small{padding:10px 14px}.button-ghost{background:rgba(8,23,25,.72);backdrop-filter:blur(14px);border:1px solid rgba(89,216,205,.25)}.legal-shell{padding:130px 20px 80px}.legal-card{max-width:880px;margin:0 auto;padding:46px;background:rgba(7,19,21,.9);border:1px solid rgba(86,217,206,.22);box-shadow:var(--shadow)}.legal-card h1{font-size:clamp(2.4rem,7vw,3.8rem);font-weight:600;color:var(--stone);letter-spacing:.04em;text-align:center;line-height:1.05}.legal-card h2{font-family:Cinzel,serif;color:var(--stone);font-size:1.15rem;margin-top:2rem}.legal-card p{color:#b8c2be;line-height:1.8}.legal-card a{color:var(--teal-soft)}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.nav{display:none}.hero{min-height:900px}.hero-logo-wrap{width:180px;height:180px}.overview-grid,.idea-grid{grid-template-columns:1fr}.quicksteps{grid-template-columns:1fr;gap:48px}.quicksteps li:not(:last-child):after{display:none}.values-grid{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}.footer nav{justify-self:center}.cta-panel{flex-direction:column;text-align:center}.header-discord span{display:none}}
@media(max-width:600px){.site-header{height:66px;padding:0 16px}.brand span{display:none}.hero{padding-top:90px;min-height:860px}.hero-logo-wrap{width:150px;height:150px}.hero h1{font-size:3.45rem}.hero-divider{font-size:.66rem;letter-spacing:.13em;gap:8px}.hero-divider span{width:36px}.hero-actions{grid-template-columns:1fr;max-width:330px}.action-hints{display:none}.section{padding:70px 18px}.overview-card{min-height:unset}.values-grid{grid-template-columns:1fr 1fr;gap:38px 18px}.section-title{gap:12px}.section-title h2{font-size:1.35rem}.cta-panel{padding:30px 22px}.legal-card{padding:28px 22px}}



.page-vignette{background:radial-gradient(circle at 55% 23%,transparent 0 27%,rgba(1,5,7,.18) 56%,rgba(1,5,7,.68) 100%),linear-gradient(to bottom,transparent 0 65%,rgba(7,16,18,.62) 84%,#071012 100%)}
.hero{min-height:930px;place-items:center;padding:130px clamp(20px,6vw,90px) 220px}.hero:after{height:390px;background:linear-gradient(to bottom,transparent 0%,rgba(7,16,18,.24) 30%,rgba(7,16,18,.72) 70%,#071012 100%)}
.hero-layout{width:min(1240px,100%);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:clamp(40px,7vw,110px);position:relative;z-index:2}.hero-content{text-align:left;max-width:720px}.hero-content h1{font-size:clamp(4.5rem,9vw,7.5rem)}.hero-content p{margin-left:0}.hero-divider{justify-content:flex-start}.hero-actions{margin-left:0;max-width:620px}.action-hints{margin-left:0;max-width:620px;text-align:center}
.hero-emblem{position:relative;min-height:520px;display:grid;place-items:center}.hero-emblem .hero-logo{width:min(480px,100%);height:auto;animation:logoFloat 5s ease-in-out infinite;filter:drop-shadow(0 0 42px rgba(35,218,208,.28)) drop-shadow(0 22px 45px rgba(0,0,0,.68))}.hero-emblem .hero-logo-glow{width:360px;height:360px;background:radial-gradient(circle,rgba(34,225,212,.24),rgba(34,225,212,.08) 38%,transparent 72%);filter:blur(28px)}
.action-card{position:relative;overflow:hidden;min-height:82px;border-color:rgba(255,255,255,.22);background:rgba(17,36,42,.36)!important;backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 20px 45px rgba(0,0,0,.34);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.action-card:before{content:"";position:absolute;inset:0;opacity:.72;pointer-events:none}.discord-card:before{background:linear-gradient(135deg,rgba(88,101,242,.68),rgba(116,89,185,.34) 60%,rgba(255,255,255,.04))}.server-card:before{background:linear-gradient(135deg,rgba(4,124,151,.66),rgba(18,188,189,.28) 62%,rgba(255,255,255,.04))}.action-card:after{content:"";position:absolute;top:-80%;left:-35%;width:28%;height:260%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transition:left .65s ease}.action-card:hover:after{left:120%}.action-card:hover{transform:translateY(-5px) scale(1.015);border-color:rgba(164,249,241,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 24px 58px rgba(0,0,0,.42),0 0 28px rgba(39,216,208,.13)}.action-card>*{position:relative;z-index:1}.action-icon{width:52px;height:52px}.action-icon img{display:block;width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,255,255,.25));transition:transform .35s ease,filter .35s ease}.server-card .action-icon img{width:40px;height:50px}.action-card:hover .action-icon img{transform:translateY(-2px) scale(1.08);filter:none!important;}
.round-icon,.step-icon{position:relative;overflow:visible;background:radial-gradient(circle,rgba(20,145,139,.26),rgba(4,19,22,.26) 58%,transparent 72%);border-color:rgba(69,236,225,.58);box-shadow:0 0 0 1px rgba(105,245,235,.04),0 0 32px rgba(31,221,209,.24),inset 0 0 25px rgba(30,174,169,.12);animation:iconBreathe 4.8s ease-in-out infinite}.round-icon:before,.step-icon:before{content:"";position:absolute;inset:-14px;border-radius:50%;background:radial-gradient(circle,rgba(45,230,215,.17),transparent 66%);filter:blur(10px);z-index:-1}.round-icon svg,.step-icon svg,.idea-panel svg,.value svg{filter:drop-shadow(0 0 8px rgba(117,255,241,.55)) drop-shadow(0 0 18px rgba(37,223,211,.22))}.overview-card:hover .round-icon,.quicksteps li:hover .step-icon{transform:translateY(-4px) scale(1.035)}
@keyframes iconBreathe{0%,100%{box-shadow:0 0 0 1px rgba(105,245,235,.04),0 0 26px rgba(31,221,209,.18),inset 0 0 22px rgba(30,174,169,.1)}50%{box-shadow:0 0 0 1px rgba(105,245,235,.08),0 0 42px rgba(31,221,209,.3),inset 0 0 30px rgba(30,174,169,.17)}}

.legal-header{grid-template-columns:1fr auto 1fr}.legal-header .brand{justify-self:start}.legal-home{justify-self:center;min-width:150px;background:rgba(8,23,25,.72);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);border:1px solid rgba(89,216,205,.3);box-shadow:0 10px 30px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08)}.legal-header:after{content:""}.legal-header .brand-logo{width:42px;height:42px;object-fit:contain}.legal-card{border-radius:12px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}

@media(max-width:900px){.hero-layout{grid-template-columns:1fr}.hero-content{text-align:center;max-width:850px}.hero-content p{margin-left:auto}.hero-divider{justify-content:center}.hero-actions,.action-hints{margin-left:auto}.hero-emblem{order:-1;min-height:230px}.hero-emblem .hero-logo{width:230px}.hero-emblem .hero-logo-glow{width:190px;height:190px}.hero{padding-top:100px;min-height:980px}.legal-header{grid-template-columns:1fr auto}.legal-header .legal-home{justify-self:end}.legal-header:after{display:none}}
@media(max-width:600px){.hero-emblem{min-height:180px}.hero-emblem .hero-logo{width:175px}.hero-content h1{font-size:3.35rem}.hero-layout{gap:15px}.action-card{min-height:76px}.legal-header .brand-text{display:none}.legal-home{min-width:auto;padding:10px 12px;font-size:.82rem}}



.page-vignette{
  background:
    radial-gradient(circle at 55% 23%,transparent 0 27%,rgba(1,5,7,.18) 56%,rgba(1,5,7,.68) 100%),
    linear-gradient(to bottom,transparent 0 62%,rgba(7,16,18,.38) 78%,#071012 100%);
}
.hero:after{display:none}

.action-card{
  grid-template-columns:60px minmax(0,1fr) 24px;
  column-gap:14px;
  padding:12px 18px;
}
.action-icon{width:52px;height:52px;flex:0 0 52px}
.action-copy{min-width:0;padding-left:2px}
.action-copy strong,.action-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.server-card .action-icon img{
  width:54px;
  height:42px;
  object-fit:contain;
  object-position:center;
}
.cta-discord-card{width:min(300px,100%);flex:0 0 auto}
.cta-panel .action-card{margin-left:auto}

.scroll-nav{
  position:fixed;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  z-index:35;
  display:flex;
  flex-direction:column;
  gap:15px;
  padding:13px 10px;
  border:1px solid rgba(97,220,211,.16);
  border-radius:999px;
  background:rgba(6,18,20,.36);
  backdrop-filter:blur(16px) saturate(130%);
  -webkit-backdrop-filter:blur(16px) saturate(130%);
  box-shadow:0 12px 34px rgba(0,0,0,.25);
}
.scroll-nav a{position:relative;width:16px;height:16px;display:grid;place-items:center}
.scroll-nav a span{
  width:7px;height:7px;
  transform:rotate(45deg);
  border:1px solid rgba(128,235,225,.62);
  background:rgba(9,35,37,.72);
  transition:.25s ease;
}
.scroll-nav a:hover span,.scroll-nav a.active span{
  width:10px;height:10px;
  background:var(--teal);
  border-color:#b9fff7;
  box-shadow:0 0 14px rgba(39,216,208,.8);
}
.scroll-nav a:after{
  content:attr(aria-label);
  position:absolute;
  right:27px;
  top:50%;
  transform:translateY(-50%) translateX(5px);
  padding:5px 8px;
  border:1px solid rgba(91,220,211,.18);
  border-radius:6px;
  background:rgba(5,18,20,.82);
  backdrop-filter:blur(12px);
  color:#dce8e4;
  font-size:.68rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:0;
  pointer-events:none;
  transition:.2s;
  white-space:nowrap;
}
.scroll-nav a:hover:after,.scroll-nav a.is-announcing:after{opacity:1;transform:translateY(-50%) translateX(0)}

.legal-header{grid-template-columns:1fr 1fr}
.legal-home{
  position:fixed;
  top:16px;
  left:50%;
  transform:translateX(-50%);
  z-index:55;
  justify-self:auto;
  min-width:150px;
  background:rgba(8,23,25,.72);
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  border:1px solid rgba(89,216,205,.3);
  box-shadow:0 10px 30px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08);
}
.legal-home:hover{background:rgba(12,36,39,.88);border-color:rgba(111,236,225,.55)}

@media(max-width:900px){
  .scroll-nav{display:none}
  .cta-panel .action-card{margin-left:0}
  .legal-header{grid-template-columns:1fr}
  .legal-home{top:13px}
}
@media(max-width:600px){
  .action-card{grid-template-columns:54px minmax(0,1fr) 22px;column-gap:10px;padding:11px 14px}
  .server-card .action-icon img{width:48px;height:38px}
  .legal-home{font-size:.78rem;min-width:132px;padding:9px 11px}
}



.action-icon img,
.action-card:hover .action-icon img{
  filter:none !important;
  box-shadow:none !important;
}

.hero-logo-rings{
  position:absolute;
  left:50%;
  top:50%;
  width:min(430px,92%);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:0;
}
.hero-logo-rings span{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid rgba(91,231,220,.22);
  box-shadow:0 0 24px rgba(39,216,208,.07),inset 0 0 18px rgba(39,216,208,.04);
}
.hero-logo-rings span:before,
.hero-logo-rings span:after{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  border:1px solid rgba(160,255,247,.75);
  background:rgba(17,73,74,.72);
  transform:rotate(45deg);
  box-shadow:0 0 12px rgba(39,216,208,.7);
}
.hero-logo-rings span:before{top:-4px;left:50%;margin-left:-4px}
.hero-logo-rings span:after{bottom:-4px;left:50%;margin-left:-4px}
.hero-logo-rings span:nth-child(1){animation:logoRingRotate 22s linear infinite}
.hero-logo-rings span:nth-child(2){inset:12%;border-style:dashed;border-color:rgba(124,229,219,.17);animation:logoRingRotateReverse 16s linear infinite}
.hero-logo-rings span:nth-child(3){inset:24%;border-color:rgba(124,229,219,.14);animation:logoRingPulse 4.5s ease-in-out infinite}
.hero-emblem .hero-logo{z-index:2}
.hero-emblem .hero-logo-glow{z-index:0}
@keyframes logoRingRotate{to{transform:rotate(360deg)}}
@keyframes logoRingRotateReverse{to{transform:rotate(-360deg)}}
@keyframes logoRingPulse{0%,100%{opacity:.35;transform:scale(.96)}50%{opacity:.85;transform:scale(1.04)}}
@media(max-width:900px){.hero-logo-rings{width:250px}}
@media(max-width:600px){.hero-logo-rings{width:195px}}



.hero-actions{grid-template-columns:repeat(3,minmax(0,1fr));max-width:880px}
.action-hints{grid-template-columns:repeat(3,minmax(0,1fr));max-width:880px}
.mods-card:before{background:linear-gradient(135deg,rgba(240,90,40,.72),rgba(255,151,66,.28) 62%,rgba(255,255,255,.04))}
.mods-card .action-icon img{width:45px;height:45px;border-radius:9px}

.mods-shell{position:relative;z-index:2;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:145px 0 90px}
.mods-intro{text-align:center;max-width:820px;margin:0 auto 54px}
.mods-intro .eyebrow{justify-content:center}
.mods-intro h1{margin:16px 0 18px;font-family:Cinzel,serif;font-size:clamp(2.7rem,7vw,5.2rem);font-weight:600;line-height:1;color:var(--stone);letter-spacing:.035em;text-shadow:0 12px 40px rgba(0,0,0,.5)}
.mods-intro>p{max-width:720px;margin:0 auto;color:#c5cfcb;line-height:1.75;font-size:1.02rem}
.mods-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:25px}
.mods-meta span,.mod-tags span{border:1px solid rgba(101,225,215,.2);background:rgba(8,28,30,.62);border-radius:999px;color:#93dcd5;font-size:.72rem;letter-spacing:.055em;text-transform:uppercase}
.mods-meta span{padding:8px 12px}
.mods-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.mod-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:680px;border:1px solid rgba(91,220,211,.2);border-radius:16px;background:linear-gradient(160deg,rgba(12,31,34,.94),rgba(5,16,19,.96));box-shadow:0 28px 75px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.05);transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease}
.mod-card:hover{transform:translateY(-6px);border-color:rgba(104,238,226,.44);box-shadow:0 34px 85px rgba(0,0,0,.5),0 0 35px rgba(39,216,208,.09),inset 0 1px 0 rgba(255,255,255,.08)}
.mod-art{height:270px;position:relative;overflow:hidden;border-bottom:1px solid rgba(94,223,212,.15);background:radial-gradient(circle at 50% 45%,rgba(39,216,208,.2),transparent 45%),linear-gradient(145deg,#0a2428,#071316)}
.mod-art:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 45%,rgba(4,14,17,.72)),repeating-linear-gradient(90deg,transparent 0 42px,rgba(111,233,222,.025) 43px 44px)}
.mod-content{display:flex;flex-direction:column;flex:1;padding:30px 32px 32px}
.mod-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}
.mod-type{color:#7ce5db;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}
.mod-status{padding:5px 9px;border-radius:999px;border:1px solid rgba(255,159,83,.3);background:rgba(240,90,40,.12);color:#ffad76;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.mod-card h2{margin:0;font-family:Cinzel,serif;font-size:2rem;color:var(--stone);letter-spacing:.025em}
.mod-author{margin:7px 0 17px!important;color:#78938f!important;font-size:.84rem}
.mod-content>p{color:#b9c4c0;line-height:1.7;margin:0}
.mod-features{display:grid;gap:9px;margin:22px 0 23px;padding:0;list-style:none;color:#cbd4d0;font-size:.9rem}
.mod-features li{position:relative;padding-left:21px}
.mod-features li:before{content:"";position:absolute;left:2px;top:.5em;width:7px;height:7px;transform:translateY(-50%) rotate(45deg);border:1px solid var(--teal-soft);box-shadow:0 0 9px rgba(39,216,208,.55)}
.mod-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.mod-tags span{padding:6px 9px;font-size:.64rem}
.curseforge-link{margin-top:auto;min-height:58px;padding:10px 14px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;border:1px solid rgba(255,141,69,.28);border-radius:10px;background:linear-gradient(135deg,rgba(240,90,40,.16),rgba(255,151,66,.06));color:#f7ded0;font-size:.88rem;font-weight:600;transition:.25s ease}
.curseforge-link img{width:36px;height:36px;border-radius:7px}
.curseforge-link b{font-size:1.15rem;color:#ff9a5c;transition:transform .25s ease}
.curseforge-link:hover{transform:translateY(-2px);border-color:rgba(255,155,89,.55);background:linear-gradient(135deg,rgba(240,90,40,.25),rgba(255,151,66,.1));box-shadow:0 14px 30px rgba(0,0,0,.25)}
.curseforge-link:hover b{transform:translate(2px,-2px)}
.mods-note{margin:28px auto 0;padding:17px 20px;border-left:2px solid rgba(39,216,208,.58);background:rgba(7,24,27,.62);color:#99aaa6;font-size:.85rem;line-height:1.65}
.mods-note strong{color:#cbe3de}

.hud-frame{position:absolute;z-index:1;left:50%;top:50%;width:260px;height:148px;transform:translate(-50%,-50%) perspective(600px) rotateX(4deg) rotateY(-8deg);border:1px solid rgba(132,255,244,.7);border-radius:8px;background:linear-gradient(135deg,rgba(30,126,126,.22),rgba(4,24,28,.78));box-shadow:0 0 40px rgba(39,216,208,.24),inset 0 0 32px rgba(39,216,208,.08)}
.hud-frame:before,.hud-frame:after{content:"";position:absolute;width:18px;height:18px;border-color:#9bfff7}.hud-frame:before{left:-1px;top:-1px;border-left:3px solid;border-top:3px solid}.hud-frame:after{right:-1px;bottom:-1px;border-right:3px solid;border-bottom:3px solid}
.hud-title{position:absolute;left:22px;top:20px;color:#a7fff7;font:600 .72rem Cinzel,serif;letter-spacing:.2em}
.hud-line{position:absolute;left:22px;top:69px;width:112px;height:7px;border-radius:8px;background:rgba(126,241,232,.32);box-shadow:0 0 10px rgba(39,216,208,.2)}
.hud-line-wide{top:49px;width:184px}.hud-line-short{top:89px;width:76px}
.hud-frame i{position:absolute;right:25px;bottom:23px;width:42px;height:42px;border:1px solid rgba(168,255,247,.64);transform:rotate(45deg);box-shadow:0 0 20px rgba(39,216,208,.3)}
.scan-ring{position:absolute;z-index:1;left:50%;top:50%;width:330px;height:330px;transform:translate(-50%,-50%);border:1px dashed rgba(124,229,219,.2);border-radius:50%;animation:logoRingRotate 18s linear infinite}

.mod-card-magnet .mod-art{background:radial-gradient(circle at 50% 48%,rgba(240,90,40,.18),transparent 42%),linear-gradient(145deg,#261815,#101718)}
.magnet-shape{position:absolute;z-index:2;left:50%;top:51%;width:105px;height:128px;transform:translate(-50%,-50%) rotate(8deg);border:24px solid #d84d33;border-top:0;border-radius:0 0 54px 54px;filter:drop-shadow(0 0 22px rgba(240,90,40,.45))}
.magnet-shape:before,.magnet-shape:after{content:"";position:absolute;top:-3px;width:25px;height:35px;background:#d9ddd9;border-radius:4px 4px 1px 1px}
.magnet-shape:before{left:-24px}.magnet-shape:after{right:-24px}
.magnet-shape span{position:absolute;left:8px;right:8px;bottom:14px;height:8px;border-radius:8px;background:rgba(255,185,145,.45)}
.item{position:absolute;z-index:1;width:17px;height:17px;transform:rotate(45deg);border:2px solid rgba(255,225,191,.85);background:rgba(255,151,66,.38);box-shadow:0 0 14px rgba(255,141,69,.45)}
.item-a{left:18%;top:37%}.item-b{right:18%;top:31%;width:13px;height:13px}.item-c{right:22%;bottom:23%;width:20px;height:20px}
.magnet-field{position:absolute;z-index:1;left:50%;top:50%;border:1px solid rgba(255,143,75,.25);border-radius:50%;transform:translate(-50%,-50%)}
.field-one{width:245px;height:160px}.field-two{width:350px;height:230px;border-style:dashed}

@media(max-width:1050px){.hero-actions,.action-hints{max-width:720px}.action-copy strong{font-size:.84rem}.action-copy small{font-size:.7rem}}
@media(max-width:900px){.hero-actions{grid-template-columns:1fr 1fr;max-width:620px}.action-hints{display:none}.mods-grid{grid-template-columns:1fr}.mod-card{min-height:0}.mods-shell{padding-top:125px}.mod-art{height:250px}}
@media(max-width:600px){.hero-actions{grid-template-columns:1fr;max-width:340px}.mods-shell{width:min(100% - 28px,1180px);padding-top:110px}.mods-intro{margin-bottom:34px}.mods-intro h1{font-size:2.55rem}.mods-meta{gap:7px}.mods-meta span{font-size:.63rem;padding:7px 9px}.mod-content{padding:25px 21px 24px}.mod-card h2{font-size:1.65rem}.mod-art{height:220px}.hud-frame{width:220px;height:128px}.scan-ring{width:270px;height:270px}.footer nav{gap:16px;flex-wrap:wrap;justify-content:center}}


.hero-action-panel{width:min(660px,100%);margin:30px 0 0}
.hero-action-panel .action-card-primary{width:100%;min-height:92px;grid-template-columns:64px minmax(0,1fr) 30px;padding:15px 22px}
.hero-action-panel .action-card-primary .action-icon{width:58px;height:58px}
.hero-action-panel .action-card-primary .action-icon img{width:50px;height:50px}
.hero-action-panel .action-card-primary .action-copy strong{font-size:1.08rem}
.hero-action-panel .action-card-primary .action-copy small{font-size:.78rem}
.hero-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:13px}
.hero-action-grid .action-card{min-width:0;min-height:84px;grid-template-columns:52px minmax(0,1fr) 22px;column-gap:10px;padding:12px 14px}
.hero-action-grid .action-copy{min-width:0}
.hero-action-grid .action-copy strong,.hero-action-grid .action-copy small{white-space:normal;overflow-wrap:anywhere}
.hero-action-grid .action-copy strong{font-size:.88rem;line-height:1.2}
.hero-action-grid .action-copy small{font-size:.7rem;line-height:1.35}
.action-icon-symbol{border:1px solid rgba(174,255,246,.38);border-radius:50%;font-family:Cinzel,serif;font-size:1.65rem;color:#b9fff8;background:rgba(11,66,69,.38);box-shadow:inset 0 0 18px rgba(39,216,208,.08)}
.faq-card:before{background:linear-gradient(135deg,rgba(30,142,135,.65),rgba(54,197,183,.25) 62%,rgba(255,255,255,.04))}
.roadmap-card:before{background:linear-gradient(135deg,rgba(112,87,48,.7),rgba(182,143,69,.25) 62%,rgba(255,255,255,.04))}

.roadmap-track{position:relative;max-width:980px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.roadmap-track:before{content:"";position:absolute;left:7%;right:7%;top:31px;height:1px;background:linear-gradient(90deg,rgba(39,216,208,.25),rgba(39,216,208,.65),rgba(193,154,78,.42));z-index:0}
.roadmap-item{position:relative;z-index:1;padding:0 8px;text-align:center}
.roadmap-marker{width:62px;height:62px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(193,154,78,.42);background:linear-gradient(145deg,rgba(29,37,34,.96),rgba(8,18,20,.98));color:#d6ba7a;font-family:Cinzel,serif;font-size:1.4rem;box-shadow:0 14px 30px rgba(0,0,0,.3),inset 0 0 18px rgba(193,154,78,.08)}
.roadmap-item.is-done .roadmap-marker{border-color:rgba(84,229,216,.54);color:#91eee5;box-shadow:0 0 25px rgba(39,216,208,.12),inset 0 0 18px rgba(39,216,208,.08)}
.roadmap-item small,.faq-group header small,.faq-cta small{color:#5ed5cd;text-transform:uppercase;letter-spacing:.13em;font-size:.66rem}
.roadmap-item h3{margin:7px 0 10px;font-family:Cinzel,serif;color:var(--stone);font-size:1rem;line-height:1.35}
.roadmap-item p{margin:0;color:#91a09c;font-size:.82rem;line-height:1.6}

.faq-groups{max-width:980px;margin:0 auto;display:grid;gap:24px}
.faq-group{overflow:hidden;border:1px solid rgba(88,211,201,.17);border-radius:14px;background:linear-gradient(155deg,rgba(11,29,31,.82),rgba(6,17,19,.9));box-shadow:0 22px 55px rgba(0,0,0,.25)}
.faq-group>header{display:flex;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid rgba(88,211,201,.14);background:linear-gradient(90deg,rgba(35,126,122,.12),transparent)}
.faq-group>header>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(104,230,220,.3);border-radius:50%;color:#9af4ec;font-size:1.25rem;background:rgba(12,63,65,.35)}
.faq-group header h3{margin:4px 0 0;font-family:Cinzel,serif;color:var(--stone);font-size:1.1rem}
.faq-group .faq-list{max-width:none}
.faq-group .faq-list details{background:transparent}
.faq-group .faq-list details:last-child{border-bottom:0}
.faq-group .faq-list summary{align-items:center;gap:18px;font-family:Inter,sans-serif;font-weight:600;color:#dbe2df}
.faq-group .faq-list summary span{font-family:Inter,sans-serif;font-weight:300;font-size:2.35rem}
.faq-group .faq-list p a{color:#78e2d9;text-decoration:underline;text-underline-offset:3px}
.faq-cta{max-width:980px;margin:26px auto 0;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(88,211,201,.2);border-radius:14px;background:linear-gradient(135deg,rgba(26,91,91,.26),rgba(8,20,22,.74));box-shadow:0 20px 50px rgba(0,0,0,.23)}
.faq-cta h3{margin:5px 0 0;font-family:Cinzel,serif;color:var(--stone);font-size:1.25rem}
.faq-discord-link{display:inline-flex;align-items:center;gap:14px;flex:0 0 auto;padding:13px 18px;border:1px solid rgba(125,237,228,.35);border-radius:9px;background:rgba(26,103,104,.34);color:#dffdf9;font-size:.84rem;font-weight:600;transition:.25s ease}
.faq-discord-link:hover{transform:translateY(-2px);border-color:rgba(143,248,238,.62);box-shadow:0 12px 28px rgba(0,0,0,.25),0 0 20px rgba(39,216,208,.08)}

@media(max-width:1050px){
  .hero-action-panel{margin-left:auto;margin-right:auto}
  .roadmap-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 18px}
  .roadmap-track:before{display:none}
}
@media(max-width:650px){
  .hero-action-panel{max-width:360px}
  .hero-action-grid{grid-template-columns:1fr}
  .hero-action-panel .action-card-primary{min-height:84px;grid-template-columns:54px minmax(0,1fr) 22px;padding:12px 14px}
  .hero-action-panel .action-card-primary .action-icon{width:48px;height:48px}
  .hero-action-panel .action-card-primary .action-icon img{width:42px;height:42px}
  .hero-action-panel .action-card-primary .action-copy strong{font-size:.92rem}
  .hero-action-panel .action-card-primary .action-copy small{font-size:.7rem}
  .roadmap-track{grid-template-columns:1fr;gap:28px}
  .roadmap-item{max-width:330px;margin:0 auto}
  .faq-group>header{padding:17px 18px}
  .faq-group .faq-list summary{padding:19px 18px;font-size:.9rem}
  .faq-group .faq-list p{padding:0 18px 20px;font-size:.88rem}
  .faq-cta{align-items:flex-start;flex-direction:column;padding:22px 20px}
  .faq-discord-link{width:100%;justify-content:space-between}
}


.faq-card:before,
.roadmap-card:before{
  background:linear-gradient(135deg,rgba(73,82,88,.78),rgba(111,121,126,.28) 62%,rgba(255,255,255,.035));
}
.faq-card,
.roadmap-card{
  border-color:rgba(197,207,210,.2);
}
.faq-card .action-icon-symbol,
.roadmap-card .action-icon-symbol{
  border-color:rgba(222,229,231,.28);
  color:#e4e9e8;
  background:rgba(70,80,84,.42);
  box-shadow:inset 0 0 18px rgba(255,255,255,.035);
}
.faq-card:hover,
.roadmap-card:hover{
  border-color:rgba(225,232,233,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 24px 58px rgba(0,0,0,.42),0 0 24px rgba(185,197,200,.08);
}
.mods-card .action-icon img{
  border-radius:0;
  width:46px;
  height:46px;
}
.curseforge-link img{
  border-radius:0;
  object-fit:contain;
}



.hero-title-block{
  display:flex;
  width:fit-content;
  flex-direction:column;
  align-items:center;
}
.hero-title-block .hero-divider{
  width:100%;
  justify-content:center;
}
@media(max-width:900px){
  .hero-title-block{margin-left:auto;margin-right:auto}
}


.mod-card-gliders .mod-art{background:radial-gradient(circle at 50% 40%,rgba(116,210,255,.23),transparent 43%),linear-gradient(150deg,#142838,#08151d)}
.glider-wing{position:absolute;z-index:2;top:70px;width:150px;height:92px;border:2px solid rgba(177,231,255,.72);background:linear-gradient(145deg,rgba(74,168,202,.42),rgba(9,35,49,.78));filter:drop-shadow(0 0 18px rgba(88,194,235,.32))}
.wing-left{left:50%;transform:translateX(-98%) skewY(-18deg);clip-path:polygon(0 25%,100% 0,83% 100%,20% 76%)}
.wing-right{right:50%;transform:translateX(98%) skewY(18deg);clip-path:polygon(0 0,100% 25%,80% 76%,17% 100%)}
.glider-core{position:absolute;z-index:3;left:50%;top:73px;width:22px;height:110px;transform:translateX(-50%);border-radius:50% 50% 30% 30%;background:linear-gradient(#daf7ff,#3d91ad 38%,#123747);box-shadow:0 0 22px rgba(109,213,248,.45)}
.air-line{position:absolute;z-index:1;height:1px;background:linear-gradient(90deg,transparent,rgba(165,230,255,.58),transparent);transform:rotate(-8deg)}
.air-one{left:7%;right:7%;top:47px}.air-two{left:18%;right:10%;top:188px}.air-three{left:5%;right:27%;top:218px}

.mod-card-teleporter .mod-art{background:radial-gradient(circle at 50% 50%,rgba(155,94,255,.28),transparent 43%),linear-gradient(145deg,#211637,#091522)}
.portal-ring{position:absolute;z-index:2;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 28px rgba(164,101,255,.35),inset 0 0 24px rgba(94,225,234,.16)}
.portal-outer{width:174px;height:174px;border:10px solid rgba(177,128,255,.78);outline:1px solid rgba(91,231,225,.42);animation:logoRingRotate 16s linear infinite}
.portal-inner{width:116px;height:116px;border:2px dashed rgba(118,241,230,.72);animation:logoRingRotate 9s linear reverse infinite}
.portal-rune{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);font:700 3.7rem Cinzel,serif;color:#c9fff9;text-shadow:0 0 24px rgba(119,241,230,.65)}
.portal-spark{position:absolute;z-index:3;width:8px;height:8px;transform:rotate(45deg);background:#b6fff7;box-shadow:0 0 14px #8df7ec}.spark-a{left:26%;top:30%}.spark-b{right:25%;top:37%}.spark-c{right:31%;bottom:23%}

.mod-card-overstacked .mod-art{background:radial-gradient(circle at 50% 48%,rgba(226,177,75,.22),transparent 44%),linear-gradient(145deg,#292313,#111b19)}
.stack-cube{position:absolute;z-index:2;width:88px;height:76px;border:2px solid rgba(255,225,145,.66);background:linear-gradient(145deg,rgba(203,151,55,.62),rgba(75,49,17,.88));clip-path:polygon(50% 0,100% 22%,100% 76%,50% 100%,0 76%,0 22%);filter:drop-shadow(0 0 15px rgba(221,169,66,.25))}
.cube-one{left:50%;top:49%;transform:translate(-50%,-50%);z-index:4}.cube-two{left:32%;top:54%;transform:translate(-50%,-50%) scale(.86);opacity:.72}.cube-three{left:68%;top:54%;transform:translate(-50%,-50%) scale(.86);opacity:.72}.stack-cube span{position:absolute;inset:0;display:grid;place-items:center;color:#fff0bd;font:700 1.1rem Cinzel,serif}.stack-arrow{position:absolute;z-index:5;left:50%;top:18px;transform:translateX(-50%);color:#ffe391;font-size:3rem;text-shadow:0 0 18px rgba(255,210,90,.55)}

.mod-card-rpg .mod-art{background:radial-gradient(circle at 50% 44%,rgba(215,75,89,.23),transparent 42%),linear-gradient(145deg,#2c151b,#111523)}
.rpg-emblem{position:absolute;z-index:2;left:50%;top:42%;width:132px;height:132px;transform:translate(-50%,-50%) rotate(45deg);display:grid;place-items:center;border:2px solid rgba(255,194,124,.72);background:linear-gradient(145deg,rgba(134,43,58,.85),rgba(37,20,35,.92));box-shadow:0 0 30px rgba(224,77,94,.25),inset 0 0 22px rgba(255,194,124,.08)}
.rpg-emblem>*{transform:rotate(-45deg)}.rpg-emblem strong{font:700 2.45rem Cinzel,serif;color:#fff0d5;text-shadow:0 0 16px rgba(255,190,105,.38)}.rpg-level{position:absolute;top:35px;color:#ffc67d;font:.68rem Inter,sans-serif;letter-spacing:.18em}
.stat-bar{position:absolute;z-index:3;left:50%;width:235px;height:8px;transform:translateX(-50%);border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(3,9,14,.68);overflow:hidden}.stat-bar i{display:block;height:100%;border-radius:20px}.stat-health{bottom:52px}.stat-health i{width:83%;background:linear-gradient(90deg,#7e2638,#e85c67)}.stat-power{bottom:35px}.stat-power i{width:67%;background:linear-gradient(90deg,#5f3a89,#a47bea)}.stat-stamina{bottom:18px}.stat-stamina i{width:75%;background:linear-gradient(90deg,#257b6d,#58d6bb)}

.mod-card-where .mod-art{background:radial-gradient(circle at 50% 48%,rgba(73,199,171,.22),transparent 44%),linear-gradient(145deg,#102a26,#10191c)}
.lectern{position:absolute;z-index:3;left:50%;top:46%;width:92px;height:90px;transform:translate(-50%,-50%);background:linear-gradient(145deg,#8a6339,#3e2b1d);clip-path:polygon(17% 0,83% 0,100% 33%,67% 48%,72% 100%,28% 100%,33% 48%,0 33%);filter:drop-shadow(0 0 20px rgba(78,211,181,.18))}.lectern span{position:absolute;left:24px;right:24px;top:14px;height:26px;border:2px solid rgba(215,244,219,.65);background:rgba(20,65,56,.55);transform:skewY(-7deg)}
.search-lens{position:absolute;z-index:5;left:58%;top:31%;width:46px;height:46px;border:6px solid #a7efe0;border-radius:50%;box-shadow:0 0 18px rgba(87,224,199,.5)}.search-lens:after{content:"";position:absolute;width:31px;height:7px;right:-25px;bottom:-13px;transform:rotate(46deg);border-radius:7px;background:#a7efe0}
.chest{position:absolute;z-index:2;bottom:33px;width:72px;height:50px;border:2px solid rgba(204,159,93,.68);border-radius:5px;background:linear-gradient(#76502d 0 42%,#3c281b 43%);box-shadow:0 0 12px rgba(0,0,0,.35)}.chest:after{content:"";position:absolute;left:30px;top:17px;width:10px;height:16px;border:2px solid #d9b567;background:#54381f}.chest-left{left:15%}.chest-right{right:15%}.search-path{position:absolute;z-index:1;left:19%;right:19%;bottom:58px;height:74px;border:1px dashed rgba(102,238,211,.38);border-top:0;border-radius:0 0 50% 50%}


.page-background::after{
  content:"";
  position:absolute;
  left:50%;
  top:37%;
  width:clamp(180px,20vw,330px);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,
    rgba(48,238,255,.34) 0%,
    rgba(24,194,221,.18) 22%,
    rgba(18,138,171,.08) 44%,
    transparent 72%);
  filter:blur(15px);
  mix-blend-mode:screen;
  opacity:.62;
  animation:portalAura 4.6s ease-in-out infinite;
}
@keyframes portalAura{
  0%,100%{opacity:.48;transform:translate(-50%,-50%) scale(.92);filter:blur(17px)}
  50%{opacity:.82;transform:translate(-50%,-50%) scale(1.08);filter:blur(12px)}
}
@media(max-width:900px){
  .page-background::after{left:50%;top:32%;width:240px;opacity:.5}
}
@media(prefers-reduced-motion:reduce){
  .page-background::after{animation:none}
}

.action-icon img[src$="curseforge-mark.svg"],
.curseforge-link img[src$="curseforge-mark.svg"]{
  object-fit:contain;
  border-radius:0;
}


.page-background::after{
  left:50%;
  top:43%;
  width:min(82vw,1180px);
  height:min(68vh,720px);
  aspect-ratio:auto;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    rgba(48,238,255,.16) 0%,
    rgba(24,194,221,.10) 25%,
    rgba(13,114,150,.055) 48%,
    transparent 74%);
  filter:blur(34px);
  opacity:.64;
  animation:portalAuraWide 7.5s ease-in-out infinite;
}
.page-background::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  mix-blend-mode:screen;
  background-image:
    radial-gradient(circle,rgba(128,255,244,.75) 0 1px,transparent 1.8px),
    radial-gradient(circle,rgba(91,221,255,.52) 0 1px,transparent 1.7px),
    radial-gradient(circle,rgba(173,255,241,.38) 0 .8px,transparent 1.5px);
  background-size:173px 211px,239px 181px,307px 257px;
  background-position:15% 92%,72% 103%,43% 97%;
  filter:blur(.2px) drop-shadow(0 0 5px rgba(74,232,240,.45));
  animation:portalParticles 20s linear infinite;
}
@keyframes portalAuraWide{
  0%,100%{opacity:.50;transform:translate(-50%,-50%) scale(.97);filter:blur(38px)}
  50%{opacity:.72;transform:translate(-50%,-50%) scale(1.035);filter:blur(31px)}
}
@keyframes portalParticles{
  0%{background-position:15% 106%,72% 112%,43% 108%;opacity:.08}
  18%{opacity:.22}
  82%{opacity:.18}
  100%{background-position:19% 18%,68% 7%,47% 24%;opacity:.04}
}
@media(max-width:900px){
  .page-background::after{left:50%;top:41%;width:105vw;height:58vh;opacity:.54}
  .page-background::before{opacity:.16}
}


.action-icon img[src$="curseforge-mark.svg"],
.curseforge-link img[src$="curseforge-mark.svg"]{
  filter:brightness(0) invert(1) drop-shadow(0 0 8px rgba(255,255,255,.32));
  opacity:.96;
}
.action-card:hover .action-icon img[src$="curseforge-mark.svg"],
.curseforge-link:hover img[src$="curseforge-mark.svg"]{
  filter:brightness(0) invert(1) drop-shadow(0 0 13px rgba(255,255,255,.6));
}


.action-card,
.overview-card,
.mod-card,
.faq-card,
.roadmap-card,
.faq-discord-link{
  will-change:transform,box-shadow,border-color,filter;
  transform:translateZ(0);
  transition-property:transform,box-shadow,border-color,filter,background-color;
  transition-duration:.46s;
  transition-timing-function:cubic-bezier(.22,1,.36,1);
}
.action-card:hover{transform:translate3d(0,-5px,0) scale(1.012)}
.overview-card:hover{transform:translate3d(0,-7px,0) scale(1.012)}
.mod-card:hover{transform:translate3d(0,-6px,0) scale(1.008)}
.faq-card:hover,.roadmap-card:hover{transform:translate3d(0,-4px,0) scale(1.01)}
.action-card:active,.overview-card:active,.mod-card:active,.faq-card:active,.roadmap-card:active{
  transform:translate3d(0,-1px,0) scale(.996);
  transition-duration:.14s;
}
@media(prefers-reduced-motion:reduce){
  .page-background::after,.page-background::before{animation:none}
  .action-card,.overview-card,.mod-card,.faq-card,.roadmap-card,.faq-discord-link{transition-duration:.01ms}
}



.quicksteps li:hover .step-icon{
  transform:none;
}
.overview-card{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.overview-card:focus-visible{
  outline:2px solid var(--teal-soft);
  outline-offset:5px;
}
.overview-link{
  display:inline-flex;
  gap:8px;
  margin-top:8px;
  color:var(--teal-soft);
}



.team-shell{position:relative;z-index:2;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:145px 0 95px}
.team-intro{max-width:780px;margin:0 auto 52px;text-align:center}
.team-intro .eyebrow{display:flex;align-items:center;justify-content:center;gap:12px;color:#65ddd4;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}
.team-intro .eyebrow span{width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--teal))}
.team-intro h1{margin:17px 0 14px;font-family:Cinzel,serif;font-size:clamp(2.7rem,6vw,4.5rem);font-weight:600;color:var(--stone);letter-spacing:.04em;line-height:1.05;text-shadow:0 8px 32px rgba(0,0,0,.55)}
.team-intro p{max-width:680px;margin:0 auto;color:#aab7b3;line-height:1.75}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.team-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:610px;border:1px solid rgba(89,216,205,.2);border-radius:16px;background:linear-gradient(165deg,rgba(11,31,33,.88),rgba(5,15,17,.95));box-shadow:0 26px 70px rgba(0,0,0,.34);transition:transform .55s cubic-bezier(.2,.8,.2,1),border-color .45s ease,box-shadow .55s ease}
.team-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 20%,rgba(123,244,234,.09) 48%,transparent 75%);transform:translateX(-120%);transition:transform .85s cubic-bezier(.2,.8,.2,1)}
.team-card:hover{transform:translateY(-8px) scale(1.015);border-color:rgba(107,231,221,.48);box-shadow:0 34px 85px rgba(0,0,0,.42),0 0 36px rgba(39,216,208,.09)}
.team-card:hover:before{transform:translateX(120%)}
.team-portrait{position:relative;height:390px;display:flex;align-items:flex-end;justify-content:center;padding:20px 24px 0;background:radial-gradient(circle at 50% 72%,rgba(37,196,188,.18),transparent 38%),linear-gradient(180deg,rgba(13,41,43,.42),rgba(4,14,16,.08));border-bottom:1px solid rgba(89,216,205,.13)}
.team-portrait:after{content:"";position:absolute;left:12%;right:12%;bottom:16px;height:30px;border-radius:50%;background:rgba(0,0,0,.48);filter:blur(13px);transition:transform .55s ease,opacity .55s ease}
.team-portrait img{position:relative;z-index:2;width:100%;height:350px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 18px rgba(0,0,0,.52));transform-origin:center bottom;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .55s ease}
.team-aura{position:absolute;z-index:1;left:50%;bottom:38px;width:220px;height:220px;border:1px solid rgba(80,228,216,.2);border-radius:50%;transform:translateX(-50%);box-shadow:inset 0 0 45px rgba(39,216,208,.08),0 0 32px rgba(39,216,208,.08);transition:transform .7s ease,opacity .6s ease}
.team-aura:before,.team-aura:after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(112,239,228,.18)}
.team-aura:before{inset:18px}.team-aura:after{inset:42px}
.team-card:hover .team-portrait img{transform:translateY(-8px) scale(1.035);filter:drop-shadow(0 24px 24px rgba(0,0,0,.58)) drop-shadow(0 0 15px rgba(78,221,210,.16))}
.team-card:hover .team-aura{transform:translateX(-50%) scale(1.08) rotate(8deg);opacity:.9}
.team-card:hover .team-portrait:after{transform:scale(.9);opacity:.7}
.team-copy{position:relative;z-index:2;display:flex;flex-direction:column;flex:1;padding:26px 26px 28px}
.team-role{align-self:flex-start;padding:7px 10px;border:1px solid rgba(100,225,215,.23);border-radius:999px;background:rgba(28,106,105,.18);color:#7fe5dc;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-weight:600}
.team-copy h2{margin:17px 0 10px;font-family:Cinzel,serif;color:var(--stone);font-size:1.55rem;letter-spacing:.025em}
.team-copy p{margin:0;color:#98a8a3;line-height:1.7;font-size:.9rem}
.team-contact{margin-top:auto;padding-top:22px;color:#c7d8d3;font-size:.76rem;letter-spacing:.04em}
.footer nav a[aria-current="page"]{color:var(--teal-soft)}
@media(max-width:950px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-card:last-child{grid-column:1/-1;width:min(100%,470px);justify-self:center}}
@media(max-width:650px){.team-shell{width:min(100% - 28px,1180px);padding-top:112px}.team-grid{grid-template-columns:1fr}.team-card,.team-card:last-child{width:100%;grid-column:auto;min-height:0}.team-portrait{height:350px}.team-portrait img{height:315px}.team-intro{margin-bottom:36px}.team-intro h1{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){.team-card,.team-card:before,.team-portrait img,.team-aura{transition:none}.team-card:hover,.team-card:hover .team-portrait img{transform:none}}


.team-section{margin-top:86px}
.team-section-title{display:grid;grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);align-items:center;gap:20px;margin-bottom:30px}
.team-section-title>span{height:1px;background:linear-gradient(90deg,transparent,rgba(80,224,212,.55))}
.team-section-title>span:last-child{background:linear-gradient(90deg,rgba(80,224,212,.55),transparent)}
.team-section-title h2{margin:0;font-family:Cinzel,serif;color:var(--stone);font-size:clamp(1.45rem,3vw,2.25rem);font-weight:600;letter-spacing:.04em;text-align:center}
.team-section-lead{max-width:720px;margin:-10px auto 30px;color:#9eaaa6;text-align:center;line-height:1.75}
.deputy-note{max-width:760px;margin:30px auto 0;padding:17px 20px;display:flex;align-items:center;gap:15px;text-align:left;border:1px solid rgba(87,221,211,.23);border-radius:12px;background:linear-gradient(135deg,rgba(14,50,51,.62),rgba(6,20,22,.76));box-shadow:0 18px 45px rgba(0,0,0,.24)}
.deputy-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(101,229,219,.32);color:#76e4db;font-size:1.3rem;box-shadow:0 0 24px rgba(43,215,206,.1)}
.deputy-note strong,.deputy-note span{display:block}.deputy-note strong{font-family:Cinzel,serif;color:var(--stone);font-size:.92rem}.deputy-note div span{margin-top:4px;color:#9baba6;font-size:.8rem;line-height:1.5}
.founder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.founder-card{min-height:132px;padding:20px;display:flex;align-items:center;gap:16px;border:1px solid rgba(89,216,205,.18);border-radius:13px;background:linear-gradient(155deg,rgba(11,31,33,.82),rgba(5,15,17,.94));box-shadow:0 18px 48px rgba(0,0,0,.28);transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .4s ease,box-shadow .5s ease}
.founder-card:hover{transform:translateY(-5px);border-color:rgba(104,232,222,.42);box-shadow:0 25px 60px rgba(0,0,0,.36),0 0 28px rgba(47,214,205,.07)}
.founder-mark{flex:0 0 58px;width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(104,231,221,.3);border-radius:50%;background:radial-gradient(circle,rgba(49,196,188,.22),rgba(8,28,30,.6));font-family:Cinzel,serif;color:#78e3da;font-weight:700;letter-spacing:.05em;box-shadow:inset 0 0 22px rgba(45,211,202,.08),0 0 24px rgba(45,211,202,.07)}
.founder-avatar{overflow:hidden;padding:4px}.founder-avatar img{width:100%;height:100%;object-fit:contain;object-position:center top}
.founder-card h3{margin:0 0 6px;font-family:Cinzel,serif;color:var(--stone);font-size:1.05rem}.founder-card p{margin:0;color:#8fa09b;font-size:.78rem;line-height:1.45}
.responsibility-table-wrap{overflow:hidden;border:1px solid rgba(89,216,205,.18);border-radius:14px;background:rgba(6,19,21,.86);box-shadow:0 24px 65px rgba(0,0,0,.3)}
.responsibility-table{width:100%;border-collapse:collapse}
.responsibility-table th,.responsibility-table td{padding:17px 20px;text-align:left;border-bottom:1px solid rgba(89,216,205,.1)}
.responsibility-table th{font-family:Cinzel,serif;color:#dcd6c8;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;background:rgba(31,94,93,.16)}
.responsibility-table td{color:#a8b5b1;font-size:.86rem}.responsibility-table td:nth-child(2){color:#e2ddd0;font-weight:600}.responsibility-table td:nth-child(3){color:#73dcd4}.responsibility-table tbody tr:last-child td{border-bottom:0}.responsibility-table tbody tr{transition:background .3s ease}.responsibility-table tbody tr:hover{background:rgba(48,160,155,.07)}
.tbd{display:inline-flex;padding:4px 8px;border:1px solid rgba(214,183,93,.3);border-radius:999px;color:#d7b967;font-size:.65rem;letter-spacing:.1em}
.role-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.role-detail-card{position:relative;min-height:205px;padding:25px 22px;border:1px solid rgba(89,216,205,.17);border-radius:13px;background:linear-gradient(160deg,rgba(11,31,33,.82),rgba(5,15,17,.95));box-shadow:0 18px 45px rgba(0,0,0,.25);transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .4s ease,box-shadow .5s ease}
.role-detail-card:hover{transform:translateY(-5px);border-color:rgba(102,228,219,.38);box-shadow:0 26px 58px rgba(0,0,0,.34),0 0 25px rgba(40,216,207,.06)}
.role-detail-icon{position:absolute;top:18px;right:18px;font-family:Cinzel,serif;color:rgba(107,225,216,.18);font-size:1.65rem;font-weight:700}.role-detail-card h3{margin:0 0 8px;padding-right:44px;font-family:Cinzel,serif;color:var(--stone);font-size:1.12rem}.role-detail-card strong{display:block;min-height:38px;color:#73ddd5;font-size:.76rem;line-height:1.45;text-transform:uppercase;letter-spacing:.07em}.role-detail-card p{margin:14px 0 0;color:#93a39e;font-size:.82rem;line-height:1.65}
@media(max-width:1000px){.founder-grid,.role-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.team-section{margin-top:66px}.team-section-title{gap:10px}.founder-grid,.role-detail-grid{grid-template-columns:1fr}.responsibility-table-wrap{overflow-x:auto}.responsibility-table{min-width:650px}.deputy-note{align-items:flex-start}.founder-card{min-height:110px}}
@media(prefers-reduced-motion:reduce){.founder-card,.role-detail-card{transition:none}.founder-card:hover,.role-detail-card:hover{transform:none}}


.team-page-v18 .team-intro{max-width:840px}
.team-page-v18 .team-intro h1{max-width:820px;margin-left:auto;margin-right:auto}
.team-motto{margin:-2px auto 18px!important;color:#72ddd4!important;font-family:Cinzel,serif;font-size:1rem;letter-spacing:.16em;text-transform:uppercase}
.team-members-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}
.member-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:545px;border:1px solid rgba(89,216,205,.18);border-radius:16px;background:linear-gradient(165deg,rgba(11,31,33,.88),rgba(5,15,17,.96));box-shadow:0 24px 64px rgba(0,0,0,.32);transition:transform .55s cubic-bezier(.2,.8,.2,1),border-color .45s ease,box-shadow .55s ease}
.member-card:before{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 18%,rgba(133,245,236,.1) 46%,transparent 74%);transform:translateX(-125%);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.member-card:hover{transform:translateY(-8px) scale(1.012);border-color:rgba(104,231,221,.45);box-shadow:0 34px 82px rgba(0,0,0,.42),0 0 34px rgba(43,214,204,.08)}
.member-card:hover:before{transform:translateX(125%)}
.founder-member{border-color:rgba(194,170,105,.28);background:linear-gradient(165deg,rgba(28,35,31,.9),rgba(7,17,18,.97))}
.founder-member:hover{border-color:rgba(216,194,128,.52);box-shadow:0 34px 82px rgba(0,0,0,.42),0 0 34px rgba(198,172,101,.08)}
.member-badge{position:absolute;z-index:5;top:15px;left:15px;padding:7px 10px;border:1px solid rgba(221,196,128,.38);border-radius:999px;background:rgba(43,35,19,.72);color:#e1c77e;font-size:.59rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;backdrop-filter:blur(10px)}
.member-visual{position:relative;height:330px;display:flex;align-items:flex-end;justify-content:center;padding:18px 18px 0;border-bottom:1px solid rgba(89,216,205,.11);background:radial-gradient(circle at 50% 75%,rgba(43,199,190,.17),transparent 40%),linear-gradient(180deg,rgba(13,42,44,.34),rgba(4,14,16,.05))}
.founder-member .member-visual{background:radial-gradient(circle at 50% 75%,rgba(191,161,84,.14),transparent 41%),linear-gradient(180deg,rgba(39,39,31,.35),rgba(4,14,16,.05))}
.member-visual:after{content:"";position:absolute;left:17%;right:17%;bottom:13px;height:25px;border-radius:50%;background:rgba(0,0,0,.5);filter:blur(12px);transition:transform .55s ease,opacity .55s ease}
.member-visual img{position:relative;z-index:2;display:block;width:auto;max-width:190px;height:295px;object-fit:contain;object-position:center bottom;image-rendering:auto;filter:drop-shadow(0 17px 18px rgba(0,0,0,.52));transform-origin:center bottom;transition:transform .62s cubic-bezier(.2,.8,.2,1),filter .55s ease}
.member-glow{position:absolute;z-index:1;left:50%;bottom:30px;width:205px;height:205px;border-radius:50%;transform:translateX(-50%);border:1px solid rgba(91,228,217,.2);background:radial-gradient(circle,rgba(44,210,201,.12),transparent 65%);box-shadow:inset 0 0 46px rgba(43,211,202,.08),0 0 30px rgba(43,211,202,.08);transition:transform .7s ease,opacity .6s ease,box-shadow .6s ease}
.member-glow:before,.member-glow:after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(115,239,229,.18)}
.member-glow:before{inset:19px}.member-glow:after{inset:43px}
.founder-member .member-glow{border-color:rgba(218,190,111,.21);background:radial-gradient(circle,rgba(210,176,92,.1),transparent 65%);box-shadow:inset 0 0 46px rgba(209,176,93,.07),0 0 30px rgba(209,176,93,.06)}
.member-card:hover .member-visual img{transform:translateY(-9px) scale(1.03);filter:drop-shadow(0 23px 22px rgba(0,0,0,.58)) drop-shadow(0 0 14px rgba(78,221,210,.15))}
.member-card:hover .member-glow{transform:translateX(-50%) scale(1.08) rotate(8deg);box-shadow:inset 0 0 54px rgba(43,211,202,.11),0 0 42px rgba(43,211,202,.12)}
.member-card:hover .member-visual:after{transform:scale(.9);opacity:.72}
.member-info{display:flex;flex-direction:column;flex:1;padding:23px 23px 25px}
.member-info h3{margin:0 0 8px;font-family:Cinzel,serif;color:var(--stone);font-size:1.32rem;letter-spacing:.025em;transition:color .35s ease}
.member-card:hover .member-info h3{color:#8ce8df}
.founder-member:hover .member-info h3{color:#e1ca8c}
.member-info>strong{display:block;margin-bottom:12px;color:#72ddd4;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase}
.founder-member .member-info>strong{color:#d6bc79}
.member-info p{margin:0;color:#98a8a3;line-height:1.65;font-size:.86rem}
.member-deputy{margin-top:auto;padding-top:19px;color:#d0dbd7;font-size:.73rem;letter-spacing:.035em}
@media(max-width:1080px){.team-members-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.team-members-grid{grid-template-columns:1fr}.member-card{min-height:0}.member-visual{height:315px}.member-visual img{height:280px;max-width:180px}.team-motto{font-size:.8rem;letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){.member-card,.member-card:before,.member-visual img,.member-glow{transition:none}.member-card:hover,.member-card:hover .member-visual img{transform:none}}


.team-shell-v20{width:min(1240px,calc(100% - 40px))}
.team-members-grid-v20{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.member-card-v20{min-height:600px}
.member-card-v20 .member-accent{position:absolute;z-index:6;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--role-accent,#65ddd4),transparent);box-shadow:0 0 18px color-mix(in srgb,var(--role-accent,#65ddd4) 45%,transparent)}
.member-card-v20.role-tech{--role-accent:#63d8ef;--role-soft:rgba(71,183,212,.15)}
.member-card-v20.role-project-lead{--role-accent:#e36d72;--role-soft:rgba(190,58,67,.18);border-color:rgba(227,109,114,.42)}
.member-card-v20.role-project-lead:hover{border-color:rgba(239,126,131,.78);box-shadow:0 34px 85px rgba(0,0,0,.42),0 0 40px rgba(214,74,82,.16)}
.member-card-v20.role-web{--role-accent:#8fe0d4;--role-soft:rgba(82,199,183,.15)}
.member-card-v20.role-web-white{--role-accent:#f2f3ee;--role-soft:rgba(255,255,255,.11);border-color:rgba(242,243,238,.34)}
.member-card-v20.role-web-white:hover{border-color:rgba(255,255,255,.72);box-shadow:0 34px 85px rgba(0,0,0,.42),0 0 38px rgba(255,255,255,.11)}
.member-card-v20.role-build{--role-accent:#7fd18b;--role-soft:rgba(77,170,89,.14)}
.member-card-v20.role-community{--role-accent:#79a9ff;--role-soft:rgba(73,119,201,.16)}
.member-card-v20.role-content{--role-accent:#d56cff;--role-soft:rgba(211,82,255,.16);border-color:rgba(213,108,255,.36)}
.member-card-v20.role-content:hover{border-color:rgba(232,132,255,.74);box-shadow:0 34px 85px rgba(0,0,0,.42),0 0 40px rgba(214,85,255,.15)}
.member-card-v20.role-concept{--role-accent:#d2bd70;--role-soft:rgba(190,164,72,.15)}
.member-card-v20 .member-visual{background:radial-gradient(circle at 50% 75%,var(--role-soft,rgba(43,199,190,.17)),transparent 42%),linear-gradient(180deg,rgba(13,42,44,.34),rgba(4,14,16,.05))}
.member-card-v20 .member-info{padding:24px 24px 27px}
.member-card-v20 .member-info h3{font-size:1.38rem}
.member-card-v20 .member-info>strong{color:var(--role-accent,#72ddd4);margin-bottom:15px}
.member-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.member-tags span{display:inline-flex;align-items:center;min-height:28px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--role-accent,#72ddd4) 28%,transparent);border-radius:999px;background:color-mix(in srgb,var(--role-accent,#72ddd4) 10%,transparent);color:#d9e7e3;font-size:.67rem;font-weight:600;letter-spacing:.055em;text-transform:uppercase;transition:border-color .35s ease,background .35s ease,box-shadow .35s ease,transform .35s ease}
.member-card-v20:hover .member-tags span{border-color:color-mix(in srgb,var(--role-accent,#72ddd4) 52%,transparent);background:color-mix(in srgb,var(--role-accent,#72ddd4) 16%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--role-accent,#72ddd4) 12%,transparent);transform:translateY(-1px)}
.member-card-v20:hover .member-info h3{color:var(--role-accent,#8ce8df)}
.member-card-v20 .member-glow{border-color:color-mix(in srgb,var(--role-accent,#72ddd4) 28%,transparent);background:radial-gradient(circle,color-mix(in srgb,var(--role-accent,#72ddd4) 15%,transparent),transparent 65%);box-shadow:inset 0 0 46px color-mix(in srgb,var(--role-accent,#72ddd4) 10%,transparent),0 0 30px color-mix(in srgb,var(--role-accent,#72ddd4) 9%,transparent)}
.member-card-v20:hover .member-glow{box-shadow:inset 0 0 54px color-mix(in srgb,var(--role-accent,#72ddd4) 14%,transparent),0 0 42px color-mix(in srgb,var(--role-accent,#72ddd4) 14%,transparent)}
.team-join{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center;margin-top:86px;padding:34px 38px;border:1px solid rgba(89,216,205,.18);border-radius:18px;background:linear-gradient(135deg,rgba(11,31,33,.9),rgba(5,15,17,.96));box-shadow:0 28px 75px rgba(0,0,0,.34)}
.team-join .eyebrow{display:block;margin-bottom:8px;color:#67ddd4;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.team-join h2{margin:0 0 10px;font-family:Cinzel,serif;color:var(--stone);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600}
.team-join p{max-width:720px;margin:0;color:#9aa8a4;line-height:1.7}
.team-join .cta-discord-card{min-width:270px}
@media(max-width:1080px){.team-members-grid-v20{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.team-join{grid-template-columns:1fr;padding:28px 24px}.team-join .cta-discord-card{width:100%;min-width:0}}
@media(max-width:640px){.team-shell-v20{width:min(100% - 28px,1240px)}.team-members-grid-v20{grid-template-columns:1fr}.member-card-v20{min-height:0}}


.nav{
  gap:10px;
  align-items:center;
  padding:6px;
  border:1px solid rgba(124,229,219,.13);
  border-radius:999px;
  background:rgba(7,20,22,.34);
  backdrop-filter:blur(14px) saturate(125%);
  -webkit-backdrop-filter:blur(14px) saturate(125%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 30px rgba(0,0,0,.18);
}
.nav a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 12px;
  border:1px solid rgba(124,229,219,.12);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#cbd6d2;
  font-size:.7rem;
  letter-spacing:.075em;
  line-height:1;
  white-space:nowrap;
  transition:color .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease;
}
.nav a:after{display:none}
.nav a:hover,.nav a:focus-visible{
  color:#f4faf7;
  border-color:rgba(124,229,219,.42);
  background:rgba(39,216,208,.09);
  box-shadow:0 0 18px rgba(39,216,208,.12),inset 0 1px 0 rgba(255,255,255,.06);
  transform:translateY(-1px);
  outline:none;
}

@media(max-width:900px){
  .site-header{
    height:116px;
    grid-template-columns:1fr;
    align-content:start;
    padding:9px 14px 10px;
  }
  .site-header.is-scrolled{height:108px}
  .site-header .brand{justify-self:center;height:44px}
  .nav-shell{
    position:absolute;
    left:14px;
    right:14px;
    bottom:8px;
    display:block;
    min-width:0;
  }
  .nav-shell:before,
  .nav-shell:after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    z-index:4;
    width:52px;
    pointer-events:none;
    opacity:0;
    background:rgba(6,15,17,.01);
    backdrop-filter:blur(10px) saturate(108%);
    -webkit-backdrop-filter:blur(10px) saturate(108%);
    transition:opacity .2s ease;
  }
  .nav-shell:before{
    left:0;
    mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 46%,transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 46%,transparent 100%);
  }
  .nav-shell:after{
    right:0;
    mask-image:linear-gradient(270deg,#000 0%,rgba(0,0,0,.72) 46%,transparent 100%);
    -webkit-mask-image:linear-gradient(270deg,#000 0%,rgba(0,0,0,.72) 46%,transparent 100%);
  }
  .nav-shell.can-scroll-left:before,
  .nav-shell.can-scroll-right:after{opacity:1}
  .nav-scroll-control{
    position:absolute;
    top:50%;
    z-index:5;
    display:grid;
    place-items:center;
    width:30px;
    height:36px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:rgba(218,239,234,.78);
    font-size:1.45rem;
    line-height:1;
    cursor:pointer;
    transform:translateY(-50%);
    box-shadow:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease,color .2s ease,text-shadow .2s ease;
  }
  .nav-scroll-prev{left:2px}
  .nav-scroll-next{right:2px}
  .nav-shell.can-scroll-left .nav-scroll-prev,
  .nav-shell.can-scroll-right .nav-scroll-next{opacity:1;visibility:visible;pointer-events:auto}
  .nav-scroll-control:hover,.nav-scroll-control:focus-visible{color:#f1fbf7;text-shadow:0 0 12px rgba(112,239,229,.48);outline:none}
  .nav{
    display:flex;
    gap:7px;
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    justify-content:flex-start;
    padding:6px 34px;
    border-radius:14px;
    scroll-padding-inline:34px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .nav::-webkit-scrollbar{display:none}
  .nav a{
    min-height:31px;
    padding:7px 11px;
    font-size:.66rem;
    scroll-snap-align:start;
  }
  .hero{padding-top:145px}
}

@media(max-width:600px){
  .site-header{height:108px;padding:7px 10px 8px}
  .site-header.is-scrolled{height:102px}
  .site-header .brand{height:40px}
  .site-header .brand-logo{width:34px;height:34px}
  .nav-shell{left:10px;right:10px;bottom:6px}
  .nav{padding-left:32px;padding-right:32px;scroll-padding-inline:32px}
  .nav a{padding:7px 10px;font-size:.63rem}
  .hero{padding-top:132px}
}


.prelaunch-status{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin:18px auto 0;padding:8px 13px;border:1px solid rgba(124,229,219,.22);border-radius:999px;background:rgba(7,20,22,.48);backdrop-filter:blur(12px);color:#c8d9d4;font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;box-shadow:0 0 24px rgba(39,216,208,.08)}
.prelaunch-status span{width:7px;height:7px;border-radius:50%;background:#f0b25b;box-shadow:0 0 12px rgba(240,178,91,.55);animation:prelaunchPulse 2.4s ease-in-out infinite}
@keyframes prelaunchPulse{50%{opacity:.45;transform:scale(.82)}}
.hero-action-grid .hero-mods-card{grid-column:1/-1}
@media(max-width:650px){.prelaunch-status{font-size:.62rem;letter-spacing:.065em}.hero-action-grid .hero-mods-card{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.prelaunch-status span{animation:none}}



#idea-details{scroll-margin-top:18px}

.legal-header{
  height:68px;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  padding:0 clamp(16px,4vw,56px);
}
.legal-header.is-scrolled{height:64px}
.legal-header .brand{justify-self:start;min-width:0}
.legal-header .legal-home{
  position:static;
  top:auto;
  left:auto;
  transform:none;
  justify-self:end;
  min-width:0;
  min-height:34px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(124,229,219,.18);
  color:#d6e1dd;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.075em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 8px 24px rgba(0,0,0,.18);
  backdrop-filter:blur(14px) saturate(125%);
  -webkit-backdrop-filter:blur(14px) saturate(125%);
  transition:color .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease;
}
.legal-header .legal-home:hover,.legal-header .legal-home:focus-visible{
  color:#f4faf7;
  border-color:rgba(124,229,219,.42);
  background:rgba(39,216,208,.09);
  box-shadow:0 0 18px rgba(39,216,208,.12),inset 0 1px 0 rgba(255,255,255,.06);
  transform:translateY(-1px);
  outline:none;
}

@media(max-width:900px){
  .legal-header{
    height:66px;
    grid-template-columns:auto minmax(0,1fr);
    align-content:center;
    padding:0 14px;
  }
  .legal-header.is-scrolled{height:62px}
  .legal-header .brand{justify-self:start;height:42px}
  .legal-header .legal-home{justify-self:end}
  .legal-shell,.mods-shell,.team-shell-v20{padding-top:98px}
}
@media(max-width:600px){
  .legal-header{height:62px;padding:0 10px}
  .legal-header.is-scrolled{height:60px}
  .legal-header .brand{height:38px}
  .legal-header .brand-logo{width:34px;height:34px}
  .legal-header .legal-home{padding:7px 10px;font-size:.62rem;letter-spacing:.055em}
  .legal-shell,.mods-shell,.team-shell-v20{padding-top:88px}
}



.nav{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
  gap:14px;
}
@media(max-width:900px){
  .nav{
    left:18px;
    right:18px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    justify-content:safe center;
  }
}
@media(max-width:600px){
  .nav{left:16px;right:16px;padding:0;justify-content:safe center}
}
.hero-team-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:14px auto 0;
  min-height:36px;
  padding:8px 14px;
  border:1px solid rgba(235,244,241,.24);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:#e7efec;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.075em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 8px 24px rgba(0,0,0,.18);
  backdrop-filter:blur(12px) saturate(125%);
  -webkit-backdrop-filter:blur(12px) saturate(125%);
  transition:color .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease;
}
.hero-team-link svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.12));
}
.hero-team-link:hover,.hero-team-link:focus-visible{
  color:#fff;
  border-color:rgba(255,255,255,.5);
  background:rgba(255,255,255,.075);
  box-shadow:0 0 20px rgba(255,255,255,.1),inset 0 1px 0 rgba(255,255,255,.075);
  transform:translateY(-1px);
  outline:none;
}
@media(max-width:600px){
  .hero-team-link{font-size:.62rem;letter-spacing:.055em;padding:8px 12px}
}



.hero-meta-pills{display:flex;flex-direction:column;align-items:center;gap:8px;margin:18px auto 0}
.hero-meta-pills .prelaunch-status{margin:0}
.team-status-link{text-decoration:none;cursor:pointer;transition:color .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease}
.team-status-link span{background:#7ce5db;box-shadow:0 0 12px rgba(124,229,219,.5);animation:none}
.team-status-link:hover,.team-status-link:focus-visible{color:#fff;border-color:rgba(124,229,219,.42);background:rgba(10,35,36,.62);box-shadow:0 0 24px rgba(39,216,208,.14);transform:translateY(-1px);outline:none}

.member-card-v20 {
  border-color: color-mix(in srgb, var(--role-accent, #65ddd4) 42%, transparent);
}
.member-card-v20:hover {
  border-color: color-mix(in srgb, var(--role-accent, #65ddd4) 78%, transparent);
  box-shadow: 0 34px 85px rgba(0,0,0,.42), 0 0 40px color-mix(in srgb, var(--role-accent, #65ddd4) 16%, transparent);
}
.member-card-v20.founder-member {
  border-color: color-mix(in srgb, var(--role-accent, #65ddd4) 42%, transparent);
}
.member-card-v20.founder-member:hover {
  border-color: color-mix(in srgb, var(--role-accent, #65ddd4) 78%, transparent);
  box-shadow: 0 34px 85px rgba(0,0,0,.42), 0 0 40px color-mix(in srgb, var(--role-accent, #65ddd4) 16%, transparent);
}
.nav {
  padding-block: 2px;
}
.nav a:hover,
.nav a:focus-visible {
  transform: none;
}
.legal-header {
  grid-template-columns: 1fr auto 1fr;
}
.legal-header .brand {
  grid-column: 1;
  justify-self: start;
}
.legal-header .legal-home {
  grid-column: 2;
  justify-self: center;
  color:#f1f8f5;
  border-color:rgba(124,229,219,.48);
  background:rgba(39,216,208,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.24),0 0 20px rgba(39,216,208,.14);
}
.legal-header .legal-home:hover,
.legal-header .legal-home:focus-visible {
  color:#fff;
  border-color:rgba(124,229,219,.72);
  background:rgba(39,216,208,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 28px rgba(0,0,0,.28),0 0 24px rgba(39,216,208,.22);
  transform: translateY(-1px);
}
@media (max-width: 900px) {
  .legal-header {
    grid-template-columns: 1fr auto 1fr;
  }
  .legal-header .brand {
    grid-column: 1;
    justify-self: start;
  }
  .legal-header .legal-home {
    grid-column: 2;
    justify-self: center;
  }
  .nav {
    padding-block: 2px;
  }
}
@media (max-width: 420px) {
  .legal-header {
    padding-inline: 8px;
  }
  .legal-header .legal-home {
    padding: 7px 9px;
    font-size: .58rem;
  }
}
.member-card-v20:before {
  background: linear-gradient(
    115deg,
    transparent 18%,
    color-mix(in srgb, var(--role-accent, #65ddd4) 11%, transparent) 46%,
    transparent 74%
  );
}

.chronicle-section{padding-top:110px;padding-bottom:125px;background:transparent}
.chronicle-intro{margin:-25px auto 56px;text-align:center;color:#92a7a3;font-family:Cinzel,serif;font-size:.86rem;letter-spacing:.16em;text-transform:uppercase}
.chronicle{position:relative;max-width:1080px;margin:0 auto;padding:14px 0 10px}
.chronicle-line{position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:linear-gradient(to bottom,transparent,rgba(53,223,210,.2) 5%,rgba(92,239,226,.66) 18%,rgba(92,239,226,.28) 82%,transparent);box-shadow:0 0 14px rgba(39,216,208,.22)}
.chronicle-entry{position:relative;display:grid;grid-template-columns:1fr 92px 1fr;align-items:center;min-height:190px}
.chronicle-entry.is-left .chronicle-card{grid-column:1}
.chronicle-entry.is-right .chronicle-card{grid-column:3}
.chronicle-stone{grid-column:2;grid-row:1;justify-self:center;position:relative;z-index:2;width:56px;height:64px;display:grid;place-items:center;clip-path:polygon(50% 0,88% 18%,100% 62%,74% 100%,26% 100%,0 62%,12% 18%);background:rgba(101,239,226,.62);border:0;box-shadow:0 0 24px rgba(44,218,205,.22);transition:transform .35s ease,box-shadow .35s ease,filter .35s ease}
.chronicle-stone:before{content:"";position:absolute;inset:1px;clip-path:inherit;background:linear-gradient(145deg,#18282a,#091315 72%);box-shadow:inset 0 0 22px rgba(58,224,211,.08)}
.chronicle-stone:after{content:"";position:absolute;inset:6px;clip-path:inherit;border:1px solid rgba(130,245,233,.14)}
.chronicle-stone span{position:relative;z-index:1;color:#9af3e8;font-family:Cinzel,serif;font-size:1.35rem;text-shadow:0 0 12px rgba(77,237,222,.8)}
.chronicle-card{position:relative;max-width:430px;padding:25px 28px;border:1px solid rgba(81,218,207,.24);border-radius:14px;background:linear-gradient(145deg,rgba(15,35,38,.74),rgba(6,17,19,.88));backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);box-shadow:0 22px 54px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.chronicle-entry.is-left .chronicle-card{justify-self:end;text-align:right}
.chronicle-entry.is-right .chronicle-card{justify-self:start;text-align:left}
.chronicle-card:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(120,250,237,.07) 48%,transparent 72%);transform:translateX(-120%);transition:transform .8s ease;pointer-events:none}
.chronicle-card time{display:block;margin-bottom:9px;color:#67ddd3;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.chronicle-card h3{margin:0 0 9px;color:var(--stone);font-family:Cinzel,serif;font-size:1.12rem;letter-spacing:.025em}
.chronicle-card p{margin:0;color:#aebbb7;font-size:.88rem;line-height:1.7}
.chronicle-entry:hover .chronicle-card{transform:translateY(-5px);border-color:rgba(112,241,228,.5);box-shadow:0 28px 64px rgba(0,0,0,.36),0 0 30px rgba(39,216,208,.1),inset 0 1px 0 rgba(255,255,255,.08)}
.chronicle-entry:hover .chronicle-card:before{transform:translateX(120%)}
.chronicle-entry:hover .chronicle-stone{transform:translateY(-3px) rotate(2deg) scale(1.05);filter:brightness(1.12);box-shadow:0 0 0 1px rgba(104,246,233,.14),0 0 34px rgba(44,218,205,.38),inset 0 0 26px rgba(58,224,211,.13)}
.chronicle-entry.is-current .chronicle-stone{background:rgba(233,198,119,.7);box-shadow:0 0 26px rgba(231,183,86,.25);animation:chroniclePulse 2.8s ease-in-out infinite}
.chronicle-entry.is-current .chronicle-stone:before{background:linear-gradient(145deg,#2d281f,#101718 72%);box-shadow:inset 0 0 22px rgba(231,183,86,.1)}
.chronicle-entry.is-current .chronicle-stone:after{border-color:rgba(239,211,145,.18)}
.chronicle-entry.is-current .chronicle-stone span{color:#efd391;text-shadow:0 0 12px rgba(232,188,94,.78)}
.chronicle-entry.is-current .chronicle-card{border-color:rgba(222,183,101,.32);background:linear-gradient(145deg,rgba(35,31,24,.72),rgba(10,18,18,.9))}
.chronicle-status{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:#e6cb8d;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.chronicle-status span{width:7px;height:7px;border-radius:50%;background:#e5bd67;box-shadow:0 0 12px rgba(229,189,103,.8);animation:statusPulse 1.8s ease-in-out infinite}
@keyframes chroniclePulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.055);filter:brightness(1.13)}}
@keyframes statusPulse{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.18)}}
@media(max-width:800px){.chronicle{padding-left:0}.chronicle-line{left:35px}.chronicle-entry{grid-template-columns:70px minmax(0,1fr);min-height:165px}.chronicle-stone{grid-column:1;grid-row:1;width:50px;height:58px}.chronicle-entry.is-left .chronicle-card,.chronicle-entry.is-right .chronicle-card{grid-column:2;justify-self:stretch;text-align:left;max-width:none}.chronicle-card{padding:22px 23px}.chronicle-intro{margin-bottom:42px}}
@media(max-width:520px){.chronicle-section{padding-top:80px;padding-bottom:90px}.chronicle-line{left:27px}.chronicle-entry{grid-template-columns:56px minmax(0,1fr);min-height:150px}.chronicle-stone{width:42px;height:49px}.chronicle-stone span{font-size:1.05rem}.chronicle-card{padding:20px 18px}.chronicle-card h3{font-size:1rem}.chronicle-card p{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.chronicle-entry.is-current .chronicle-stone,.chronicle-status span{animation:none}.chronicle-card:before{display:none}}


.hero-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.hero-primary-actions .action-card{min-width:0;min-height:92px;grid-template-columns:58px minmax(0,1fr) 24px;column-gap:12px;padding:15px 18px}
.hero-primary-actions .action-icon{width:52px;height:52px}
.hero-primary-actions .action-icon img{width:45px;height:45px}
.hero-primary-actions .action-copy strong{font-size:.96rem;line-height:1.2}
.hero-primary-actions .action-copy small{font-size:.72rem;line-height:1.35;white-space:normal}
.hero-team-showcase{position:relative;margin-top:13px;min-height:92px;display:grid;grid-template-columns:auto minmax(0,1fr) 24px;align-items:center;gap:18px;padding:14px 18px;border:1px solid rgba(107,230,220,.24);border-radius:14px;background:linear-gradient(135deg,rgba(13,36,39,.62),rgba(7,20,22,.48));backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%);box-shadow:0 18px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.045);overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease}
.hero-team-showcase:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 18%,rgba(124,229,219,.075) 48%,transparent 76%);transform:translateX(-120%);transition:transform .85s ease;pointer-events:none}
.hero-team-showcase:hover,.hero-team-showcase:focus-visible{transform:translateY(-3px);border-color:rgba(124,229,219,.46);background:linear-gradient(135deg,rgba(16,47,49,.72),rgba(8,24,26,.58));box-shadow:0 24px 54px rgba(0,0,0,.3),0 0 28px rgba(39,216,208,.09),inset 0 1px 0 rgba(255,255,255,.07);outline:none}
.hero-team-showcase:hover:before,.hero-team-showcase:focus-visible:before{transform:translateX(120%)}
.team-avatar-stack{display:flex;align-items:center;padding-left:8px}
.team-avatar-stack span{position:relative;width:48px;height:48px;margin-left:-9px;border:1px solid rgba(151,239,231,.42);border-radius:50%;overflow:hidden;background:#102326;box-shadow:0 7px 18px rgba(0,0,0,.34),0 0 0 2px rgba(6,18,20,.85);transition:transform .3s ease,border-color .3s ease}
.team-avatar-stack span:first-child{margin-left:0}
.team-avatar-stack img{width:100%;height:132%;object-fit:cover;object-position:center 8%;transform:scale(1.12);transform-origin:center top}
.hero-team-showcase:hover .team-avatar-stack span:nth-child(odd){transform:translateY(-3px)}
.hero-team-showcase:hover .team-avatar-stack span:nth-child(even){transform:translateY(2px)}
.team-showcase-copy{display:flex;flex-direction:column;min-width:0}
.team-showcase-copy strong{font-family:Cinzel,serif;color:var(--stone);font-size:.92rem;letter-spacing:.025em}
.team-showcase-copy small{margin-top:5px;color:#9fb2ad;font-size:.72rem;line-height:1.35}
.team-showcase-arrow{color:var(--teal-soft);font-size:1.7rem;line-height:1;transition:transform .3s ease}
.hero-team-showcase:hover .team-showcase-arrow{transform:translateX(3px)}
.hero-secondary-actions{display:flex;justify-content:center;gap:10px;margin-top:13px}
.hero-secondary-actions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;padding:8px 13px;border:1px solid rgba(131,177,173,.16);border-radius:999px;background:rgba(7,20,22,.26);color:#9eafab;font-size:.66rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;transition:color .25s ease,border-color .25s ease,background .25s ease,transform .25s ease}
.hero-secondary-actions a span{color:#75bdb6;font-size:.84rem}
.hero-secondary-actions a:hover,.hero-secondary-actions a:focus-visible{color:#d9e5e1;border-color:rgba(124,229,219,.3);background:rgba(12,38,40,.44);transform:translateY(-1px);outline:none}
@media(max-width:650px){.hero-primary-actions{grid-template-columns:1fr}.hero-primary-actions .action-card{min-height:84px}.hero-team-showcase{grid-template-columns:auto minmax(0,1fr) 18px;gap:12px;padding:13px 14px}.team-avatar-stack span{width:38px;height:38px;margin-left:-10px}.team-showcase-copy strong{font-size:.78rem}.team-showcase-copy small{font-size:.64rem}.hero-secondary-actions{flex-wrap:wrap}}
@media(max-width:420px){.hero-team-showcase{grid-template-columns:1fr 18px}.team-avatar-stack{grid-column:1/-1;justify-content:center;padding-left:0;margin-bottom:2px}.team-showcase-copy{text-align:center}.hero-secondary-actions a{min-width:104px;padding-inline:11px}}

.action-label-short{display:none}
.team-avatar-stack span:nth-child(1){--avatar-glow:rgba(224,72,76,.48);border-color:rgba(224,72,76,.46)}
.team-avatar-stack span:nth-child(2){--avatar-glow:rgba(245,245,238,.5);border-color:rgba(245,245,238,.44)}
.team-avatar-stack span:nth-child(3){--avatar-glow:rgba(204,91,255,.5);border-color:rgba(204,91,255,.46)}
.team-avatar-stack span:nth-child(4){--avatar-glow:rgba(74,151,255,.48);border-color:rgba(74,151,255,.44)}
.team-avatar-stack span:nth-child(5){--avatar-glow:rgba(91,211,130,.48);border-color:rgba(91,211,130,.44)}
.hero-team-showcase:hover .team-avatar-stack span:nth-child(n){transform:none}
.team-avatar-stack span:hover{z-index:5;transform:translateY(-5px) scale(1.05)!important;box-shadow:0 10px 22px rgba(0,0,0,.4),0 0 0 2px rgba(6,18,20,.88),0 0 20px var(--avatar-glow)}
@media(max-width:900px){.action-label-long{display:none}.action-label-short{display:inline}.hero-primary-actions .action-copy small{display:none}.hero-primary-actions .action-card{min-height:78px}}

.hero-primary-actions .action-copy{min-width:0}
.hero-primary-actions .action-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-primary-actions .action-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-avatar-stack span:nth-child(1){--avatar-glow:rgba(224,72,76,.48);border-color:rgba(224,72,76,.46)}
.team-avatar-stack span:nth-child(2){--avatar-glow:rgba(82,219,213,.48);border-color:rgba(82,219,213,.46)}
.team-avatar-stack span:nth-child(3){--avatar-glow:rgba(245,245,238,.5);border-color:rgba(245,245,238,.44)}
.team-avatar-stack span:nth-child(4){--avatar-glow:rgba(91,211,130,.48);border-color:rgba(91,211,130,.44)}
@media(max-width:900px){.hero-primary-actions .action-copy small{display:block}}
@media(max-width:650px){.hero-primary-actions .action-card{grid-template-columns:52px minmax(0,1fr) 22px;padding:13px 15px}.hero-primary-actions .action-copy strong{font-size:.94rem}.hero-primary-actions .action-copy small{font-size:.68rem}}

.hero-team-showcase:before{
  inset:0;
  opacity:.72;
  background:linear-gradient(135deg,rgba(24,83,84,.42),rgba(42,125,122,.2) 60%,rgba(255,255,255,.035));
  transform:none;
  transition:none;
}
.hero-team-showcase:after{
  content:"";
  position:absolute;
  top:-80%;
  left:-35%;
  width:28%;
  height:260%;
  transform:rotate(22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.19),transparent);
  transition:left .65s ease;
  pointer-events:none;
}
.hero-team-showcase:hover:before,.hero-team-showcase:focus-visible:before{transform:none}
.hero-team-showcase:hover:after,.hero-team-showcase:focus-visible:after{left:120%}
.hero-team-showcase>*{position:relative;z-index:1}

.cta-panel .cta-discord-card{
  min-height:92px;
  grid-template-columns:58px minmax(0,1fr) 24px;
  column-gap:12px;
  padding:15px 18px;
}
.cta-panel .cta-discord-card .action-icon{width:52px;height:52px}
.cta-panel .cta-discord-card .action-icon img{width:45px;height:45px}
.cta-panel .cta-discord-card .action-copy strong{font-size:.96rem;line-height:1.2}
.cta-panel .cta-discord-card .action-copy small{font-size:.72rem;line-height:1.35}
@media(max-width:760px){
  .cta-panel .cta-discord-card{min-height:84px}
}

.nav a.active,
.nav a[aria-current="location"]{
  color:#eef7f3;
  border-color:rgba(124,229,219,.34);
  background:rgba(39,216,208,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 0 14px rgba(39,216,208,.08);
}

.wiki-shell{position:relative;z-index:2;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:145px 0 95px}
.wiki-intro{max-width:820px;margin:0 auto 52px;text-align:center}
.wiki-kicker{display:inline-block;margin-bottom:13px;color:#66d9d0;font-size:.67rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.wiki-intro h1{margin:0;font-family:Cinzel,serif;font-size:clamp(2.8rem,7vw,5rem);font-weight:600;color:var(--stone);letter-spacing:.035em;text-shadow:0 0 36px rgba(39,216,208,.12)}
.wiki-intro>p{max-width:690px;margin:18px auto 0;color:#aab8b4;line-height:1.75}
.wiki-search{position:relative;display:flex;align-items:center;width:min(620px,100%);margin:28px auto 0;border:1px solid rgba(94,220,210,.24);border-radius:12px;background:rgba(7,22,24,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 42px rgba(0,0,0,.22);overflow:hidden;transition:.25s ease}
.wiki-search:focus-within{border-color:rgba(116,239,229,.48);box-shadow:0 0 28px rgba(39,216,208,.08),inset 0 1px 0 rgba(255,255,255,.07)}
.wiki-search>span{padding-left:18px;color:#6cd7cf;font-size:1.3rem}
.wiki-search input{width:100%;padding:16px 18px 16px 12px;border:0;outline:0;background:transparent;color:#e4ece9;font:inherit}
.wiki-search input::placeholder{color:#70817d}
.wiki-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:15px}
.wiki-meta span{padding:6px 10px;border:1px solid rgba(112,181,175,.13);border-radius:999px;background:rgba(8,25,27,.35);color:#7f918d;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}
.wiki-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:74px}
.wiki-feature-card{position:relative;min-height:270px;padding:28px;border:1px solid rgba(88,211,201,.18);border-radius:16px;background:linear-gradient(145deg,rgba(13,38,40,.84),rgba(5,17,19,.9));box-shadow:0 24px 55px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden;transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease}
.wiki-feature-card:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(113,242,232,.08) 45%,transparent 67%);transform:translateX(-110%);transition:transform .75s ease}
.wiki-feature-card:hover:before{transform:translateX(110%)}
.wiki-feature-card:hover{transform:translateY(-6px);border-color:rgba(105,235,224,.4);box-shadow:0 30px 70px rgba(0,0,0,.34),0 0 28px rgba(39,216,208,.09)}
.wiki-feature-card>*{position:relative;z-index:1}
.wiki-feature-icon{width:50px;height:50px;display:grid;place-items:center;margin-bottom:30px;border:1px solid rgba(111,235,225,.34);border-radius:14px;background:rgba(20,92,91,.26);color:#a4f5ee;font-family:Cinzel,serif;font-size:1.35rem;box-shadow:inset 0 0 18px rgba(39,216,208,.08),0 0 22px rgba(39,216,208,.08)}
.wiki-feature-card small,.wiki-category small{color:#61cec6;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem}
.wiki-feature-card h2{margin:7px 0 10px;font-family:Cinzel,serif;color:var(--stone);font-size:1.35rem}
.wiki-feature-card p{margin:0 0 26px;color:#93a49f;font-size:.85rem;line-height:1.65}
.wiki-feature-card>span:last-child{color:#79dcd4;font-size:.75rem;font-weight:650}
.wiki-categories{margin-bottom:78px}
.wiki-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}
.wiki-category{padding:24px;border:1px solid rgba(89,198,190,.15);border-radius:14px;background:rgba(7,23,25,.64);box-shadow:0 18px 42px rgba(0,0,0,.2)}
.wiki-category header{display:flex;align-items:center;gap:15px;margin-bottom:18px}
.wiki-category header>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(107,218,209,.24);border-radius:50%;color:#77d9d1;font-family:Cinzel,serif;font-size:.75rem;background:rgba(12,56,58,.3)}
.wiki-category h3{margin:5px 0 0;font-family:Cinzel,serif;color:#d9d9cf;font-size:1rem}
.wiki-category nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wiki-category nav a{padding:10px 12px;border:1px solid rgba(100,165,160,.1);border-radius:8px;background:rgba(5,16,18,.35);color:#97a8a3;font-size:.76rem;transition:.22s ease}
.wiki-category nav a:hover{color:#dcf1ed;border-color:rgba(100,226,216,.25);background:rgba(15,55,57,.42);transform:translateX(2px)}
.wiki-articles{display:grid;gap:18px}
.wiki-article{display:grid;grid-template-columns:180px minmax(0,1fr);border:1px solid rgba(88,211,201,.16);border-radius:16px;background:linear-gradient(145deg,rgba(10,29,31,.82),rgba(5,16,18,.9));box-shadow:0 24px 58px rgba(0,0,0,.25);overflow:hidden;scroll-margin-top:95px}
.wiki-article>aside{padding:28px 22px;border-right:1px solid rgba(88,211,201,.12);background:linear-gradient(165deg,rgba(27,93,91,.18),rgba(5,16,18,.18))}
.wiki-article>aside span{display:block;margin-bottom:8px;color:#5fcac2;font-size:.61rem;letter-spacing:.15em;text-transform:uppercase}
.wiki-article>aside strong{font-family:Cinzel,serif;color:#d9d9cf;font-size:.96rem;line-height:1.45}
.wiki-article>div{padding:31px 34px}
.wiki-article h2{margin:0 0 14px;font-family:Cinzel,serif;color:var(--stone);font-size:1.55rem}
.wiki-article h3{margin:26px 0 9px;font-family:Cinzel,serif;color:#cfd3ca;font-size:1rem}
.wiki-article p,.wiki-article li{color:#9eada9;font-size:.85rem;line-height:1.75}
.wiki-article ol,.wiki-article ul{padding-left:20px}
.wiki-note{margin-top:22px;padding:16px 18px;border-left:2px solid rgba(81,218,207,.55);background:rgba(14,61,62,.22);border-radius:0 9px 9px 0}
.wiki-note strong{color:#b5eee8;font-size:.77rem}
.wiki-note p{margin:5px 0 0;font-size:.78rem}
.wiki-facts{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.wiki-facts>span{min-width:135px;padding:12px 14px;border:1px solid rgba(99,196,188,.15);border-radius:9px;background:rgba(5,18,20,.4);color:#c5d0cc;font-size:.76rem}
.wiki-facts small{display:block;margin-bottom:4px;color:#61cfc7;text-transform:uppercase;letter-spacing:.1em;font-size:.55rem}
.wiki-system-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:23px}
.wiki-system-list>div{padding:17px;border:1px solid rgba(99,196,188,.14);border-radius:10px;background:rgba(5,18,20,.4)}
.wiki-system-list span{width:30px;height:30px;display:grid;place-items:center;margin-bottom:12px;border:1px solid rgba(102,222,213,.25);border-radius:8px;color:#83e5dd;font-family:Cinzel,serif}
.wiki-system-list strong{display:block;color:#d2dad6;font-size:.8rem}
.wiki-system-list p{margin:7px 0 0;font-size:.72rem;line-height:1.55}
.wiki-inline-link{display:inline-flex;margin-top:12px;color:#80e1d9;font-weight:650;font-size:.8rem}
.wiki-empty{text-align:center;color:#8fa09b;padding:30px}
.wiki-item-hidden{display:none!important}
@media(max-width:900px){.wiki-shell{padding-top:110px}.wiki-feature-grid{grid-template-columns:1fr}.wiki-feature-card{min-height:0}.wiki-category-grid{grid-template-columns:1fr}.wiki-article{grid-template-columns:1fr}.wiki-article>aside{border-right:0;border-bottom:1px solid rgba(88,211,201,.12);padding:18px 22px}.wiki-system-list{grid-template-columns:1fr}}
@media(max-width:600px){.wiki-shell{width:min(100% - 28px,1180px);padding-top:90px}.wiki-intro{margin-bottom:38px}.wiki-feature-grid{margin-bottom:58px}.wiki-feature-card{padding:23px}.wiki-category{padding:18px}.wiki-category nav{grid-template-columns:1fr}.wiki-article>div{padding:24px 20px}.wiki-article h2{font-size:1.3rem}.wiki-facts{display:grid}.wiki-facts>span{min-width:0}}

.mod-wiki-link{display:inline-flex;margin-top:10px;color:#8be9df;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-decoration:none}.mod-wiki-link:hover{color:#fff}.wiki-mod-library{max-width:1180px;margin:90px auto 0}.wiki-library-intro{max-width:720px;margin:-18px auto 34px;text-align:center;color:#94aaa6;line-height:1.7}.wiki-mod-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wiki-mod-card{position:relative;padding:24px;border:1px solid rgba(97,223,212,.2);border-radius:16px;background:linear-gradient(145deg,rgba(14,34,37,.72),rgba(6,17,19,.86));box-shadow:0 18px 45px rgba(0,0,0,.24);text-decoration:none;overflow:hidden;transition:.3s ease}.wiki-mod-card:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(125,245,234,.07) 48%,transparent 72%);transform:translateX(-120%);transition:transform .8s ease}.wiki-mod-card:hover{transform:translateY(-4px);border-color:rgba(109,235,224,.46);box-shadow:0 26px 60px rgba(0,0,0,.34),0 0 28px rgba(39,216,208,.08)}.wiki-mod-card:hover:before{transform:translateX(120%)}.wiki-mod-card>span{display:inline-flex;margin-bottom:16px;padding:6px 10px;border:1px solid rgba(112,233,222,.28);border-radius:999px;color:#83e7de;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.wiki-mod-card h3{margin:0 0 10px;color:#e8efeb;font-family:Cinzel,serif;font-size:1.05rem}.wiki-mod-card p{margin:0 0 18px;color:#a4b5b1;font-size:.84rem;line-height:1.65}.wiki-mod-card small{color:#6fded4}.handbook-page{min-height:100vh}.handbook-layout{display:grid;grid-template-columns:250px minmax(0,860px);gap:44px;max-width:1180px;margin:0 auto;padding:130px 28px 100px}.handbook-sidebar{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid rgba(91,217,206,.17);border-radius:16px;background:rgba(7,20,22,.72);backdrop-filter:blur(18px)}.handbook-sidebar>span{margin:4px 8px 12px;color:#78928e;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.handbook-sidebar a{padding:9px 11px;border-radius:9px;color:#9fb1ad;font-size:.78rem;text-decoration:none}.handbook-sidebar a:hover,.handbook-sidebar a.active{color:#eafffb;background:rgba(52,213,202,.12)}.handbook-article{min-width:0}.handbook-hero{padding:38px;border:1px solid rgba(99,225,214,.23);border-radius:20px;background:linear-gradient(145deg,rgba(17,42,45,.78),rgba(5,16,18,.9));box-shadow:0 28px 70px rgba(0,0,0,.34)}.handbook-badge{display:inline-flex;padding:7px 11px;border:1px solid rgba(111,232,222,.35);border-radius:999px;color:#8ee9e0;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.handbook-category{margin:22px 0 4px;color:#718e89;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}.handbook-hero h1{margin:0 0 16px;color:#eef5f1;font-family:Cinzel,serif;font-size:clamp(2rem,5vw,3.7rem)}.handbook-hero>div>p:not(.handbook-category){max-width:700px;color:#aec0bc;line-height:1.8}.handbook-byline{margin-top:18px;color:#69827e;font-size:.72rem}.handbook-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 46px}.handbook-facts div{padding:16px;border:1px solid rgba(96,212,203,.16);border-radius:12px;background:rgba(9,25,27,.6)}.handbook-facts small{display:block;margin-bottom:7px;color:#6d8984;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}.handbook-facts strong{color:#dbe7e3;font-size:.84rem}.handbook-article section{padding:12px 6px 30px}.handbook-article section h2{margin:0 0 12px;color:#e7efeb;font-family:Cinzel,serif;font-size:1.35rem}.handbook-article section p,.handbook-article section li{color:#a5b7b3;line-height:1.8}.handbook-tip{margin:10px 0 28px;padding:24px!important;border-left:2px solid #55dcd1;border-radius:0 14px 14px 0;background:rgba(40,180,170,.08)}.handbook-actions{display:flex;gap:14px;flex-wrap:wrap;padding-top:18px;border-top:1px solid rgba(255,255,255,.07)}@media(max-width:900px){.wiki-mod-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.handbook-layout{grid-template-columns:1fr;padding-top:110px}.handbook-sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.wiki-mod-grid{grid-template-columns:1fr}.handbook-layout{padding-inline:14px}.handbook-hero{padding:26px 20px}.handbook-facts{grid-template-columns:1fr}.handbook-sidebar{grid-template-columns:1fr}.handbook-sidebar>span{grid-column:1}.handbook-hero h1{font-size:2rem}}
.mod-card-generic{--mod-accent:#64d8cd}
.mod-card-generic .mod-art{display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--mod-accent) 28%,transparent),transparent 44%),linear-gradient(145deg,#15282b,#081317)}
.mod-card-generic .mod-symbol{position:relative;z-index:2;display:grid;place-items:center;width:112px;height:112px;border:1px solid color-mix(in srgb,var(--mod-accent) 65%,transparent);border-radius:28px;background:color-mix(in srgb,var(--mod-accent) 10%,rgba(4,14,17,.88));box-shadow:0 0 38px color-mix(in srgb,var(--mod-accent) 20%,transparent),inset 0 0 24px color-mix(in srgb,var(--mod-accent) 10%,transparent);color:color-mix(in srgb,var(--mod-accent) 86%,white);font-family:Cinzel,serif;font-size:3.2rem;text-shadow:0 0 18px color-mix(in srgb,var(--mod-accent) 45%,transparent);transform:rotate(-3deg)}
.mod-card-generic .mod-orbit{position:absolute;border:1px solid color-mix(in srgb,var(--mod-accent) 30%,transparent);border-radius:50%;animation:modOrbit 9s linear infinite}
.mod-card-generic .orbit-a{width:190px;height:190px}.mod-card-generic .orbit-b{width:250px;height:250px;animation-direction:reverse;animation-duration:14s}
.mod-card-generic .mod-status,.mod-card-generic .mod-tags span{border-color:color-mix(in srgb,var(--mod-accent) 38%,transparent);color:color-mix(in srgb,var(--mod-accent) 75%,white);background:color-mix(in srgb,var(--mod-accent) 8%,transparent)}
.mod-card-generic:hover{border-color:color-mix(in srgb,var(--mod-accent) 52%,transparent);box-shadow:0 34px 85px rgba(0,0,0,.5),0 0 35px color-mix(in srgb,var(--mod-accent) 13%,transparent),inset 0 1px 0 rgba(255,255,255,.08)}
@keyframes modOrbit{to{transform:rotate(360deg)}}

/* handbook v3 */
.handbook-article{--handbook-accent:#55dcd1}.handbook-hero{position:relative;overflow:hidden}.handbook-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--handbook-accent) 24%,transparent),transparent 45%);pointer-events:none}.handbook-hero>div{position:relative;z-index:1}.handbook-badge{border-color:color-mix(in srgb,var(--handbook-accent) 50%,transparent);color:color-mix(in srgb,var(--handbook-accent) 75%,white);background:color-mix(in srgb,var(--handbook-accent) 10%,transparent)}.handbook-feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.handbook-feature-list>div{padding:17px;border:1px solid rgba(96,212,203,.15);border-radius:12px;background:rgba(8,24,26,.55)}.handbook-feature-list span{display:grid;place-items:center;width:34px;height:34px;margin-bottom:11px;border:1px solid color-mix(in srgb,var(--handbook-accent) 42%,transparent);border-radius:9px;color:var(--handbook-accent)}.handbook-feature-list p{margin:0;font-size:.82rem;line-height:1.6}.handbook-article details{margin:10px 0;border:1px solid rgba(96,212,203,.14);border-radius:12px;background:rgba(8,24,26,.45)}.handbook-article summary{padding:15px 17px;color:#dce9e5;font-weight:600;cursor:pointer}.handbook-article details p{margin:0;padding:0 17px 17px}.handbook-related{display:flex;flex-wrap:wrap;gap:9px}.handbook-related a{padding:9px 12px;border:1px solid rgba(99,220,210,.16);border-radius:999px;background:rgba(10,39,41,.5);color:#a8c5c0;font-size:.76rem}.handbook-related a:hover{color:#fff;border-color:rgba(99,220,210,.38)}.wiki-mod-card{border-color:color-mix(in srgb,var(--wiki-accent) 28%,rgba(97,223,212,.2))}.wiki-mod-symbol{width:42px;height:42px;display:grid;place-items:center;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--wiki-accent) 48%,transparent);border-radius:11px;color:var(--wiki-accent);background:color-mix(in srgb,var(--wiki-accent) 10%,transparent);font-family:Cinzel,serif}.wiki-mod-card>span{border-color:color-mix(in srgb,var(--wiki-accent) 40%,transparent);color:color-mix(in srgb,var(--wiki-accent) 75%,white)}@media(max-width:760px){.handbook-feature-list{grid-template-columns:1fr}.handbook-sidebar{max-height:360px;overflow:auto}}


/* 3.0.1 */
.action-icon img[src$="curseforge-mark.svg"],
.curseforge-link img[src$="curseforge-mark.svg"],
.action-card:hover .action-icon img[src$="curseforge-mark.svg"],
.curseforge-link:hover img[src$="curseforge-mark.svg"],
.mod-card:hover .curseforge-link img[src$="curseforge-mark.svg"]{
  filter:brightness(0) invert(1) drop-shadow(0 0 10px rgba(255,255,255,.42)) !important;
  opacity:1 !important;
}


/* 3.0.2 */
.mods-card .action-icon img[src$="curseforge-mark.svg"],
.mods-card:hover .action-icon img[src$="curseforge-mark.svg"],
.curseforge-link img[src$="curseforge-mark.svg"],
.curseforge-link:hover img[src$="curseforge-mark.svg"],
.mod-card:hover .curseforge-link img[src$="curseforge-mark.svg"]{
  filter:drop-shadow(0 0 10px rgba(255,255,255,.42)) !important;
  opacity:1 !important;
}
.mods-card:hover .action-icon img[src$="curseforge-mark.svg"]{
  filter:drop-shadow(0 0 14px rgba(255,255,255,.58)) !important;
}
.mod-wiki-link{
  margin-right:14px;
  margin-bottom:12px;
}
.mod-content .curseforge-link{
  margin-top:12px;
}

.wiki-story-entry{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:42px;align-items:center;margin:0 0 42px;padding:38px;border:1px solid rgba(98,226,216,.22);border-radius:18px;background:linear-gradient(135deg,rgba(13,42,44,.9),rgba(5,18,20,.94));box-shadow:0 28px 70px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden}.wiki-story-entry:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 18%,rgba(60,219,208,.12),transparent 38%);pointer-events:none}.wiki-story-copy,.wiki-story-route{position:relative;z-index:1}.wiki-story-copy h2{margin:0 0 14px;font-family:Cinzel,serif;color:var(--stone);font-size:clamp(1.7rem,3vw,2.55rem)}.wiki-story-copy p{max-width:720px;margin:0 0 20px;color:#9eafaa;line-height:1.72}.wiki-story-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.wiki-story-tags span{padding:7px 10px;border:1px solid rgba(103,214,205,.16);border-radius:999px;background:rgba(7,27,29,.58);color:#8fb7b1;font-size:.68rem}.wiki-story-route{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.wiki-story-route div{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;border:1px solid rgba(99,218,208,.18);border-radius:14px;background:rgba(4,18,20,.58);text-align:center}.wiki-story-route div span{color:#66d9d0;font-family:Cinzel,serif;font-size:.68rem}.wiki-story-route div strong{margin:7px 0 2px;color:#d8ded8;font-family:Cinzel,serif;font-size:.88rem}.wiki-story-route div small{color:#748783;font-size:.62rem}.wiki-story-route i{width:18px;height:1px;background:linear-gradient(90deg,rgba(81,220,210,.1),rgba(81,220,210,.55),rgba(81,220,210,.1))}
.story-shell{position:relative;z-index:2;width:min(1120px,calc(100% - 40px));margin:0 auto;padding:138px 0 100px}.story-hero{position:relative;min-height:570px;display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:40px;padding:58px;border:1px solid rgba(101,225,215,.22);border-radius:22px;background:linear-gradient(90deg,rgba(4,16,18,.93) 0%,rgba(6,20,22,.8) 53%,rgba(7,17,18,.42) 100%),url('../images/hytale-hero.jpeg') center/cover;box-shadow:0 38px 90px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);overflow:hidden}.story-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(4,13,15,.68));pointer-events:none}.story-hero-content,.story-hero-emblem{position:relative;z-index:1}.story-hero h1{max-width:720px;margin:0;font-family:Cinzel,serif;font-size:clamp(3rem,7vw,5.8rem);line-height:.98;font-weight:600;color:var(--stone);text-shadow:0 8px 38px rgba(0,0,0,.55)}.story-hero blockquote{max-width:720px;margin:24px 0 28px;padding-left:20px;border-left:2px solid rgba(104,232,222,.46);color:#c1ceca;font-size:clamp(.96rem,1.6vw,1.12rem);font-style:italic;line-height:1.75}.story-hero-actions{display:flex;flex-wrap:wrap;gap:10px}.story-hero-emblem{align-self:center;justify-self:center;width:150px;height:150px;display:grid;place-items:center;border:1px solid rgba(122,237,228,.28);border-radius:50%;background:rgba(5,25,27,.56);box-shadow:inset 0 0 35px rgba(58,218,207,.1),0 0 45px rgba(38,208,198,.08);text-align:center}.story-hero-emblem span{position:absolute;color:#83e6de;font-size:2.8rem}.story-hero-emblem small{margin-top:72px;color:#9fb7b2;font-family:Cinzel,serif;font-size:.62rem;line-height:1.45;letter-spacing:.08em;text-transform:uppercase}.story-progress{position:sticky;top:76px;z-index:8;display:flex;justify-content:center;gap:8px;margin:22px 0 52px;padding:10px;border:1px solid rgba(91,193,186,.14);border-radius:999px;background:rgba(5,17,19,.78);backdrop-filter:blur(14px);box-shadow:0 18px 42px rgba(0,0,0,.25)}.story-progress a{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;color:#82948f;font-size:.7rem;transition:.22s ease}.story-progress a span{color:#5fcfc7;font-family:Cinzel,serif;font-size:.58rem}.story-progress a:hover,.story-progress a.active{color:#dce9e5;background:rgba(35,121,117,.18);box-shadow:inset 0 0 0 1px rgba(99,220,211,.12)}.story-chapter{display:grid;grid-template-columns:155px minmax(0,1fr);gap:34px;padding:48px 0;border-top:1px solid rgba(100,182,176,.12);scroll-margin-top:145px}.story-chapter>aside{padding-top:7px}.story-chapter>aside span{display:block;color:#64d6ce;font-family:Cinzel,serif;font-size:2.2rem}.story-chapter>aside small{display:block;margin-top:4px;color:#617470;font-size:.63rem;letter-spacing:.12em;text-transform:uppercase}.story-chapter>div{padding:0 4px}.story-chapter h2,.story-future h2,.story-next h2{margin:0 0 18px;font-family:Cinzel,serif;color:var(--stone);font-size:clamp(1.8rem,3.6vw,3rem)}.story-chapter p,.story-future p,.story-next p{color:#9badA8;line-height:1.8}.story-chapter-highlight>div{padding:32px;border:1px solid rgba(87,210,200,.16);border-radius:17px;background:linear-gradient(145deg,rgba(9,31,33,.76),rgba(5,17,19,.82));box-shadow:0 24px 58px rgba(0,0,0,.22)}.story-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}.story-card-grid article{padding:21px;border:1px solid rgba(98,203,195,.14);border-radius:13px;background:rgba(4,18,20,.52)}.story-card-grid article>span{color:#6fddd5;font-size:1.25rem}.story-card-grid h3{margin:12px 0 7px;font-family:Cinzel,serif;color:#d5dad3;font-size:.95rem}.story-card-grid p{margin:0;font-size:.78rem;line-height:1.6}.story-rule-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px}.story-rule-row div{padding:17px;border:1px solid rgba(102,194,187,.13);border-radius:11px;background:rgba(4,18,20,.42)}.story-rule-row strong,.story-rule-row span{display:block}.story-rule-row strong{color:#d8ddd6;font-family:Cinzel,serif;font-size:.84rem}.story-rule-row span{margin-top:5px;color:#758984;font-size:.69rem}.story-quote{margin:28px 0;padding:22px 26px;border-left:2px solid rgba(105,225,216,.44);background:linear-gradient(90deg,rgba(22,76,75,.22),transparent);color:#b9cbc7;font-family:Cinzel,serif;font-size:clamp(1rem,2vw,1.35rem);font-style:italic}.story-farm-notice{display:flex;gap:18px;align-items:center;margin:26px 0;padding:22px;border:1px solid rgba(103,218,209,.18);border-radius:14px;background:rgba(10,43,44,.4)}.story-farm-notice>span{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(107,225,216,.28);border-radius:50%;color:#74dfd7;font-size:1.35rem}.story-farm-notice strong{color:#d7ded8;font-family:Cinzel,serif}.story-farm-notice p{margin:4px 0 0;font-size:.79rem}.story-future{margin-top:28px;padding:52px;border:1px solid rgba(104,216,207,.17);border-radius:20px;background:radial-gradient(circle at 50% 0,rgba(49,172,165,.11),transparent 45%),rgba(5,19,21,.72);text-align:center}.story-future>p{max-width:790px;margin:0 auto}.story-evolution{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:36px}.story-evolution div{min-width:145px;padding:18px;border:1px solid rgba(104,206,198,.14);border-radius:12px;background:rgba(4,17,19,.56)}.story-evolution span,.story-evolution strong,.story-evolution small{display:block}.story-evolution span{color:#64d8d0;font-family:Cinzel,serif;font-size:.7rem}.story-evolution strong{margin:7px 0 3px;color:#d9ddd7;font-family:Cinzel,serif;font-size:.82rem}.story-evolution small{color:#758682;font-size:.62rem}.story-evolution i{width:32px;height:1px;background:linear-gradient(90deg,transparent,#51cfc6,transparent)}.story-next{margin-top:22px;padding:44px;text-align:center}.story-next p{max-width:720px;margin:0 auto 24px}.story-next>div{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.handbook-start-link{margin-bottom:14px;border-color:rgba(97,218,209,.24)!important;background:rgba(20,73,73,.28)!important;color:#b8e4df!important}
@media(max-width:850px){.wiki-story-entry{grid-template-columns:1fr}.wiki-story-route{grid-template-columns:repeat(4,minmax(0,1fr))}.wiki-story-route i{display:none}.story-hero{grid-template-columns:1fr;min-height:610px;padding:36px}.story-hero-emblem{display:none}.story-card-grid,.story-rule-row{grid-template-columns:1fr}.story-evolution{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.story-evolution i{display:none}.story-progress{justify-content:flex-start;overflow-x:auto;border-radius:16px}.story-progress a{flex:0 0 auto}.story-chapter{grid-template-columns:88px minmax(0,1fr);gap:18px}.story-future{padding:34px 24px}}
@media(max-width:560px){.story-shell{width:min(100% - 24px,1120px);padding-top:112px}.story-hero{min-height:640px;padding:28px 22px;border-radius:16px;background-position:58% center}.story-hero h1{font-size:2.65rem}.story-hero-actions .button{width:100%;justify-content:center}.story-progress{top:66px;margin-bottom:28px}.story-chapter{grid-template-columns:1fr;gap:10px;padding:34px 0}.story-chapter>aside{display:flex;align-items:baseline;gap:10px}.story-chapter>aside span{font-size:1.45rem}.story-chapter-highlight>div{padding:22px}.story-future{margin-top:10px;padding:28px 18px}.story-evolution{grid-template-columns:1fr 1fr}.wiki-story-entry{padding:25px 20px}.wiki-story-route{grid-template-columns:1fr 1fr}.wiki-story-route div{min-height:96px}.story-next{padding:34px 8px}}

/* 3.0.4 – Einführung und Logo */
.story-hero-actions{margin-top:28px;gap:12px}
.story-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:1px solid rgba(104,222,213,.22);border-radius:999px;background:rgba(8,29,31,.72);color:#c7d8d4;font-size:.78rem;font-weight:600;line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.story-action:hover{transform:translateY(-2px);border-color:rgba(108,231,221,.45);background:rgba(19,68,68,.68);box-shadow:0 10px 26px rgba(0,0,0,.24),0 0 20px rgba(55,199,190,.08);color:#eef7f4}
.story-action-primary{border-color:rgba(111,231,222,.38);background:linear-gradient(135deg,rgba(40,143,137,.72),rgba(19,83,82,.72));color:#f1fbf8}
.story-hero-emblem{width:176px;height:196px;border:0;border-radius:0;background:none;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.story-hero-emblem img{display:block;width:148px;height:148px;object-fit:contain;filter:drop-shadow(0 16px 28px rgba(0,0,0,.36))}
.story-hero-emblem small{margin:0;color:#b4c5c0;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.story-next-actions{margin-top:28px!important;gap:12px!important}
.story-next p + .story-next-actions{padding-top:0}

.wiki-story-route{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.wiki-story-route i{display:none}
.wiki-story-route div{position:relative;min-width:0;padding:16px 10px}
.wiki-story-route div:not(:last-child):after{content:"";position:absolute;top:50%;left:100%;width:12px;height:1px;background:linear-gradient(90deg,rgba(81,220,210,.5),rgba(81,220,210,.08));transform:translateY(-50%)}
.wiki-story-copy .button{margin-top:4px}
.wiki-story-tags{margin-top:20px;margin-bottom:26px}
.story-progress{padding-inline:14px}
.story-progress a{margin:0}

@media(max-width:850px){
  .wiki-story-route{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .wiki-story-route div:after{display:none}
}
@media(max-width:560px){
  .story-hero-actions{margin-top:24px}
  .story-hero-actions .story-action,.story-next-actions .story-action{width:100%}
  .wiki-story-route{grid-template-columns:1fr 1fr}
  .wiki-story-route div{min-height:104px}
}


/* 3.0.7 */
.discord-card{
  border-color:rgba(88,101,242,.58)!important;
}
.discord-card:hover,.discord-card:focus-visible{
  border-color:rgba(122,132,255,.9)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 24px 58px rgba(0,0,0,.42),0 0 30px rgba(88,101,242,.2)!important;
}
.mods-card{
  border-color:rgba(241,100,30,.6)!important;
}
.mods-card:hover,.mods-card:focus-visible{
  border-color:rgba(255,132,62,.92)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 24px 58px rgba(0,0,0,.42),0 0 30px rgba(241,100,30,.18)!important;
}
.discord-live-stat{display:inline-flex!important;align-items:center;gap:7px}
.discord-live-stat:before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#38d66b;box-shadow:0 0 9px rgba(56,214,107,.72)}


/* 3.0.8 */
@media(max-width:900px){
  .hero-primary-actions .discord-card .action-copy small.discord-live-stat,
  .hero-primary-actions .mods-card .action-copy small{display:inline-flex!important;font-size:.68rem;line-height:1.25;white-space:normal}
}
@media(max-width:650px){
  .hero-primary-actions .discord-card .action-copy small.discord-live-stat,
  .hero-primary-actions .mods-card .action-copy small{font-size:.65rem}
}


/* 3.0.9 */
.member-card-v20.former-member{
  --role-accent:#8f9895;
  --role-soft:rgba(143,152,149,.08);
  opacity:.76;
  filter:saturate(.28);
  border-color:rgba(163,171,168,.26);
  box-shadow:0 24px 62px rgba(0,0,0,.3);
  transform:none!important;
}
.member-card-v20.former-member:before{display:none}
.member-card-v20.former-member .member-visual img{filter:grayscale(1) contrast(.94);opacity:.84}
.member-card-v20.former-member .member-glow{opacity:.28;box-shadow:none}
.member-card-v20.former-member .member-accent{background:#8f9895;box-shadow:none}
.member-card-v20.former-member .member-info>strong{color:#b8c0bd}
.member-card-v20.former-member .member-tags span{border-color:rgba(166,174,171,.2);background:rgba(145,153,150,.07);color:#adb7b3}
.member-card-v20.former-member:hover{
  transform:none!important;
  filter:saturate(.28);
  border-color:rgba(163,171,168,.26);
  box-shadow:0 24px 62px rgba(0,0,0,.3);
}
.member-card-v20.former-member:hover .member-tags span{transform:none;box-shadow:none;border-color:rgba(166,174,171,.2);background:rgba(145,153,150,.07)}
.member-card-v20.former-member:hover .member-info h3{color:inherit}
.member-card-v20.former-member:hover .member-glow{box-shadow:none}


/* 3.0.10 */
@media(max-width:900px){
  .nav-shell:before,
  .nav-shell:after{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    mask-image:none;
    -webkit-mask-image:none;
  }
  .nav-shell:before{
    background:linear-gradient(90deg,rgba(5,17,19,.98) 0%,rgba(5,17,19,.82) 38%,rgba(5,17,19,.38) 70%,rgba(5,17,19,0) 100%);
  }
  .nav-shell:after{
    background:linear-gradient(270deg,rgba(5,17,19,.98) 0%,rgba(5,17,19,.82) 38%,rgba(5,17,19,.38) 70%,rgba(5,17,19,0) 100%);
  }
}

.story-progress-shell{position:sticky;top:76px;z-index:8;margin:22px 0 52px}
.story-progress-shell .story-progress{position:relative;top:auto;margin:0}
@media(max-width:900px){
  .story-progress-shell{top:76px;position:sticky;z-index:8;display:block;min-width:0}
  .story-progress-shell:before,
  .story-progress-shell:after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    z-index:4;
    width:52px;
    pointer-events:none;
    opacity:0;
    background:rgba(6,15,17,.01);
    backdrop-filter:blur(10px) saturate(108%);
    -webkit-backdrop-filter:blur(10px) saturate(108%);
    transition:opacity .2s ease;
  }
  .story-progress-shell:before{
    left:0;
    mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 46%,transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 46%,transparent 100%);
  }
  .story-progress-shell:after{
    right:0;
    mask-image:linear-gradient(270deg,#000 0%,rgba(0,0,0,.72) 46%,transparent 100%);
    -webkit-mask-image:linear-gradient(270deg,#000 0%,rgba(0,0,0,.72) 46%,transparent 100%);
  }
  .story-progress-shell.can-scroll-left:before,
  .story-progress-shell.can-scroll-right:after{opacity:1}
  .story-progress-shell .nav-scroll-control{
    position:absolute;
    top:50%;
    z-index:5;
    display:grid;
    place-items:center;
    width:30px;
    height:36px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:rgba(218,239,234,.78);
    font-size:1.45rem;
    line-height:1;
    cursor:pointer;
    transform:translateY(-50%);
    box-shadow:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease,color .2s ease,text-shadow .2s ease;
  }
  .story-progress-shell .nav-scroll-prev{left:2px}
  .story-progress-shell .nav-scroll-next{right:2px}
  .story-progress-shell.can-scroll-left .nav-scroll-prev,
  .story-progress-shell.can-scroll-right .nav-scroll-next{opacity:1;visibility:visible;pointer-events:auto}
  .story-progress-shell .nav-scroll-control:hover,
  .story-progress-shell .nav-scroll-control:focus-visible{color:#f1fbf7;text-shadow:0 0 12px rgba(112,239,229,.48);outline:none}
  .story-progress-shell .story-progress{
    display:flex;
    gap:7px;
    min-width:0;
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    padding:6px 34px;
    border-radius:14px;
    scroll-padding-inline:34px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .story-progress-shell .story-progress::-webkit-scrollbar{display:none}
  .story-progress-shell .story-progress a{
    flex:0 0 auto;
    min-height:31px;
    padding:7px 11px;
    white-space:nowrap;
    font-size:.66rem;
    scroll-snap-align:start;
  }
}
@media(max-width:600px){
  .story-progress-shell{top:66px;margin-bottom:28px}
  .story-progress-shell .story-progress{padding-left:32px;padding-right:32px;scroll-padding-inline:32px}
  .story-progress-shell .story-progress a{padding:7px 10px;font-size:.63rem}
}


/* 3.0.12 */
.discord-live-stat{overflow:visible!important;text-overflow:clip!important;position:relative}
.discord-live-stat:before{position:relative;z-index:1;overflow:visible}


/* 3.0.15 */
.team-vacancies{margin-top:66px}
.team-vacancies-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:calc(50% + 50%);margin:0 auto}
.member-card-v20.unassigned-role{
  --role-accent:#8e9693;
  --role-soft:rgba(142,150,147,.06);
  min-height:600px;
  border-color:rgba(155,164,160,.22);
  background:linear-gradient(180deg,rgba(14,22,23,.58),rgba(8,14,15,.72));
  box-shadow:0 20px 54px rgba(0,0,0,.26);
  filter:saturate(.2);
}
.member-card-v20.unassigned-role:before{display:none}
.member-card-v20.unassigned-role .member-accent{background:linear-gradient(90deg,transparent,#929a97,transparent);box-shadow:none;opacity:.62}
.member-card-v20.unassigned-role .member-badge-muted{color:#adb5b2;border-color:rgba(166,175,171,.22);background:rgba(132,141,137,.08)}
.member-card-v20.unassigned-role .member-visual{background:radial-gradient(circle at 50% 75%,rgba(146,153,150,.06),transparent 43%),linear-gradient(180deg,rgba(18,27,28,.26),rgba(4,10,11,.04))}
.member-card-v20.unassigned-role .member-visual img{
  filter:grayscale(1) contrast(1.25) brightness(.48);
  opacity:.16;
}
.member-card-v20.unassigned-role .member-glow{opacity:.15;box-shadow:none;border-color:rgba(166,175,171,.14);background:radial-gradient(circle,rgba(150,158,155,.06),transparent 66%)}
.member-card-v20.unassigned-role .member-info>strong{color:#aeb6b3}
.member-card-v20.unassigned-role .member-info p{color:rgba(205,216,212,.62)}
.member-card-v20.unassigned-role .member-tags span{border-color:rgba(164,172,169,.18);background:rgba(142,150,147,.06);color:#aeb7b3}
.member-card-v20.unassigned-role:hover{transform:none;border-color:rgba(155,164,160,.28);box-shadow:0 20px 54px rgba(0,0,0,.26)}
.member-card-v20.unassigned-role:hover .member-visual img{transform:none;filter:grayscale(1) contrast(1.25) brightness(.48);opacity:.16}
.member-card-v20.unassigned-role:hover .member-glow{transform:translateX(-50%);box-shadow:none}
.member-card-v20.unassigned-role:hover .member-tags span{transform:none;box-shadow:none;border-color:rgba(164,172,169,.18);background:rgba(142,150,147,.06)}
.member-card-v20.unassigned-role:hover .member-info h3{color:inherit}
@media(max-width:1080px){.team-vacancies-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.team-vacancies{margin-top:46px}.team-vacancies-grid{grid-template-columns:1fr}}

/* 3.0.17 */
.team-avatar-stack img{
  width:88%;
  height:88%;
  object-fit:contain;
  object-position:center;
  transform:none;
  transform-origin:center;
  margin:6%;
}
.member-card-v20 .member-visual{
  height:370px;
  align-items:center;
  justify-content:center;
  padding:0;
}
.member-card-v20 .member-visual img{
  height:340px;
  max-width:235px;
  object-position:center;
  transform-origin:center;
}
.member-card-v20 .member-glow{
  top:50%;
  bottom:auto;
  width:220px;
  height:220px;
  transform:translate(-50%,-50%);
}
.member-card-v20:hover .member-glow{
  transform:translate(-50%,-50%) scale(1.08) rotate(8deg);
}
.member-card-v20.unassigned-role:hover .member-glow{
  transform:translate(-50%,-50%);
}
@media(max-width:640px){
  .team-avatar-stack img{width:86%;height:86%;margin:7%}
  .member-card-v20 .member-visual{height:350px}
  .member-card-v20 .member-visual img{height:325px;max-width:225px}
  .member-card-v20 .member-glow{width:210px;height:210px}
}


/* 3.0.18 */
.team-avatar-stack img{
  width:72%;
  height:72%;
  object-fit:contain;
  object-position:center;
  margin:14%;
}
.member-card-v20 .member-visual{
  height:410px;
}
.member-card-v20 .member-visual img{
  height:390px;
  max-width:305px;
}
.member-card-v20 .member-glow{
  width:245px;
  height:245px;
}
@media(max-width:640px){
  .team-avatar-stack img{width:70%;height:70%;margin:15%}
  .member-card-v20 .member-visual{height:390px}
  .member-card-v20 .member-visual img{height:370px;max-width:290px}
  .member-card-v20 .member-glow{width:230px;height:230px}
}


/* 3.0.22 */
.team-avatar-stack img{
  width:72%;
  height:72%;
  margin:14%;
  object-fit:contain;
  object-position:center;
  transform:translateY(-8%);
  transform-origin:center;
}
.member-card-v20 .member-visual{
  height:490px;
}
.member-card-v20 .member-visual img{
  height:468px;
  max-width:366px;
}
.member-card-v20 .member-glow{
  width:285px;
  height:285px;
}
@media(max-width:640px){
  .team-avatar-stack img{width:70%;height:70%;margin:15%;transform:translateY(-8%)}
  .member-card-v20 .member-visual{height:465px}
  .member-card-v20 .member-visual img{height:444px;max-width:348px}
  .member-card-v20 .member-glow{width:270px;height:270px}
}

/* 3.0.22 */
.member-card-v20 .member-glow{
  width:245px;
  height:245px;
}
@media(max-width:640px){
  .member-card-v20 .member-glow{
    width:230px;
    height:230px;
  }
}
.unassigned-role .member-visual img{
  display:none !important;
}

/* Team avatar normalization */
.member-card-v20:not(.unassigned-role) .member-visual img{
  width:366px;
  height:468px;
  max-width:none;
  object-fit:contain;
  object-position:center;
}
.team-vacancies-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:1080px){
  .team-vacancies-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .member-card-v20:not(.unassigned-role) .member-visual img{
    width:348px;
    height:444px;
    max-width:none;
  }
  .team-vacancies-grid{grid-template-columns:1fr}
}




/* 3.0.28 - public server state */
.prelaunch-status.online-status span{
  background:#55d989;
  box-shadow:0 0 12px rgba(85,217,137,.72);
}
.hero-server-card{
  width:100%;
  margin-bottom:13px;
  min-height:78px;
  grid-template-columns:58px minmax(0,1fr) 24px;
  column-gap:12px;
  padding:13px 18px;
}
.hero-server-card .server-address-icon{
  color:#b9f2ec;
}
.hero-server-card .server-address-icon svg{
  width:42px;
  height:42px;
  filter:drop-shadow(0 0 10px rgba(124,229,219,.22));
}
.hero-server-card.is-copied{
  border-color:rgba(85,217,137,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 42px rgba(0,0,0,.28),0 0 24px rgba(85,217,137,.13);
}
@media(max-width:650px){
  .hero-server-card{min-height:72px;padding:12px 14px}
}

/* 3.0.29 restored server address button */
.hero-action-panel>.hero-server-card{display:grid!important;visibility:visible!important;opacity:1!important;width:100%;margin:0 0 13px;min-height:82px;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;column-gap:12px;padding:14px 18px;border:1px solid rgba(124,229,219,.28);border-radius:14px;cursor:pointer;color:#eefafa;text-align:left;background:linear-gradient(135deg,rgba(8,76,83,.88),rgba(9,46,51,.88));box-shadow:0 18px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.055)}
.hero-action-panel>.hero-server-card:hover{transform:translateY(-3px);filter:brightness(1.08)}
.hero-action-panel>.hero-server-card .server-address-icon{width:52px;height:52px;display:grid;place-items:center;color:#9de8df}
.hero-action-panel>.hero-server-card .server-address-icon svg{width:42px;height:42px}
.hero-action-panel>.hero-server-card.is-copied{border-color:rgba(85,217,137,.55);box-shadow:0 0 24px rgba(85,217,137,.14)}

/* 3.0.40 standalone pages, votes and events */
.standalone-page{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:130px 24px 90px}
.standalone-hero{text-align:center;max-width:820px;margin:0 auto 52px}.standalone-hero h1{font-family:Cinzel,serif;font-size:clamp(2.6rem,7vw,5rem);color:var(--stone);margin:.2em 0}.standalone-hero p{color:var(--muted);line-height:1.8}
.vote-grid,.home-event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.vote-card,.home-event-card,.event-detail-card,.standalone-note{border:1px solid rgba(124,229,219,.18);background:linear-gradient(180deg,rgba(12,28,31,.9),rgba(7,18,20,.95));border-radius:18px;box-shadow:0 22px 55px rgba(0,0,0,.24)}
.vote-card{padding:28px;text-decoration:none;color:inherit;transition:.25s}.vote-card:hover{transform:translateY(-4px);border-color:rgba(124,229,219,.42)}.vote-card>span,.event-detail-card small,.home-event-card small{color:var(--teal-soft);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}.vote-card h2,.home-event-card h3,.event-detail-card h2,.event-detail-card h3,.standalone-note h2{font-family:Cinzel,serif;color:var(--stone)}.vote-card p,.home-event-card p,.event-detail-card p,.standalone-note p{color:var(--muted);line-height:1.7}.vote-card b,.home-event-card b{color:var(--teal-soft)}
.standalone-note{margin-top:24px;padding:28px;text-align:center}.event-detail-grid{display:grid;gap:24px}.event-detail-card{overflow:hidden}.event-detail-card>div:not(.event-detail-art):not(.event-detail-image){padding:34px}.event-detail-art{min-height:190px;display:grid;place-items:center;background:radial-gradient(circle,rgba(116,89,185,.25),transparent 60%),linear-gradient(135deg,#111823,#1c1422)}.event-detail-art span{font-size:6rem;color:#c8b3e7}.event-detail-image{max-height:520px;overflow:hidden;background:#100c08}.event-detail-image img{display:block;width:100%;height:100%;max-height:520px;object-fit:cover}.event-meta{font-size:.82rem;border-top:1px solid rgba(255,255,255,.08);padding-top:16px;margin-top:22px}.home-events-section{padding-top:60px}.home-event-grid{max-width:1000px;margin:34px auto 0;grid-template-columns:repeat(2,1fr)}.home-event-card{padding:28px;text-decoration:none;color:inherit;transition:.25s}.home-event-card:hover{transform:translateY(-3px);border-color:rgba(124,229,219,.38)}
.handbook-note{padding:16px 18px;border-left:3px solid var(--handbook-accent);background:rgba(255,255,255,.035);border-radius:0 10px 10px 0}
@media(max-width:800px){.vote-grid{grid-template-columns:1fr}.home-event-grid{grid-template-columns:1fr}.standalone-page{padding-top:110px}.event-detail-card>div:not(.event-detail-art):not(.event-detail-image){padding:24px}}

/* 3.0.41: mod cards, nested mods and event navigation */
.mods-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.mods-grid>.mod-card{width:auto!important;max-width:none!important;margin:0!important;height:100%}
.mod-extensions{margin:16px 0 16px;padding:12px 14px;border:1px solid rgba(124,229,219,.13);border-radius:10px;background:rgba(255,255,255,.025)}
.mod-extensions>strong{display:block;margin-bottom:8px;font-family:Cinzel,serif;font-size:.7rem;letter-spacing:.07em;color:#c9dbd6}
.mod-extensions>div{display:flex;flex-wrap:wrap;gap:7px}
.mod-extensions a{font-size:.69rem;color:#78d9d1;text-decoration:none;border:1px solid rgba(124,229,219,.16);border-radius:999px;padding:5px 8px;background:rgba(7,20,22,.34)}
.mod-extensions a:hover{border-color:rgba(124,229,219,.38);color:#eefdfb}
.handbook-extension-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.handbook-extension-grid a{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid rgba(124,229,219,.16);border-radius:12px;background:rgba(255,255,255,.025);text-decoration:none}
.handbook-extension-grid strong{color:#e6efec;font-family:Cinzel,serif}.handbook-extension-grid span{color:var(--muted);font-size:.86rem;line-height:1.55}
.event-page-layout{max-width:1380px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:start}
.event-page-layout>.standalone-hero{grid-column:1/-1}
.event-page-main{min-width:0}.event-side-nav{position:sticky;top:100px;padding:16px;border:1px solid rgba(124,229,219,.16);border-radius:14px;background:rgba(7,18,20,.86);backdrop-filter:blur(12px)}
.event-side-nav>small{display:block;margin:2px 8px 10px;color:#7ce5db;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}
.event-side-nav a{display:grid;grid-template-columns:30px 1fr;grid-template-areas:'icon title' 'icon status';column-gap:9px;padding:11px 10px;margin-top:7px;border-radius:10px;text-decoration:none;color:#dce9e5;border:1px solid transparent;background:rgba(255,255,255,.025)}
.event-side-nav a:hover{border-color:rgba(124,229,219,.25);background:rgba(124,229,219,.055)}
.event-side-nav span{grid-area:icon;align-self:center;font-size:1.2rem;color:#d9c092}.event-side-nav b{grid-area:title;font-family:Cinzel,serif;font-size:.76rem}.event-side-nav em{grid-area:status;color:#829892;font-style:normal;font-size:.68rem;margin-top:3px}
.event-detail-card{scroll-margin-top:105px}.event-top-nav{display:flex;align-items:center;gap:8px;justify-self:end}.event-top-nav a{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:#b8c9c4;padding:8px 10px;border-radius:999px}.event-top-nav a:hover,.event-top-nav a.active{color:#fff;background:rgba(124,229,219,.08)}
@media(max-width:900px){.mods-grid{grid-template-columns:1fr}.event-page-layout{grid-template-columns:1fr}.event-side-nav{position:static;grid-row:2;display:grid;grid-template-columns:1fr 1fr}.event-side-nav>small{grid-column:1/-1}.handbook-extension-grid{grid-template-columns:1fr}.event-top-nav{gap:2px}.event-top-nav a{padding:7px 6px;font-size:.6rem}}

/* 3.0.44 canonical NonSolus logo */
.hero-brand-logo{
  display:block;
  width:clamp(118px,14vw,190px);
  height:auto;
  margin:0 auto 18px;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.38));
}
.brand-logo{object-fit:contain}

/* 3.0.45 typography consistency */
.hero-title-block h1,
.standalone-hero h1,
.handbook-hero h1,
.mods-hero h1,
.team-hero h1,
.wiki-hero h1,
.legal-page h1,
main h1{
  font-family:"Cinzel", serif !important;
  font-weight:600 !important;
  letter-spacing:.015em;
}

/* Removed extra logo above the homepage NonSolus title */
.hero-brand-logo{display:none!important}


/* 3.9.1 — Mobile Chronik spacing fix */
@media (max-width: 760px){
  .chronicle-grid,
  .chronicle-list,
  .chronicle-timeline,
  .chronik-grid,
  .chronik-list,
  .timeline-list,
  .timeline-grid{
    gap:18px !important;
    row-gap:18px !important;
  }
  .chronicle-item,
  .chronicle-card,
  .chronik-item,
  .chronik-card,
  .timeline-item,
  .timeline-card{
    margin-bottom:18px;
  }
  .chronicle-item:last-child,
  .chronicle-card:last-child,
  .chronik-item:last-child,
  .chronik-card:last-child,
  .timeline-item:last-child,
  .timeline-card:last-child{
    margin-bottom:0;
  }
}

/* 3.9.1 — exact mobile Chronik spacing */
@media (max-width:800px){
  .chronicle-entry{
    min-height:0 !important;
    margin-bottom:22px !important;
  }
  .chronicle-entry:last-child{margin-bottom:0 !important}
}
@media (max-width:520px){
  .chronicle-entry{margin-bottom:18px !important}
}

/* 3.9.2 — progressive 3D Hytale team avatars */
.team-avatar-3d{position:relative;width:100%;height:100%;min-height:280px;display:grid;place-items:end center}
.team-avatar-3d>img{position:relative;z-index:1;transition:opacity .35s ease}
.team-avatar-canvas{position:absolute;inset:0;z-index:2;opacity:0;transition:opacity .4s ease;pointer-events:none}
.team-avatar-canvas canvas{display:block;width:100%!important;height:100%!important;background:transparent!important}
.team-avatar-3d.is-3d-ready .team-avatar-canvas{opacity:1}
.team-avatar-3d.is-3d-ready>img{opacity:0}
.team-avatar-3d.is-3d-error .team-avatar-canvas{display:none}
@media(max-width:700px){.team-avatar-3d{min-height:245px}}
@media(prefers-reduced-motion:reduce){.team-avatar-canvas{display:none!important}.team-avatar-3d>img{opacity:1!important}}

/* 3.9.3 — Safari-safe 3D avatar overlay */
.team-avatar-3d{
  position:relative!important;
  width:100%!important;
  min-height:330px!important;
  height:100%!important;
  display:block!important;
}
.team-avatar-3d>img{
  display:block!important;
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.team-avatar-canvas{
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  opacity:0;
  overflow:visible!important;
  pointer-events:none!important;
  transition:opacity .35s ease;
}
.team-avatar-canvas canvas{
  display:block!important;
  width:100%!important;
  height:100%!important;
  background:transparent!important;
}
.team-avatar-3d.is-3d-ready .team-avatar-canvas{opacity:1!important}
.team-avatar-3d.is-3d-ready>img{opacity:0!important}
.team-avatar-3d.is-3d-error .team-avatar-canvas{display:none!important}
.team-avatar-3d.is-3d-error>img{opacity:1!important}

/* 3.9.12 — restore original fallback avatar sizing */
.team-avatar-3d{
  position:absolute!important;
  inset:0!important;
  min-height:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
}
.team-avatar-3d>img{
  position:absolute!important;
  z-index:1!important;
  left:50%!important;
  bottom:0!important;
  width:auto!important;
  height:88%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
}
.team-avatar-canvas{
  position:absolute!important;
  inset:0!important;
}
@media(max-width:700px){
  .team-avatar-3d{min-height:0!important}
}

/* 3.9.13 — smoother fallback while WebGL avatars are unloaded */
.team-avatar-3d>img{transition:opacity .28s ease!important}
.team-avatar-canvas{transition:opacity .28s ease!important}

/* 3.9.14 — Vote page aligned with the mod list */
.vote-page{max-width:1220px!important}
.vote-hero{max-width:820px!important;margin-left:auto!important;margin-right:auto!important}
.vote-hero-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:24px}
.vote-hero-meta span,.vote-list-tags span{border:1px solid rgba(101,225,215,.2);background:rgba(8,28,30,.62);border-radius:999px;color:#93dcd5;font-size:.7rem;letter-spacing:.055em;text-transform:uppercase}
.vote-hero-meta span{padding:8px 12px}
.vote-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:38px}
.vote-list-card{position:relative;min-height:420px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid rgba(91,220,211,.2);border-radius:16px;background:linear-gradient(160deg,rgba(12,31,34,.94),rgba(5,16,19,.96));box-shadow:0 28px 75px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.05);transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease}
.vote-list-card:hover{transform:translateY(-6px);border-color:rgba(104,238,226,.44);box-shadow:0 34px 85px rgba(0,0,0,.45),0 0 35px rgba(39,216,208,.08)}
.vote-list-art{position:relative;height:150px;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid rgba(89,216,205,.11);background:radial-gradient(circle at 50% 58%,rgba(43,199,190,.17),transparent 38%),linear-gradient(180deg,rgba(13,42,44,.34),rgba(4,14,16,.05))}
.vote-list-art:before,.vote-list-art:after{content:"";position:absolute;width:110px;height:110px;border:1px solid rgba(108,228,218,.12);transform:rotate(45deg)}
.vote-list-art:after{width:72px;height:72px;border-color:rgba(211,189,126,.16)}
.vote-list-art span{position:absolute;top:16px;left:18px;color:#67918b;font-size:.68rem;font-weight:700;letter-spacing:.14em}
.vote-list-art b{position:relative;z-index:2;font-family:Cinzel,serif;font-size:2.25rem;color:#d9caa3;letter-spacing:.05em;text-shadow:0 0 24px rgba(217,202,163,.12)}
.vote-list-content{display:flex;flex-direction:column;flex:1;padding:27px 28px 26px}
.vote-list-content small{color:#66d9d0;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;font-weight:700}
.vote-list-content h2{margin:8px 0 12px;color:var(--stone);font-family:Cinzel,serif;font-size:1.22rem;letter-spacing:.01em}
.vote-list-content p{margin:0;color:#aebbb7;font-size:.88rem;line-height:1.72}
.vote-list-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.vote-list-tags span{padding:5px 8px;font-size:.64rem}
.vote-list-content>strong{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:23px;color:#8ce6dd;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}
.vote-list-content>strong i{font-style:normal;font-size:1.15rem;transition:transform .25s ease}
.vote-list-card:hover .vote-list-content>strong i{transform:translate(2px,-2px)}
.vote-info-panel{margin-top:34px;padding:28px 30px;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:30px;align-items:center;border:1px solid rgba(91,220,211,.16);border-radius:16px;background:linear-gradient(135deg,rgba(13,36,39,.62),rgba(7,20,22,.52))}
.vote-info-panel h2{margin:7px 0 0;font-family:Cinzel,serif;color:var(--stone);font-size:1.25rem}
.vote-info-panel p{margin:0;color:#aebbb7;line-height:1.75;font-size:.88rem}
@media(max-width:820px){.vote-list-grid{grid-template-columns:1fr;gap:18px}.vote-list-card{min-height:0}.vote-list-art{height:125px}.vote-info-panel{grid-template-columns:1fr;gap:14px}}

/* 3.9.15 — 3-column vote grid + reward messaging */
.vote-list-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
}
.vote-list-card{min-height:390px!important}
.vote-list-art{height:132px!important}
.vote-list-content{padding:24px 24px 23px!important}
.vote-list-content h2{font-size:1.08rem!important}
.vote-list-content p{font-size:.84rem!important}
.vote-info-copy{display:grid;gap:12px}
.vote-reward-note{
  margin:0!important;
  padding:13px 15px;
  border:1px solid rgba(217,202,163,.17);
  border-radius:12px;
  background:rgba(217,202,163,.045);
}
.vote-reward-note strong{color:#d9caa3}
@media(max-width:1050px){
  .vote-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .vote-list-grid{grid-template-columns:1fr!important}
}


/* 3.10.0 — consolidated hero CTA styles */
.hero-action-panel{display:flex;flex-direction:column;gap:12px}
.hero-server-vote-actions{margin:0;gap:13px}
.hero-server-vote-actions + .hero-primary-actions{margin-top:0}

/* Server: same teal border family as the team card. */
.server-card{border-color:rgba(107,230,220,.24)}
.server-card:hover,.server-card:focus-visible{border-color:rgba(124,229,219,.46)}

/* Vote: same geometry as the other action cards; only the color identity differs. */
.home-vote-card{
  color:#fff;
  border-color:rgba(226,196,103,.48);
  background:linear-gradient(135deg,rgba(81,66,20,.84),rgba(16,46,45,.94));
}
.home-vote-card:before{background:linear-gradient(135deg,rgba(202,161,50,.62),rgba(128,98,25,.3) 60%,rgba(255,255,255,.04))}
.home-vote-card:hover,.home-vote-card:focus-visible{border-color:rgba(238,208,113,.64)}
.home-vote-card .action-copy strong,.home-vote-card .action-copy small,.home-vote-card .action-arrow{color:#fff}

/* Team title stays white; subtitle remains muted. */
.team-showcase-copy strong{color:#fff}

/* Flat CTA icons — no hover glow/drop-shadow. */
.hero-action-panel .action-icon,.hero-action-panel .action-icon img,.hero-action-panel .action-icon svg,
.hero-action-panel .action-card:hover .action-icon,.hero-action-panel .action-card:hover .action-icon img,.hero-action-panel .action-card:hover .action-icon svg{
  filter:none!important;box-shadow:none!important;text-shadow:none!important
}

/* Match the proven Discord/Mods geometry. */
.hero-server-vote-actions .action-card{min-height:92px;border-radius:12px}
.hero-server-vote-actions .action-icon{width:52px;height:52px}
.hero-server-vote-actions .action-icon img{width:45px;height:45px;object-fit:contain}
.hero-server-vote-actions .action-copy strong{font-size:.96rem;line-height:1.2}
.hero-server-vote-actions .action-copy small{font-size:.72rem;line-height:1.35;white-space:normal}
@media(max-width:900px){.hero-server-vote-actions .action-card{min-height:78px}.hero-server-vote-actions .action-copy small{display:block}}
@media(max-width:650px){.hero-action-panel{gap:10px}.hero-server-vote-actions{grid-template-columns:1fr;gap:10px}.hero-server-vote-actions .action-card{min-height:84px}}


/* 3.10.3 — horizontal event roadmap */
.home-events-section{overflow:hidden}
.event-timeline-shell{max-width:1180px;margin:34px auto 0}
.event-timeline-head,.event-roadmap-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}
.event-timeline-head small,.event-roadmap-toolbar small{display:block;color:var(--teal-soft);text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;font-weight:700}
.event-timeline-head p{margin:5px 0 0;color:var(--muted);font-size:.82rem}
.event-timeline-controls{display:flex;gap:8px;flex:0 0 auto}
.event-timeline-controls button{width:42px;height:42px;border:1px solid rgba(124,229,219,.22);border-radius:10px;background:rgba(8,28,31,.75);color:#e9f5f1;font-size:1.65rem;line-height:1;cursor:pointer;transition:.2s}
.event-timeline-controls button:hover{border-color:rgba(124,229,219,.5);background:rgba(20,70,70,.55);transform:translateY(-1px)}
.event-timeline-track,.event-roadmap-track{position:relative;display:flex;gap:22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;padding:42px 4px 22px;scrollbar-width:thin;scrollbar-color:rgba(124,229,219,.35) rgba(255,255,255,.04)}
.event-timeline-track::-webkit-scrollbar,.event-roadmap-track::-webkit-scrollbar{height:7px}.event-timeline-track::-webkit-scrollbar-track,.event-roadmap-track::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}.event-timeline-track::-webkit-scrollbar-thumb,.event-roadmap-track::-webkit-scrollbar-thumb{background:rgba(124,229,219,.32);border-radius:999px}
.event-timeline-track:before,.event-roadmap-track:before{content:"";position:absolute;left:18px;right:18px;top:20px;height:1px;background:linear-gradient(90deg,rgba(124,229,219,.15),rgba(124,229,219,.55),rgba(217,192,146,.4),rgba(124,229,219,.12))}
.event-timeline-card{position:relative;flex:0 0 min(470px,82vw);min-height:310px;scroll-snap-align:start;padding:28px 30px;text-decoration:none;color:inherit;border:1px solid rgba(124,229,219,.17);border-radius:16px;background:linear-gradient(160deg,rgba(12,31,34,.94),rgba(5,16,19,.97));box-shadow:0 22px 55px rgba(0,0,0,.27);overflow:hidden;transition:.25s}
.event-timeline-card:hover{transform:translateY(-4px);border-color:rgba(124,229,219,.38)}
.event-timeline-card.winter{background:radial-gradient(circle at 85% 15%,rgba(126,170,159,.13),transparent 36%),linear-gradient(160deg,rgba(12,31,34,.94),rgba(5,16,19,.97))}
.event-timeline-card.spooky{background:radial-gradient(circle at 85% 15%,rgba(126,83,157,.15),transparent 36%),linear-gradient(160deg,rgba(12,28,33,.95),rgba(8,15,22,.97))}
.event-timeline-node,.event-roadmap-node{position:absolute;top:-27px;left:31px;width:14px;height:14px;border-radius:50%;border:3px solid #0a1719;background:#d8c38f;box-shadow:0 0 0 1px rgba(216,195,143,.55),0 0 16px rgba(216,195,143,.2)}
.event-timeline-index{position:absolute;right:24px;top:19px;font-family:Cinzel,serif;font-size:3.8rem;color:rgba(255,255,255,.045);line-height:1}
.event-timeline-status{display:inline-flex;padding:5px 8px;border:1px solid rgba(124,229,219,.19);border-radius:999px;color:#8fe0d7;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.event-timeline-icon{margin:30px 0 12px;font-size:2.4rem;color:#d9c092}
.event-timeline-card h3{margin:0 0 10px;font-family:Cinzel,serif;color:var(--stone);font-size:1.45rem}
.event-timeline-card p{margin:0;color:var(--muted);line-height:1.68;font-size:.9rem;max-width:390px}
.event-timeline-card b{display:flex;align-items:center;gap:8px;margin-top:24px;color:#dce9e5;font-size:.74rem;letter-spacing:.04em}.event-timeline-card b span{color:var(--teal-soft);transition:transform .2s}.event-timeline-card:hover b span{transform:translateX(4px)}
.event-timeline-future{position:relative;flex:0 0 230px;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;gap:10px;color:#71827d}.event-timeline-future>span{width:8px;height:8px;border-radius:50%;background:rgba(124,229,219,.32)}.event-timeline-future small{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.event-timeline-hint{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;color:#6f8580;font-size:.7rem;letter-spacing:.04em}.event-timeline-hint span{color:#9ed9d1;font-size:1rem}

.event-roadmap-page{max-width:1440px!important;padding-left:24px!important;padding-right:24px!important;overflow:hidden}
.event-roadmap-hero{margin-bottom:34px!important}
.event-roadmap-shell{position:relative}
.event-roadmap-toolbar{max-width:1320px;margin:0 auto 16px}
.event-roadmap-toolbar strong{display:block;margin-top:4px;color:#dce8e4;font-family:Cinzel,serif;font-size:1rem}
.event-roadmap-season{display:flex;align-items:center;gap:12px;color:#80938d;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.event-roadmap-season i{width:90px;height:1px;background:linear-gradient(90deg,#5ed8ce,#d9c092);opacity:.5}
.event-roadmap-track{padding:50px max(4vw,24px) 28px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);scroll-padding-left:max(4vw,24px)}
.event-roadmap-track:before{left:max(4vw,24px);right:max(4vw,24px);top:22px}
.event-roadmap-chapter{position:relative;flex:0 0 min(680px,78vw);scroll-snap-align:start;border:1px solid rgba(124,229,219,.16);border-radius:18px;background:linear-gradient(160deg,rgba(11,30,33,.96),rgba(5,16,19,.98));box-shadow:0 28px 70px rgba(0,0,0,.32);overflow:hidden}
.event-roadmap-chapter.spooky{background:radial-gradient(circle at 85% 12%,rgba(131,84,165,.16),transparent 32%),linear-gradient(160deg,rgba(11,29,34,.96),rgba(6,15,22,.98))}
.event-roadmap-chapter.winter{background:radial-gradient(circle at 82% 12%,rgba(107,172,158,.15),transparent 34%),linear-gradient(160deg,rgba(11,30,33,.96),rgba(5,16,19,.98))}
.event-roadmap-topline{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.66rem;text-transform:uppercase;letter-spacing:.13em}.event-roadmap-topline span{color:#7f9891}.event-roadmap-topline em{font-style:normal;color:#89ded4;padding:5px 8px;border:1px solid rgba(124,229,219,.18);border-radius:999px}
.event-roadmap-visual{height:245px;overflow:hidden;display:grid;place-items:center;border-bottom:1px solid rgba(255,255,255,.06)}.event-roadmap-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.05) brightness(.78)}.spooky-visual{background:radial-gradient(circle,rgba(116,89,185,.25),transparent 58%),linear-gradient(135deg,#101823,#1c1422)}.spooky-visual span{font-size:7rem;color:#ccb8e8;text-shadow:0 0 45px rgba(156,113,199,.22)}
.event-roadmap-copy{padding:30px 32px 32px}.event-roadmap-copy>small{color:var(--teal-soft);font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.event-roadmap-copy h2{margin:8px 0 12px;font-family:Cinzel,serif;color:var(--stone);font-size:clamp(1.6rem,3vw,2.25rem)}.event-roadmap-lead{margin:0 0 24px;color:#bccbc6!important;font-size:1rem!important;line-height:1.75!important}
.event-roadmap-feature{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(0,1.25fr);gap:20px;padding:16px 0;border-top:1px solid rgba(255,255,255,.065)}.event-roadmap-feature b{color:#e2e9e6;font-size:.82rem}.event-roadmap-feature span{color:#8fa39d;font-size:.8rem;line-height:1.6}
.event-roadmap-next{position:relative;flex:0 0 290px;scroll-snap-align:start;display:grid;place-items:center;padding:34px;border:1px dashed rgba(124,229,219,.13);border-radius:18px;color:#72857f}.event-roadmap-next small{display:block;color:#6d8f88;text-transform:uppercase;letter-spacing:.14em;font-size:.64rem}.event-roadmap-next strong{display:block;margin:8px 0 6px;font-family:Cinzel,serif;color:#a9b8b3}.event-roadmap-next p{margin:0;font-size:.78rem;line-height:1.6}

@media(max-width:760px){
  .event-timeline-head,.event-roadmap-toolbar{align-items:flex-end}.event-timeline-head p{display:none}.event-roadmap-season{display:none}
  .event-timeline-card{flex-basis:86vw;padding:24px}.event-timeline-index{font-size:3.1rem}.event-timeline-track{padding-top:38px}
  .event-roadmap-page{padding-left:16px!important;padding-right:16px!important}.event-roadmap-track{scroll-padding-left:16px;padding-left:16px;padding-right:16px}.event-roadmap-track:before{left:16px;right:16px}
  .event-roadmap-chapter{flex-basis:88vw}.event-roadmap-visual{height:190px}.event-roadmap-copy{padding:24px}.event-roadmap-feature{grid-template-columns:1fr;gap:6px}.event-timeline-hint{justify-content:center}
}


/* 3.10.4 — Seasonal event roadmap */
.seasonal-events-page{max-width:1500px!important;padding-left:24px!important;padding-right:24px!important;overflow:hidden}
.seasonal-events-hero{margin-bottom:34px!important}
.season-roadmap{position:relative}
.season-roadmap-toolbar{max-width:1380px;margin:0 auto 18px;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:24px;align-items:end}
.season-roadmap-toolbar small{display:block;color:var(--teal-soft);text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;font-weight:700}
.season-roadmap-toolbar strong{display:block;margin-top:5px;color:#dce8e4;font-family:Cinzel,serif;font-size:1rem}
.event-status-legend{display:flex;align-items:center;gap:14px;color:#8da19b;font-size:.67rem;text-transform:uppercase;letter-spacing:.08em}
.event-status-legend span{display:flex;align-items:center;gap:6px}.event-status-legend i{width:8px;height:8px;border-radius:50%;display:block;background:#6f807c}
.event-status-legend .is-finished i{background:#63c98b;box-shadow:0 0 10px rgba(99,201,139,.28)}
.event-status-legend .is-running i{background:#72dfd4;box-shadow:0 0 12px rgba(114,223,212,.48)}
.event-status-legend .is-planned i{background:#d9bd69;box-shadow:0 0 10px rgba(217,189,105,.26)}
.season-scroll{position:relative;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-behavior:smooth;overscroll-behavior-x:contain;padding:10px max(4vw,24px) 28px;scroll-padding-left:max(4vw,24px);scrollbar-width:thin;scrollbar-color:rgba(124,229,219,.3) rgba(255,255,255,.04)}
.season-scroll::-webkit-scrollbar{height:7px}.season-scroll::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}.season-scroll::-webkit-scrollbar-thumb{background:rgba(124,229,219,.3);border-radius:999px}
.season-canvas{position:relative;width:2140px;min-height:585px}
.season-bands{display:grid;grid-template-columns:760px 480px 450px 450px;gap:18px;margin-bottom:52px}
.season-band{position:relative;height:92px;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:18px 22px;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(12,23,27,.78)}
.season-band:before{content:"";position:absolute;inset:0;opacity:.9;pointer-events:none}
.season-band>*{position:relative;z-index:1}.season-band-copy{display:flex;align-items:center;gap:13px}.season-band-copy small{display:block;color:rgba(255,255,255,.46);text-transform:uppercase;letter-spacing:.12em;font-size:.6rem}.season-band-copy b{display:block;margin-top:3px;font-family:Cinzel,serif;font-size:1.05rem;color:#f2f4ef}.season-symbol{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:1rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.season-band-note{font-size:.72rem;color:rgba(255,255,255,.55)}
.season-band.autumn{border-color:rgba(220,166,83,.32)}.season-band.autumn:before{background:linear-gradient(90deg,rgba(132,73,35,.34),rgba(191,123,54,.18),transparent)}.season-band.autumn .season-symbol{color:#e2b06b;box-shadow:0 0 18px rgba(226,176,107,.12)}
.season-band.winter{border-color:rgba(115,156,224,.27)}.season-band.winter:before{background:linear-gradient(90deg,rgba(63,92,149,.32),rgba(68,115,157,.14),transparent)}.season-band.winter .season-symbol{color:#8bb1ef}
.season-band.spring{border-color:rgba(100,188,91,.24)}.season-band.spring:before{background:linear-gradient(90deg,rgba(57,114,52,.3),rgba(74,138,75,.12),transparent)}.season-band.spring .season-symbol{color:#83d87c}
.season-band.summer{border-color:rgba(226,187,68,.25)}.season-band.summer:before{background:linear-gradient(90deg,rgba(135,105,35,.3),rgba(160,120,39,.12),transparent)}.season-band.summer .season-symbol{color:#e5c555}
.season-band.is-current{box-shadow:0 0 0 1px rgba(220,166,83,.06),0 12px 32px rgba(0,0,0,.18)}
.season-event-line{position:absolute;left:0;right:0;top:142px;height:1px;background:linear-gradient(90deg,rgba(220,166,83,.44) 0 35%,rgba(115,156,224,.36) 35% 58%,rgba(100,188,91,.3) 58% 79%,rgba(226,187,68,.28) 79% 100%)}
.season-event-grid{position:relative;display:grid;grid-template-columns:235px 235px 235px 450px 430px 430px;gap:18px;align-items:start}
.season-event-card,.season-event-placeholder{position:relative;scroll-snap-align:start;margin-top:30px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:linear-gradient(160deg,rgba(13,29,32,.96),rgba(6,16,19,.98));box-shadow:0 22px 55px rgba(0,0,0,.27)}
.season-event-card{min-height:342px;padding:22px 20px 18px;transition:transform .22s,border-color .22s}.season-event-card:hover{transform:translateY(-3px)}
.season-event-card.is-running{border-color:rgba(112,223,211,.32);box-shadow:0 22px 55px rgba(0,0,0,.27),0 0 30px rgba(72,205,193,.055)}
.season-event-card.is-planned{border-color:rgba(217,189,105,.22)}
.season-event-card.spooky-card{background:radial-gradient(circle at 82% 12%,rgba(125,85,158,.14),transparent 34%),linear-gradient(160deg,rgba(13,27,32,.96),rgba(8,15,22,.98))}
.season-event-node{position:absolute;top:-38px;left:50%;transform:translateX(-50%);width:15px;height:15px;border-radius:50%;border:3px solid #0a1719;background:#d9bd69;box-shadow:0 0 0 1px rgba(217,189,105,.5),0 0 13px rgba(217,189,105,.23)}
.season-event-card.is-running .season-event-node{background:#72dfd4;box-shadow:0 0 0 1px rgba(114,223,212,.6),0 0 18px rgba(114,223,212,.48);animation:eventNodePulse 2.4s ease-in-out infinite}
@keyframes eventNodePulse{0%,100%{box-shadow:0 0 0 1px rgba(114,223,212,.55),0 0 13px rgba(114,223,212,.34)}50%{box-shadow:0 0 0 1px rgba(114,223,212,.75),0 0 24px rgba(114,223,212,.62)}}
.season-event-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.season-event-meta>span{color:#7f948e;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.season-event-meta em{font-style:normal;padding:4px 7px;border-radius:5px;font-size:.59rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:rgba(217,189,105,.12);color:#d9bd69}.season-event-card.is-running .season-event-meta em{background:rgba(114,223,212,.11);color:#82e6dd}
.season-event-card h2{margin:0 0 10px;font-family:Cinzel,serif;color:#f1eee6;font-size:1.05rem;line-height:1.25}.season-event-card>p{margin:0;color:#a8b8b3;font-size:.79rem;line-height:1.62}
.event-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.event-card-tags span{padding:4px 7px;border-radius:999px;border:1px solid rgba(124,229,219,.13);background:rgba(124,229,219,.045);color:#91bdb7;font-size:.59rem;text-transform:uppercase;letter-spacing:.06em}
.event-card-details{border-top:1px solid rgba(255,255,255,.065);margin-top:14px;padding-top:12px}.event-card-details summary{list-style:none;cursor:pointer;color:#eef4f1;font-size:.7rem;font-weight:700;letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center}.event-card-details summary::-webkit-details-marker{display:none}.event-card-details summary span{color:var(--teal-soft);transition:transform .2s}.event-card-details[open] summary span{transform:rotate(90deg)}.event-card-detail-body{padding-top:14px;color:#93a69f;font-size:.72rem;line-height:1.58}.event-card-detail-body p{margin:0 0 10px}.event-card-detail-body ul{margin:8px 0 12px;padding-left:17px}.event-card-detail-body li{margin:5px 0}.event-card-detail-body b{color:#dbe6e2}.event-card-quote{padding:10px 11px;border-left:2px solid rgba(217,189,105,.4);background:rgba(217,189,105,.045);color:#c8b989!important;font-style:italic}
.season-event-placeholder{min-height:210px;padding:24px;display:flex;align-items:center;color:#72847f;border-style:dashed}.season-event-placeholder .season-event-node{background:#687974;box-shadow:none}.season-event-placeholder small{display:block;color:#68827b;text-transform:uppercase;letter-spacing:.11em;font-size:.59rem}.season-event-placeholder strong{display:block;margin:7px 0 7px;font-family:Cinzel,serif;color:#9bacA6;font-size:.94rem}.season-event-placeholder p{margin:0;max-width:250px;font-size:.72rem;line-height:1.55}
.event-timeline-hint{max-width:1380px;margin:10px auto 0}
@media(max-width:900px){.season-roadmap-toolbar{grid-template-columns:1fr auto}.event-status-legend{grid-column:1/-1;grid-row:2}.season-canvas{width:2020px}.season-bands{grid-template-columns:700px 440px 420px 400px}.season-event-grid{grid-template-columns:220px 220px 220px 410px 400px 400px}.season-band-note{display:none}}
@media(max-width:650px){.seasonal-events-page{padding-left:16px!important;padding-right:16px!important}.season-roadmap-toolbar{grid-template-columns:1fr auto;gap:14px}.event-status-legend{gap:10px;flex-wrap:wrap}.season-scroll{padding-left:16px;padding-right:16px;scroll-padding-left:16px}.season-canvas{width:1760px}.season-bands{grid-template-columns:610px 390px 370px 340px;gap:14px}.season-band{height:78px;padding:14px 16px}.season-event-line{top:128px}.season-event-grid{grid-template-columns:190px 190px 190px 360px 350px 350px;gap:14px}.season-event-card{padding:18px 16px;min-height:325px}.season-event-node{top:-37px}.event-timeline-hint{text-align:center;justify-content:center}}


/* 3.10.5 — event roadmap layout refinements */

/* Prevent the first/last timeline content from being clipped. */
.event-roadmap,
.event-timeline,
.season-roadmap,
.season-timeline{
  overflow:visible!important;
}

.event-roadmap-track,
.event-timeline-track,
.season-roadmap-track,
.season-timeline-track{
  padding-left:28px!important;
  padding-right:28px!important;
  scroll-padding-left:28px!important;
  scroll-padding-right:28px!important;
}

/* Make future placeholders the same size/height as active event cards. */
.event-card,
.event-roadmap-card,
.timeline-event-card,
.event-placeholder,
.event-roadmap-placeholder,
.timeline-event-placeholder{
  min-height:100%!important;
  height:auto!important;
}

.event-placeholder,
.event-roadmap-placeholder,
.timeline-event-placeholder{
  align-self:stretch!important;
  box-sizing:border-box!important;
}

/* Desktop: place navigation arrows beside the card area, not above it. */
@media (min-width: 980px){
  .event-roadmap-shell,
  .event-timeline-shell,
  .season-roadmap-shell,
  .season-timeline-shell{
    position:relative!important;
  }

  .event-roadmap-controls,
  .event-timeline-controls,
  .season-roadmap-controls,
  .season-timeline-controls{
    position:absolute!important;
    inset:50% -18px auto -18px!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    justify-content:space-between!important;
    pointer-events:none!important;
    z-index:6!important;
  }

  .event-roadmap-controls button,
  .event-timeline-controls button,
  .season-roadmap-controls button,
  .season-timeline-controls button{
    pointer-events:auto!important;
    opacity:.72!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }

  .event-roadmap-controls button:hover,
  .event-timeline-controls button:hover,
  .season-roadmap-controls button:hover,
  .season-timeline-controls button:hover{
    opacity:1!important;
  }
}

/* Start page Discord block: match the common rounded section width. */
.discord-section,
.discord-panel,
.community-discord,
.home-discord,
.cta-panel{
  max-width:1180px!important;
  width:calc(100% - 48px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
}

@media(max-width:700px){
  .discord-section,
  .discord-panel,
  .community-discord,
  .home-discord,
  .cta-panel{
    width:calc(100% - 28px)!important;
    border-radius:14px!important;
  }
}


/* 3.10.6 — event timeline polish + homepage cleanup */

/* Homepage overview now contains only Schnellstart + Werte. */
.overview-section .overview-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:760px){
  .overview-section .overview-grid{grid-template-columns:1fr!important}
}

/* Community/Discord CTA: same page width and rounded visual language as other sections. */
.cta-section{
  padding-left:24px!important;
  padding-right:24px!important;
}
.cta-section .cta-panel{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
@media(max-width:700px){
  .cta-section{padding-left:14px!important;padding-right:14px!important}
  .cta-section .cta-panel{border-radius:14px!important}
}

/* ---- Events: preserve room at both ends so first/last cards never clip. ---- */
.season-roadmap{
  position:relative!important;
  overflow:visible!important;
}
.season-scroll{
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:0 34px 22px!important;
  margin:0 -34px!important;
  scroll-padding-inline:34px!important;
}
.season-canvas{
  box-sizing:border-box!important;
  padding-left:1px!important;
  padding-right:1px!important;
}

/* Toolbar no longer reserves space for the removed subtitle. */
.season-roadmap-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-height:42px!important;
}
.event-status-legend{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Placeholder cards use exactly the same footprint as real event cards. */
.season-event-grid{
  align-items:stretch!important;
}
.season-event-card,
.season-event-placeholder{
  box-sizing:border-box!important;
  height:100%!important;
  min-height:330px!important;
}
.season-event-placeholder{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.season-event-placeholder>div{
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
}
.season-event-placeholder strong{
  display:block!important;
  margin-top:12px!important;
}
.season-event-placeholder p{
  margin-top:12px!important;
}

/* Desktop navigation sits over the left/right edges of the timeline.
   It stays slightly translucent until hovered. */
@media(min-width:980px){
  .event-timeline-controls{
    position:absolute!important;
    left:-10px!important;
    right:-10px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    pointer-events:none!important;
    z-index:20!important;
    width:auto!important;
  }
  .event-timeline-controls button{
    pointer-events:auto!important;
    opacity:.62!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
    transition:opacity .2s ease,transform .2s ease!important;
  }
  .event-timeline-controls button:hover{
    opacity:.96!important;
    transform:scale(1.04)!important;
  }
}

/* Tablet/mobile keeps controls in the normal toolbar. */
@media(max-width:979px){
  .season-roadmap-toolbar{
    justify-content:space-between!important;
    gap:14px!important;
  }
  .event-status-legend{
    margin:0!important;
  }
  .event-timeline-controls{
    position:static!important;
    transform:none!important;
  }
  .season-scroll{
    padding-left:22px!important;
    padding-right:22px!important;
    margin-left:-22px!important;
    margin-right:-22px!important;
    scroll-padding-inline:22px!important;
  }
}


/* 3.10.7 — seasonal roadmap geometry + homepage cleanup */
.season-scroll{
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;
  margin-left:0!important;margin-right:0!important;
  padding:10px 28px 24px!important;scroll-padding-inline:28px!important;
  overflow-x:auto!important;overflow-y:hidden!important;border-radius:14px!important;
}
.season-scroll::-webkit-scrollbar-track{margin-inline:18px!important;border-radius:999px!important}
.season-scroll::-webkit-scrollbar-thumb{border-radius:999px!important}

.season-canvas{width:1890px!important;min-width:1890px!important;box-sizing:border-box!important;padding:0!important}
.season-bands{grid-template-columns:936px 300px 300px 300px!important;gap:18px!important;margin-bottom:42px!important}
.season-event-grid{grid-template-columns:repeat(6,300px)!important;gap:18px!important;align-items:stretch!important}
.season-event-card,.season-event-placeholder{
  width:300px!important;min-width:300px!important;min-height:330px!important;height:100%!important;box-sizing:border-box!important
}
.season-event-placeholder{align-items:stretch!important}

.season-band{height:72px!important;padding:11px 16px!important;border-radius:12px!important}
.season-band-copy{gap:10px!important}
.season-symbol{width:30px!important;height:30px!important;flex:0 0 30px!important;font-size:0!important}
.season-symbol svg{
  width:18px!important;height:18px!important;display:block!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
  stroke-linecap:round!important;stroke-linejoin:round!important
}
.season-band-copy b{font-size:.96rem!important}
.season-band-copy small{font-size:.54rem!important}
.season-band-note{font-size:.66rem!important}
.season-event-line{top:114px!important}

@media(min-width:980px){
  .event-timeline-controls{left:8px!important;right:8px!important}
}

@media(max-width:650px){
  .season-scroll{
    padding:8px 16px 20px!important;scroll-padding-inline:16px!important;border-radius:12px!important
  }
  .season-scroll::-webkit-scrollbar-track{margin-inline:10px!important}
  .season-canvas{width:1570px!important;min-width:1570px!important}
  .season-bands{grid-template-columns:778px 250px 250px 250px!important;gap:14px!important;margin-bottom:38px!important}
  .season-event-grid{grid-template-columns:repeat(6,250px)!important;gap:14px!important}
  .season-event-card,.season-event-placeholder{
    width:250px!important;min-width:250px!important;min-height:325px!important
  }
  .season-band{height:62px!important;padding:8px 11px!important}
  .season-symbol{width:26px!important;height:26px!important;flex-basis:26px!important}
  .season-symbol svg{width:16px!important;height:16px!important}
  .season-band-copy b{font-size:.86rem!important}
  .season-band-copy small{font-size:.5rem!important}
  .season-band-note{display:none!important}
  .season-event-line{top:100px!important}
}


/* 3.10.8 — animated seasonal event cards */
.season-event-card{
  overflow:hidden!important;
}
.season-event-card>*:not(.event-weather):not(.season-event-node){
  position:relative;
  z-index:2;
}
.event-weather{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:1;
}

/* Winter is coming: colder blue-white card with a few slow snowflakes. */
.winter-card{
  border-color:rgba(165,205,238,.34)!important;
  background:
    radial-gradient(circle at 82% 12%,rgba(220,240,255,.16),transparent 34%),
    radial-gradient(circle at 18% 88%,rgba(83,132,177,.12),transparent 38%),
    linear-gradient(160deg,rgba(18,34,48,.98),rgba(8,19,29,.99))!important;
  box-shadow:0 22px 55px rgba(0,0,0,.27),0 0 34px rgba(116,174,218,.07)!important;
}
.winter-card .season-event-meta em{
  color:#dcefff!important;
  border-color:rgba(187,222,247,.24)!important;
  background:rgba(149,196,230,.09)!important;
}
.winter-card .event-card-tags span{
  color:#bcdcf1!important;
  border-color:rgba(170,213,242,.16)!important;
  background:rgba(130,184,222,.055)!important;
}
.event-snow i{
  position:absolute;
  top:-12%;
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(245,250,255,.78);
  box-shadow:0 0 6px rgba(223,241,255,.45);
  animation:snow-fall linear infinite;
}
.event-snow i:nth-child(1){left:9%;animation-duration:8.5s;animation-delay:-2s;transform:scale(.8)}
.event-snow i:nth-child(2){left:24%;animation-duration:11s;animation-delay:-7s;transform:scale(1.1)}
.event-snow i:nth-child(3){left:39%;animation-duration:9.4s;animation-delay:-4s;transform:scale(.65)}
.event-snow i:nth-child(4){left:56%;animation-duration:12.5s;animation-delay:-9s;transform:scale(1)}
.event-snow i:nth-child(5){left:70%;animation-duration:10.2s;animation-delay:-3.5s;transform:scale(.75)}
.event-snow i:nth-child(6){left:83%;animation-duration:13.2s;animation-delay:-10s;transform:scale(1.2)}
.event-snow i:nth-child(7){left:93%;animation-duration:9.8s;animation-delay:-6s;transform:scale(.6)}
@keyframes snow-fall{
  0%{transform:translate3d(0,-8px,0) rotate(0deg);opacity:0}
  12%{opacity:.75}
  55%{transform:translate3d(10px,170px,0) rotate(120deg)}
  100%{transform:translate3d(-8px,390px,0) rotate(260deg);opacity:0}
}

/* Spooky Night: warmer violet/orange tint with a few subtle bats. */
.spooky-card{
  border-color:rgba(184,123,218,.30)!important;
  background:
    radial-gradient(circle at 82% 14%,rgba(158,85,194,.18),transparent 34%),
    radial-gradient(circle at 14% 88%,rgba(227,126,47,.10),transparent 34%),
    linear-gradient(160deg,rgba(31,20,39,.98),rgba(11,15,24,.99))!important;
  box-shadow:0 22px 55px rgba(0,0,0,.29),0 0 32px rgba(139,76,180,.07)!important;
}
.spooky-card .season-event-meta em{
  color:#e5c2f5!important;
  border-color:rgba(202,146,228,.22)!important;
  background:rgba(148,83,181,.09)!important;
}
.spooky-card .event-card-tags span{
  color:#d5aee9!important;
  border-color:rgba(197,140,222,.16)!important;
  background:rgba(146,83,176,.055)!important;
}
.event-bats i{
  position:absolute;
  display:block;
  width:18px;
  height:8px;
  opacity:.16;
  animation:bat-fly linear infinite;
}
.event-bats i::before,
.event-bats i::after{
  content:"";
  position:absolute;
  top:1px;
  width:10px;
  height:6px;
  background:rgba(10,8,14,.95);
  border-radius:70% 70% 15% 70%;
}
.event-bats i::before{left:0;transform:rotate(18deg);transform-origin:right center}
.event-bats i::after{right:0;transform:scaleX(-1) rotate(18deg);transform-origin:left center}
.event-bats i:nth-child(1){top:18%;left:-12%;animation-duration:12s;animation-delay:-2s;transform:scale(.8)}
.event-bats i:nth-child(2){top:32%;left:-18%;animation-duration:15s;animation-delay:-8s;transform:scale(.6)}
.event-bats i:nth-child(3){top:58%;left:-15%;animation-duration:13.5s;animation-delay:-5s;transform:scale(1)}
.event-bats i:nth-child(4){top:72%;left:-20%;animation-duration:17s;animation-delay:-11s;transform:scale(.7)}
@keyframes bat-fly{
  0%{translate:0 0;opacity:0}
  10%{opacity:.15}
  35%{translate:95px -8px}
  60%{translate:190px 8px}
  85%{opacity:.15}
  100%{translate:360px -4px;opacity:0}
}

@media(prefers-reduced-motion:reduce){
  .event-snow i,
  .event-bats i{animation:none!important}
}




/* 3.10.10 — shared navigation pills + corrected event interactions */

/* One reusable pill treatment for homepage navigation and subpage home links. */
.nav-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 13px!important;
  border-radius:999px!important;
  border:1px solid rgba(124,229,219,.48)!important;
  background:rgba(39,216,208,.13)!important;
  color:#f1f8f5!important;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.075em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.24),0 0 20px rgba(39,216,208,.14)!important;
  backdrop-filter:blur(14px) saturate(125%);
  -webkit-backdrop-filter:blur(14px) saturate(125%);
  transition:color .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease!important;
}
.nav-pill:hover,.nav-pill:focus-visible{
  color:#fff!important;
  border-color:rgba(124,229,219,.72)!important;
  background:rgba(39,216,208,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 28px rgba(0,0,0,.28),0 0 24px rgba(39,216,208,.22)!important;
  transform:translateY(-1px);
  outline:none;
}
.nav-pill:active{transform:translateY(0)}
.site-header .nav .nav-pill:after{display:none!important}
@media(max-width:900px){
  .site-header .nav .nav-pill{min-height:31px;padding:7px 11px!important;font-size:.66rem}
}
@media(max-width:600px){
  .site-header .nav .nav-pill{padding:7px 10px!important;font-size:.63rem}
}

/* Nodes are outside the cards and sit exactly on the season line.
   Cards must not clip them; the weather overlay handles its own clipping. */
.season-event-card,.season-event-placeholder{
  height:auto!important;
  min-height:330px!important;
  align-self:start!important;
  overflow:visible!important;
}
.season-event-grid{align-items:start!important}
.season-event-node{
  top:-38px!important;
  z-index:4!important;
}
.event-weather{
  border-radius:13px;
  overflow:hidden!important;
  clip-path:inset(0 round 13px);
}
.season-canvas{height:auto!important;min-height:0!important;padding-bottom:18px!important}

/* Soft transitions between season colors rather than hard stops. */
.season-event-line{
  background:linear-gradient(90deg,
    rgba(220,166,83,.44) 0%,
    rgba(220,166,83,.44) 29%,
    rgba(191,171,110,.41) 32%,
    rgba(149,161,172,.39) 35%,
    rgba(115,156,224,.36) 39%,
    rgba(115,156,224,.36) 54%,
    rgba(108,173,156,.33) 61%,
    rgba(100,188,91,.30) 68%,
    rgba(100,188,91,.30) 77%,
    rgba(164,185,81,.29) 84%,
    rgba(226,187,68,.28) 92%,
    rgba(226,187,68,.28) 100%)!important;
}

/* Details retain native semantics, JS only animates their height. */
.event-card-details{will-change:height}
.event-card-details.is-animating{overflow:hidden}

/* Recognizable bat silhouettes using one lightweight SVG asset in CSS. */
.event-bats{z-index:1!important;opacity:1!important}
.event-bats i{
  position:absolute;
  width:30px!important;
  height:15px!important;
  opacity:.30!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 32'%3E%3Cpath fill='%2306040a' d='M32 16C27 9 22 6 16 5c2 4 2 7 0 9C11 10 6 9 1 10c6 4 8 9 8 14 6-4 12-3 17 1 2 2 4 4 6 7 2-3 4-5 6-7 5-4 11-5 17-1 0-5 2-10 8-14-5-1-10 0-15 4-2-2-2-5 0-9-6 1-11 4-16 11Z'/%3E%3C/svg%3E")!important;
  animation:ns-bat-fly linear infinite!important;
  will-change:transform,opacity;
}
.event-bats i::before,.event-bats i::after{display:none!important}
.event-bats i:nth-child(1){top:16%;left:-18%;animation-duration:11s!important;animation-delay:-2s!important}
.event-bats i:nth-child(2){top:34%;left:-22%;animation-duration:14s!important;animation-delay:-8s!important;scale:.72}
.event-bats i:nth-child(3){top:58%;left:-19%;animation-duration:12.5s!important;animation-delay:-5s!important;scale:1.05}
.event-bats i:nth-child(4){top:73%;left:-24%;animation-duration:16s!important;animation-delay:-11s!important;scale:.78}
@keyframes ns-bat-fly{
  0%{transform:translate3d(-20px,0,0) rotate(-5deg);opacity:0}
  8%{opacity:.30}
  30%{transform:translate3d(95px,-10px,0) rotate(5deg)}
  55%{transform:translate3d(190px,7px,0) rotate(-4deg)}
  82%{opacity:.30}
  100%{transform:translate3d(360px,-8px,0) rotate(4deg);opacity:0}
}

@media(max-width:650px){
  .season-event-card,.season-event-placeholder{min-height:325px!important}
  .season-event-node{top:-37px!important}
}
@media(prefers-reduced-motion:reduce){
  .event-bats i,.event-snow i{animation:none!important}
  .nav-pill{transition:none!important}
}


/* 3.10.11 — timeline/node and navigation refinements */
.season-event-node{
  position:absolute!important;
  top:-38px!important;
  left:50%!important;
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  min-height:15px!important;
  max-width:15px!important;
  max-height:15px!important;
  aspect-ratio:1/1!important;
  transform:translateX(-50%)!important;
  box-sizing:border-box!important;
  border-radius:50%!important;
  z-index:4!important;
}

/* Index nav pills reuse the same pill interaction, only with a subtler resting state. */
.site-header .nav a.nav-pill{
  color:rgba(231,239,236,.76)!important;
  border-color:rgba(124,229,219,.10)!important;
  background:rgba(39,216,208,.025)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  backdrop-filter:blur(10px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(10px) saturate(115%)!important;
}
.site-header .nav a.nav-pill:hover,
.site-header .nav a.nav-pill:focus-visible{
  color:#fff!important;
  border-color:rgba(124,229,219,.48)!important;
  background:rgba(39,216,208,.13)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.24),0 0 20px rgba(39,216,208,.14)!important;
  transform:translateY(-1px)!important;
}
.site-header .nav a.nav-pill:active{
  transform:translateY(0)!important;
}

/* Compact active-event link over the hero emblem. */
.hero-emblem{position:relative!important}
.hero-event-badge{
  position:absolute!important;
  right:-4%!important;
  bottom:4%!important;
  z-index:8!important;
  display:grid!important;
  grid-template-columns:8px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:9px!important;
  min-width:205px!important;
  padding:9px 12px!important;
  text-decoration:none!important;
  text-transform:none!important;
}
.hero-event-badge .event-live-dot{
  width:8px;height:8px;border-radius:50%;
  background:#72dfd4;
  box-shadow:0 0 12px rgba(114,223,212,.58);
}
.hero-event-badge small{
  display:block;
  color:rgba(231,239,236,.58);
  font-size:.55rem;
  line-height:1.1;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.hero-event-badge strong{
  display:block;
  margin-top:2px;
  color:#fff;
  font-family:Cinzel,serif;
  font-size:.72rem;
  line-height:1.2;
  white-space:nowrap;
}
.hero-event-badge .event-badge-arrow{
  color:var(--teal-soft);
  font-size:1rem;
}
@media(max-width:900px){
  .hero-event-badge{
    right:50%!important;
    bottom:-8px!important;
    transform:translateX(50%)!important;
  }
  .hero-event-badge:hover,
  .hero-event-badge:focus-visible{
    transform:translateX(50%) translateY(-1px)!important;
  }
}
@media(max-width:520px){
  .hero-event-badge{min-width:190px!important;padding:8px 10px!important}
}


/* 3.10.12 — cleaner chronicle runes + clearer value icons */
.chronicle-stone::after{display:none!important}
.chronicle-stone,
.chronicle-entry:hover .chronicle-stone,
.chronicle-entry.is-current .chronicle-stone{
  transform:none!important;
}
.chronicle-stone span{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  line-height:1!important;
  text-align:center!important;
  transform:none!important;
  font-style:normal!important;
}
.values-grid .value-icon{
  width:58px!important;
  height:58px!important;
  fill:none!important;
  stroke:#8cecdf!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  filter:none!important;
  overflow:visible!important;
}


/* 3.10.13 — subtler timeline controls + seasonal event themes */
@media(min-width:980px){
  .event-timeline-controls{left:4px!important;right:4px!important}
  .event-timeline-controls button{
    width:30px!important;height:42px!important;border-radius:999px!important;
    border-color:rgba(124,229,219,.10)!important;
    background:rgba(5,18,20,.34)!important;
    color:rgba(233,245,241,.55)!important;
    font-size:1.25rem!important;opacity:.32!important;box-shadow:none!important;
    backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important
  }
  .event-timeline-controls button:hover,
  .event-timeline-controls button:focus-visible{
    opacity:.82!important;color:#fff!important;
    border-color:rgba(124,229,219,.28)!important;
    background:rgba(8,28,31,.68)!important;
    transform:scale(1.03)!important
  }
}

.event-weather{border-radius:13px;clip-path:inset(0 round 13px)}

.christmas-card{
  border-color:rgba(155,193,220,.28)!important;
  background:
    radial-gradient(circle at 18% 16%,rgba(242,194,96,.12),transparent 30%),
    radial-gradient(circle at 84% 12%,rgba(219,239,255,.12),transparent 34%),
    linear-gradient(160deg,rgba(24,38,48,.98),rgba(10,23,30,.99))!important
}
.event-lights i{
  position:absolute;top:18px;width:5px;height:5px;border-radius:50%;
  background:#f0cf78;box-shadow:0 0 10px rgba(240,207,120,.75);
  animation:market-twinkle 2.8s ease-in-out infinite
}
.event-lights i:nth-child(1){left:12%;animation-delay:-.3s}
.event-lights i:nth-child(2){left:30%;animation-delay:-1.4s}
.event-lights i:nth-child(3){left:50%;animation-delay:-2.1s}
.event-lights i:nth-child(4){left:70%;animation-delay:-.9s}
.event-lights i:nth-child(5){left:88%;animation-delay:-1.8s}
@keyframes market-twinkle{0%,100%{opacity:.28;transform:scale(.8)}50%{opacity:.9;transform:scale(1.1)}}

.easter-card{
  border-color:rgba(132,205,126,.30)!important;
  background:
    radial-gradient(circle at 82% 14%,rgba(214,239,177,.13),transparent 32%),
    radial-gradient(circle at 18% 82%,rgba(235,184,216,.08),transparent 34%),
    linear-gradient(160deg,rgba(20,43,34,.98),rgba(8,25,23,.99))!important
}
.easter-card .season-event-meta em{color:#bfe7b8!important;background:rgba(116,184,105,.10)!important}
.easter-card .event-card-tags span{
  color:#b8deb2!important;border-color:rgba(132,205,126,.16)!important;
  background:rgba(116,184,105,.055)!important
}
.event-spring i{
  position:absolute;top:-12%;width:7px;height:10px;border-radius:55% 55% 48% 48%;
  opacity:.30;background:rgba(220,239,181,.86);animation:spring-drift linear infinite
}
.event-spring i:nth-child(1){left:9%;animation-duration:10s;animation-delay:-2s}
.event-spring i:nth-child(2){left:25%;animation-duration:13s;animation-delay:-8s;background:rgba(239,197,220,.78)}
.event-spring i:nth-child(3){left:42%;animation-duration:11s;animation-delay:-5s;background:rgba(197,224,242,.78)}
.event-spring i:nth-child(4){left:59%;animation-duration:14s;animation-delay:-10s}
.event-spring i:nth-child(5){left:76%;animation-duration:12s;animation-delay:-4s;background:rgba(242,218,166,.82)}
.event-spring i:nth-child(6){left:91%;animation-duration:15s;animation-delay:-11s;background:rgba(225,194,237,.76)}
@keyframes spring-drift{
  0%{transform:translate3d(0,-8px,0) rotate(0deg);opacity:0}
  12%{opacity:.30}
  55%{transform:translate3d(12px,170px,0) rotate(140deg)}
  100%{transform:translate3d(-8px,380px,0) rotate(300deg);opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .event-lights i,.event-spring i{animation:none!important}
}

/* 3.10.15 — Vote page cinematic refresh */
.vote-page-body{overflow-x:hidden}
.vote-page-v2{max-width:1320px!important}
.vote-page-v2 .vote-hero-v2{position:relative;max-width:none!important;margin:0!important;padding:58px 62px 54px;overflow:hidden;border:1px solid rgba(100,225,215,.18);border-radius:24px;background:linear-gradient(145deg,rgba(11,31,34,.92),rgba(4,14,17,.97));box-shadow:0 35px 95px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.055)}
.vote-page-v2 .vote-hero-v2:before{content:"";position:absolute;inset:-45% 45% -55% -20%;background:radial-gradient(circle,rgba(36,211,199,.13),transparent 62%);pointer-events:none}
.vote-page-v2 .vote-hero-v2:after{content:"";position:absolute;inset:0;opacity:.22;pointer-events:none;background-image:linear-gradient(rgba(108,226,217,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(108,226,217,.05) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000,transparent 72%)}
.vote-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.72fr);gap:60px;align-items:center}
.vote-hero-copy{text-align:left}
.vote-hero-copy .eyebrow{justify-content:flex-start}
.vote-hero-copy h1{margin:14px 0 20px;font-size:clamp(2.45rem,5.3vw,4.65rem);line-height:.97;letter-spacing:-.035em;text-wrap:balance}
.vote-hero-copy h1 em{font-style:normal;color:#79e2d8;text-shadow:0 0 38px rgba(74,220,208,.13)}
.vote-hero-copy>p{max-width:710px;margin:0;color:#b0bfbb;font-size:.98rem;line-height:1.82}
.vote-hero-v2 .vote-hero-meta{justify-content:flex-start;margin-top:28px}
.vote-hero-v2 .vote-hero-meta span{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;background:rgba(9,34,36,.68);border-color:rgba(104,230,219,.23);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.vote-hero-v2 .vote-hero-meta b{color:#e0c982;font-size:.86rem}
.vote-jump-button{display:inline-flex;align-items:center;gap:14px;margin-top:30px;padding:13px 18px;border:1px solid rgba(110,231,222,.28);border-radius:11px;background:linear-gradient(135deg,rgba(30,123,118,.2),rgba(8,34,37,.3));color:#a2ece5;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.vote-jump-button i{font-style:normal;font-size:1.1rem;transition:transform .28s ease}
.vote-jump-button:hover{transform:translateY(-2px);border-color:rgba(125,242,231,.52);box-shadow:0 15px 38px rgba(0,0,0,.24),0 0 24px rgba(49,215,204,.07)}
.vote-jump-button:hover i{transform:translateY(3px)}
.vote-hero-visual{position:relative;width:min(100%,390px);aspect-ratio:1;margin:auto;display:grid;place-items:center;isolation:isolate}
.vote-hero-visual img{position:relative;z-index:5;width:47%;height:47%;object-fit:contain;filter:drop-shadow(0 0 28px rgba(60,218,207,.18)) drop-shadow(0 22px 30px rgba(0,0,0,.5));animation:voteCoreFloat 5s ease-in-out infinite}
.vote-core-glow{position:absolute;z-index:1;width:45%;aspect-ratio:1;border-radius:50%;background:rgba(33,214,201,.14);filter:blur(34px);animation:voteGlowPulse 3.6s ease-in-out infinite}
.vote-orbit{position:absolute;z-index:2;border-radius:50%;border:1px solid rgba(104,226,216,.19);box-shadow:0 0 32px rgba(42,202,193,.035),inset 0 0 28px rgba(42,202,193,.025)}
.vote-orbit:before,.vote-orbit:after{content:"";position:absolute;left:50%;width:7px;height:7px;margin-left:-4px;border:1px solid rgba(176,255,247,.75);background:#174744;transform:rotate(45deg);box-shadow:0 0 13px rgba(64,227,214,.65)}
.vote-orbit:before{top:-4px}.vote-orbit:after{bottom:-4px}
.vote-orbit-a{inset:3%;animation:voteOrbitSpin 23s linear infinite}
.vote-orbit-b{inset:15%;border-style:dashed;border-color:rgba(118,225,216,.15);animation:voteOrbitSpinReverse 17s linear infinite}
.vote-orbit-c{inset:29%;border-color:rgba(218,194,122,.18);animation:voteOrbitSpin 13s linear infinite}
.vote-orbit-nodes{position:absolute;z-index:3;inset:0}
.vote-orbit-nodes span{--r:46%;position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;transform:rotate(var(--a)) translateY(calc(-1 * var(--r))) rotate(calc(-1 * var(--a)));border-radius:50%;background:#70ded5;box-shadow:0 0 0 5px rgba(85,217,207,.06),0 0 16px rgba(85,217,207,.6);animation:voteNodePulse 2.8s ease-in-out infinite}
.vote-orbit-nodes span:nth-child(2n){animation-delay:-1.4s;background:#d4bb72;box-shadow:0 0 0 5px rgba(212,187,114,.05),0 0 16px rgba(212,187,114,.45)}
.vote-core-label{position:absolute;z-index:6;bottom:7%;display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(107,226,216,.2);border-radius:999px;background:rgba(5,20,22,.82);backdrop-filter:blur(12px);font-size:.65rem;letter-spacing:.14em;color:#8fded7}
.vote-core-label b{color:#d9c47f;font-size:.78rem}

.vote-portals{margin-top:66px;scroll-margin-top:100px}
.vote-section-head{display:flex;align-items:end;justify-content:space-between;gap:34px;margin-bottom:28px;padding:0 4px}
.vote-section-head h2{margin:8px 0 0;font-family:Cinzel,serif;color:var(--stone);font-size:clamp(1.55rem,3vw,2.2rem)}
.vote-section-head>p{max-width:520px;margin:0;color:#93a49f;font-size:.85rem;line-height:1.65;text-align:right}

.vote-featured-card{--mx:50%;--my:50%;--tilt-x:0deg;--tilt-y:0deg;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);min-height:340px;margin-bottom:30px;border:1px solid rgba(224,191,91,.42);border-radius:21px;background:linear-gradient(135deg,rgba(34,31,19,.94),rgba(10,28,29,.97) 48%,rgba(5,16,19,.98));box-shadow:0 32px 90px rgba(0,0,0,.4),0 0 45px rgba(213,177,70,.07),inset 0 1px 0 rgba(255,255,255,.055);color:inherit;text-decoration:none;transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .18s ease,border-color .3s ease,box-shadow .3s ease}
.vote-featured-card:before,.vote-list-card[data-vote-card]:before{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;opacity:0;background:radial-gradient(360px circle at var(--mx) var(--my),rgba(132,247,236,.11),transparent 55%);transition:opacity .25s ease}
.vote-featured-card:hover:before,.vote-list-card[data-vote-card]:hover:before{opacity:1}
.vote-featured-card:after{content:"";position:absolute;z-index:7;top:-120%;left:-34%;width:22%;height:340%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,231,156,.09),transparent);transition:left .9s cubic-bezier(.2,.8,.2,1)}
.vote-featured-card:hover:after{left:126%}
.vote-featured-card:hover{border-color:rgba(239,207,111,.72);box-shadow:0 38px 100px rgba(0,0,0,.48),0 0 52px rgba(216,178,61,.11),inset 0 1px 0 rgba(255,255,255,.07)}
.vote-featured-art{position:relative;overflow:hidden;display:grid;place-items:center;min-height:340px;border-right:1px solid rgba(223,192,98,.14);background:radial-gradient(circle at 50% 55%,rgba(214,181,76,.14),transparent 34%),radial-gradient(circle at 50% 50%,rgba(42,197,187,.08),transparent 55%)}
.vote-featured-number{position:absolute;top:22px;left:24px;color:#8d855f;font-size:.7rem;font-weight:800;letter-spacing:.18em}
.vote-featured-monogram{position:relative;z-index:4;font-family:Cinzel,serif;font-size:4rem;font-weight:600;letter-spacing:.02em;color:#e0cd91;text-shadow:0 0 32px rgba(218,186,88,.18)}
.vote-featured-rings{position:absolute;inset:16%;animation:voteOrbitSpin 28s linear infinite}
.vote-featured-rings span{position:absolute;inset:0;border:1px solid rgba(217,185,86,.15);transform:rotate(45deg)}
.vote-featured-rings span:nth-child(2){inset:14%;border-style:dashed;border-color:rgba(92,218,207,.15);animation:voteOrbitSpinReverse 16s linear infinite}
.vote-featured-rings span:nth-child(3){inset:28%;border-color:rgba(217,185,86,.22)}
.vote-featured-copy{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:42px 48px}
.vote-priority-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;margin-bottom:17px;padding:7px 10px;border:1px solid rgba(223,192,99,.26);border-radius:999px;background:rgba(75,62,22,.18);color:#dec986;font-size:.64rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.vote-priority-badge span{width:7px;height:7px;border-radius:50%;background:#e6c65d;box-shadow:0 0 0 5px rgba(230,198,93,.08),0 0 14px rgba(230,198,93,.48);animation:votePriorityPulse 2s ease-in-out infinite}
.vote-featured-copy>small{color:#73d8cf;font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.vote-featured-copy h3{margin:8px 0 13px;font-family:Cinzel,serif;color:#ece4ca;font-size:clamp(1.55rem,3vw,2.25rem)}
.vote-featured-copy p{max-width:760px;margin:0;color:#b6c2be;font-size:.92rem;line-height:1.75}
.vote-featured-copy .vote-list-tags{margin-top:20px}
.vote-featured-copy>strong{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;padding-top:20px;border-top:1px solid rgba(226,195,101,.12);color:#e0c97f;font-size:.73rem;letter-spacing:.075em;text-transform:uppercase}
.vote-featured-copy>strong i{font-style:normal;font-size:1.2rem;transition:transform .25s ease}
.vote-featured-card:hover .vote-featured-copy>strong i{transform:translate(3px,-3px)}

.vote-list-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;margin-top:0!important}
.vote-list-grid-v2 .vote-list-card{--mx:50%;--my:50%;--tilt-x:0deg;--tilt-y:0deg;min-height:370px!important;transform:perspective(950px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .18s ease,border-color .3s ease,box-shadow .3s ease!important}
.vote-list-grid-v2 .vote-list-card:hover{transform:perspective(950px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-5px)}
.vote-list-grid-v2 .vote-list-art{height:126px!important}
.vote-list-grid-v2 .vote-list-art:before{animation:voteArtDiamond 12s linear infinite}
.vote-list-grid-v2 .vote-list-art:after{animation:voteArtDiamondReverse 9s linear infinite}
.vote-list-grid-v2 .vote-list-art b{font-size:2rem}
.vote-list-grid-v2 .vote-list-content{padding:22px 23px 22px!important}
.vote-list-grid-v2 .vote-list-content p{font-size:.82rem!important;line-height:1.68}
.vote-list-grid-v2 .vote-list-content>strong{font-size:.68rem}
.vote-info-panel-v2{margin-top:54px!important;position:relative;overflow:hidden}
.vote-info-panel-v2:after{content:"";position:absolute;right:-80px;bottom:-100px;width:280px;height:280px;border-radius:50%;background:rgba(41,207,197,.06);filter:blur(55px);pointer-events:none}

[data-vote-card]{opacity:0;translate:0 18px}
[data-vote-card].vote-visible{opacity:1;translate:0 0;transition:opacity .7s ease,translate .7s cubic-bezier(.22,1,.36,1),transform .18s ease,border-color .3s ease,box-shadow .3s ease}

@keyframes voteOrbitSpin{to{transform:rotate(360deg)}}
@keyframes voteOrbitSpinReverse{to{transform:rotate(-360deg)}}
@keyframes voteCoreFloat{0%,100%{transform:translateY(-5px)}50%{transform:translateY(6px)}}
@keyframes voteGlowPulse{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
@keyframes voteNodePulse{0%,100%{opacity:.48;transform:rotate(var(--a)) translateY(calc(-1 * var(--r))) rotate(calc(-1 * var(--a))) scale(.82)}50%{opacity:1;transform:rotate(var(--a)) translateY(calc(-1 * var(--r))) rotate(calc(-1 * var(--a))) scale(1.18)}}
@keyframes votePriorityPulse{0%,100%{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
@keyframes voteArtDiamond{to{transform:rotate(405deg)}}
@keyframes voteArtDiamondReverse{to{transform:rotate(-315deg)}}

@media(max-width:1050px){
  .vote-page-v2 .vote-hero-v2{padding:46px 42px}
  .vote-hero-grid{grid-template-columns:minmax(0,1fr) 300px;gap:30px}
  .vote-list-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .vote-featured-card{grid-template-columns:250px 1fr}
  .vote-featured-copy{padding:34px 36px}
}
@media(max-width:760px){
  .vote-page-v2 .vote-hero-v2{padding:34px 24px;border-radius:18px}
  .vote-hero-grid{grid-template-columns:1fr;gap:22px}
  .vote-hero-copy{text-align:center}
  .vote-hero-copy .eyebrow{justify-content:center}
  .vote-hero-copy>p{font-size:.9rem}
  .vote-hero-v2 .vote-hero-meta{justify-content:center}
  .vote-hero-visual{width:min(78vw,300px)}
  .vote-section-head{display:block;text-align:center}
  .vote-section-head>p{margin:12px auto 0;text-align:center}
  .vote-featured-card{grid-template-columns:1fr;min-height:0}
  .vote-featured-art{min-height:210px;border-right:0;border-bottom:1px solid rgba(223,192,98,.14)}
  .vote-featured-copy{padding:28px 25px 27px;text-align:left}
  .vote-list-grid-v2{grid-template-columns:1fr!important}
  .vote-list-grid-v2 .vote-list-card{min-height:0!important}
}
@media(max-width:460px){
  .vote-page-v2 .vote-hero-v2{padding:30px 18px}
  .vote-hero-copy h1{font-size:2.35rem}
  .vote-hero-v2 .vote-hero-meta{gap:7px}
  .vote-hero-v2 .vote-hero-meta span{font-size:.61rem;padding:7px 9px}
  .vote-featured-copy>strong{align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  .vote-hero-visual img,.vote-core-glow,.vote-orbit,.vote-orbit-nodes span,.vote-featured-rings,.vote-featured-rings span,.vote-priority-badge span,.vote-list-grid-v2 .vote-list-art:before,.vote-list-grid-v2 .vote-list-art:after{animation:none!important}
  [data-vote-card]{opacity:1!important;translate:none!important}
  .vote-featured-card,.vote-list-grid-v2 .vote-list-card{transform:none!important;transition:none!important}
}


/* 3.10.16 — Vote rankings loaded from /vote-rankings.json */
.vote-rank-number{
  position:relative;
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.4em;
  font-family:Cinzel,serif;
  font-weight:600;
  line-height:1;
  font-variant-numeric:tabular-nums;
  color:#e8d89f;
  text-shadow:0 0 30px rgba(224,190,86,.18);
}
.vote-rank-number:before{
  content:'#';
  margin-right:.06em;
  color:rgba(116,224,214,.68);
  font-size:.44em;
  font-family:Inter,sans-serif;
  font-weight:700;
  transform:translateY(-.38em);
  text-shadow:none;
}
.vote-featured-monogram.vote-rank-number{
  font-size:clamp(4.2rem,8vw,6.8rem);
  letter-spacing:-.055em;
}
.vote-list-grid-v2 .vote-list-art b.vote-rank-number{
  font-size:3.15rem;
  letter-spacing:-.045em;
}
.vote-rank-number.is-unavailable{
  color:#78918d;
  text-shadow:none;
}
.vote-rank-number.is-unavailable:before{display:none}
.vote-rank-date{
  position:absolute;
  z-index:5;
  right:14px;
  bottom:11px;
  color:rgba(156,183,178,.62);
  font-family:Inter,sans-serif;
  font-size:.57rem;
  font-weight:600;
  line-height:1;
  letter-spacing:.07em;
  text-transform:uppercase;
  white-space:nowrap;
}
.vote-featured-art .vote-rank-date{
  right:19px;
  bottom:17px;
  color:rgba(203,191,145,.62);
  font-size:.6rem;
}
.vote-rank-number.rank-pop{
  animation:voteRankPop .55s cubic-bezier(.2,.85,.25,1.25) both;
}
@keyframes voteRankPop{
  0%{opacity:0;transform:scale(.72) translateY(8px);filter:blur(5px)}
  68%{opacity:1;transform:scale(1.06) translateY(-2px);filter:blur(0)}
  100%{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}
}
@media (prefers-reduced-motion:reduce){
  .vote-rank-number.rank-pop{animation:none!important}
}

/* 3.10.18 — soft edge for horizontally clipped event timeline */
.season-scroll{
  --event-edge-fade:clamp(58px,7vw,118px);
  -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - var(--event-edge-fade)),transparent 100%);
  mask-image:linear-gradient(to right,#000 0,#000 calc(100% - var(--event-edge-fade)),transparent 100%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}

/* Once the visitor reaches the end, show the final event completely. */
.season-scroll.is-at-end{
  -webkit-mask-image:none;
  mask-image:none;
}

@media(max-width:650px){
  .season-scroll{--event-edge-fade:52px}
}


/* 4.0.1 — active event notification in the homepage navigation */
.nav-events-pill{
  position:relative;
  overflow:visible!important;
}
.nav-event-count{
  position:absolute;
  top:-7px;
  right:-8px;
  min-width:20px;
  height:20px;
  padding:0 5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid rgba(5,16,18,.96);
  border-radius:999px;
  background:linear-gradient(145deg,#d8c38f,#9fdad1);
  color:#071012;
  font:800 10px/1 Inter,sans-serif;
  letter-spacing:0;
  box-shadow:0 0 0 1px rgba(216,195,143,.26),0 0 16px rgba(124,229,219,.28),0 4px 12px rgba(0,0,0,.35);
  transform-origin:center;
  animation:navEventBadgePulse 3.6s ease-in-out infinite;
  pointer-events:none;
}
.nav-event-count[hidden]{display:none!important}
@keyframes navEventBadgePulse{
  0%,72%,100%{transform:scale(1);box-shadow:0 0 0 1px rgba(216,195,143,.26),0 0 13px rgba(124,229,219,.22),0 4px 12px rgba(0,0,0,.35)}
  82%{transform:scale(1.12);box-shadow:0 0 0 4px rgba(124,229,219,.08),0 0 20px rgba(124,229,219,.38),0 4px 12px rgba(0,0,0,.35)}
  90%{transform:scale(1)}
}
@media(prefers-reduced-motion:reduce){.nav-event-count{animation:none!important}}


/* 4.0.2 — keep active-event badge visible inside the mobile horizontal nav */
@media(max-width:900px){
  /* overflow-x:auto clips vertically as well. Keep the badge inside the
     scrollport by moving the existing vertical space above the pills. */
  .nav{padding-top:11px;padding-bottom:1px}
  .nav-event-count{top:-6px;right:-6px}
}
@media(max-width:600px){
  .nav{padding-top:11px;padding-bottom:1px}
  .nav-event-count{top:-6px;right:-5px}
}


/* =========================================================
   4.0.4 — calmer, darker teal video background + seamless loop
   ========================================================= */





/* Strong separation from foreground content. */


/* Additional vignette so cards/text remain visually dominant. */
.page-vignette{
  background:
    radial-gradient(ellipse at 50% 27%,
      rgba(7,45,39,.04) 0 20%,
      rgba(3,19,18,.26) 48%,
      rgba(1,7,8,.68) 84%,
      rgba(1,5,7,.88) 100%),
    linear-gradient(to bottom,
      rgba(2,13,13,.08) 0%,
      rgba(4,20,19,.22) 42%,
      rgba(6,16,18,.58) 74%,
      #071012 100%) !important;
}

/* Reduce decorative glow over the movie so it doesn't compete with content. */
.page-background::after{
  opacity:.34 !important;
}

.page-background::before{
  opacity:.10 !important;
}

@media (max-width:760px), (prefers-reduced-motion: reduce){
  
}


/* =========================================================
   4.0.6 — authoritative fullscreen video background
   ========================================================= */
.page-background {
  position: fixed;
  inset: 0;
  z-index: -4;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  min-width: 100vw;
  min-height: 100vh;
  overflow: hidden;
  pointer-events: none;
  background: #061012;
  background-image: none;
  mask-image: none;
  -webkit-mask-image: none;
}

.page-background-video {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  min-width: 100vw;
  min-height: 100vh;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center center;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: .46;
  filter: brightness(.58) contrast(1.12) saturate(.70) hue-rotate(7deg);
}

.page-background-tint {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg,
      rgba(2,18,17,.38) 0%,
      rgba(3,31,27,.48) 32%,
      rgba(3,24,23,.64) 66%,
      rgba(6,16,18,.94) 100%),
    radial-gradient(ellipse at 52% 34%,
      rgba(26,155,135,.16) 0%,
      rgba(11,102,91,.16) 28%,
      rgba(4,48,44,.28) 55%,
      rgba(2,16,17,.58) 82%,
      rgba(2,9,11,.72) 100%);
}

/* Existing decorative aura/particles stay above the video. */
.page-background::before,
.page-background::after {
  z-index: 2;
}

/* The old hero image is ONLY loaded when JS explicitly marks video failure. */
.page-background.video-fallback {
  background:
    linear-gradient(180deg,
      rgba(2,22,20,.48),
      rgba(3,29,26,.60) 48%,
      rgba(7,16,18,.94)),
    url('../images/hytale-hero.jpeg') center center / cover no-repeat;
}

.page-background.video-fallback .page-background-video {
  display: none;
}

/* Reduced motion uses the poster generated from the current video, not the old hero. */
@media (prefers-reduced-motion: reduce) {
  .page-background:not(.video-fallback) {
    background:
      linear-gradient(180deg,
        rgba(2,22,20,.48),
        rgba(3,29,26,.60) 48%,
        rgba(7,16,18,.94)),
      url('../video/nonsolus-bg.webp') center center / cover no-repeat;
  }

  .page-background:not(.video-fallback) .page-background-video {
    display: none;
  }
}


/* =========================================================
   4.0.7 — balanced video visibility
   ========================================================= */

.page-background-video{
  opacity:.72 !important;
  filter:
    brightness(.78)
    contrast(1.08)
    saturate(.78)
    hue-rotate(7deg) !important;
}

/* Teal grading with only mild darkening. */
.page-background-tint{
  background:
    radial-gradient(
      ellipse at 52% 34%,
      rgba(18,145,128,.13) 0%,
      rgba(10,85,76,.10) 38%,
      rgba(3,30,29,.18) 68%,
      rgba(2,14,15,.28) 100%
    ) !important;
}

/* Keep the middle open and darken only toward the edges. */
.page-vignette{
  background:
    radial-gradient(
      ellipse at 50% 38%,
      transparent 0 42%,
      rgba(2,10,11,.12) 62%,
      rgba(1,6,7,.42) 88%,
      rgba(1,5,7,.62) 100%
    ) !important;
}

/* Ambient accents stay subtle. */
.page-background::after{
  opacity:.28 !important;
}

.page-background::before{
  opacity:.08 !important;
}


/* =========================================================
   4.0.8 — sitewide video background + unified glass chronicle
   ========================================================= */

/* A touch brighter than 4.0.7 while retaining the restrained teal grade. */
.page-background-video{
  opacity:.76 !important;
  filter:
    brightness(.84)
    contrast(1.07)
    saturate(.80)
    hue-rotate(7deg) !important;
}

/* The video is the actual site background on every page. */
.legal-page{
  background:#071012;
}

.legal-page::before,
.legal-page:before{
  display:none !important;
  content:none !important;
  background:none !important;
}

/* Keep all shared background layers fixed to the viewport everywhere. */
.page-background{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  overflow:hidden !important;
  background:#071012 !important;
  background-image:none !important;
}

.page-background-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Hero/intro sections should sit on top of the shared video instead of
   bringing back their own static hero artwork. */
.story-hero{
  background:
    linear-gradient(90deg,
      rgba(4,16,18,.64) 0%,
      rgba(6,20,22,.46) 53%,
      rgba(7,17,18,.24) 100%) !important;
  backdrop-filter:blur(14px) saturate(118%);
  -webkit-backdrop-filter:blur(14px) saturate(118%);
}

/* Chronicle cards now use the same transparent glass language as the other
   interactive cards across the site. */
.chronicle-card{
  background:rgba(12,31,34,.42) !important;
  border-color:rgba(89,216,205,.22) !important;
  backdrop-filter:blur(20px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(130%) !important;
  box-shadow:
    0 22px 54px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

.chronicle-entry:hover .chronicle-card{
  background:rgba(14,38,40,.50) !important;
  border-color:rgba(112,241,228,.46) !important;
  box-shadow:
    0 28px 64px rgba(0,0,0,.30),
    0 0 28px rgba(39,216,208,.08),
    inset 0 1px 0 rgba(255,255,255,.075) !important;
}

.chronicle-entry.is-current .chronicle-card{
  background:rgba(31,28,19,.40) !important;
  border-color:rgba(222,183,101,.34) !important;
  backdrop-filter:blur(20px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(125%) !important;
}

/* Keep legal/article surfaces readable without hiding the shared movie. */
.legal-shell article{
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}

/* The old hero image remains in the asset folder only; it is not rendered
   as part of the normal site background. */


/* =========================================================
   4.0.9 — unified glass cards + stronger events content tint
   ========================================================= */

:root{
  --ns-glass-bg:linear-gradient(
    145deg,
    rgba(12,32,35,.48),
    rgba(5,17,19,.56)
  );
  --ns-glass-bg-hover:linear-gradient(
    145deg,
    rgba(15,40,42,.56),
    rgba(6,19,21,.64)
  );
  --ns-glass-border:rgba(89,216,205,.22);
  --ns-glass-border-hover:rgba(112,241,228,.44);
  --ns-glass-blur:20px;
  --ns-glass-shadow:
    0 22px 54px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055);
}

/* One common glass treatment for the card/tile language across the site. */
.action-card,
.overview-card,
.idea-panel,
.value,
.faq-card,
.roadmap-card,
.cta-panel,
.home-event-card,
.event-detail-card,
.standalone-note,
.chronicle-card,
.founder-card,
.role-detail-card,
.team-card,
.member-card,
.member-card-v20,
.mod-card,
.wiki-feature-card,
.wiki-mod-card,
.vote-card,
.vote-featured-card,
.vote-list-card,
.vote-info-panel,
.vote-info-panel-v2,
.handbook-hero,
.legal-card,
.story-card-grid article,
.season-event-card,
.season-event-placeholder{
  background:var(--ns-glass-bg) !important;
  border-color:var(--ns-glass-border) !important;
  backdrop-filter:blur(var(--ns-glass-blur)) saturate(130%) !important;
  -webkit-backdrop-filter:blur(var(--ns-glass-blur)) saturate(130%) !important;
  box-shadow:var(--ns-glass-shadow) !important;
}

/* Keep hover behavior consistent without flattening each card's identity. */
.action-card:hover,
.overview-card:hover,
.idea-panel:hover,
.value:hover,
.faq-card:hover,
.roadmap-card:hover,
.home-event-card:hover,
.event-detail-card:hover,
.chronicle-entry:hover .chronicle-card,
.founder-card:hover,
.role-detail-card:hover,
.team-card:hover,
.member-card:hover,
.member-card-v20:hover,
.mod-card:hover,
.wiki-feature-card:hover,
.wiki-mod-card:hover,
.vote-card:hover,
.vote-featured-card:hover,
.vote-list-card:hover,
.season-event-card:hover{
  background:var(--ns-glass-bg-hover) !important;
  border-color:var(--ns-glass-border-hover) !important;
}

/* Preserve intentional colour identities while using the same blur/transparency. */
.chronicle-entry.is-current .chronicle-card{
  background:linear-gradient(
    145deg,
    rgba(46,39,22,.43),
    rgba(12,20,20,.56)
  ) !important;
  border-color:rgba(222,183,101,.34) !important;
}

.season-event-card.is-running{
  background:linear-gradient(
    145deg,
    rgba(10,42,40,.50),
    rgba(5,20,21,.58)
  ) !important;
  border-color:rgba(112,223,211,.34) !important;
}

.season-event-card.is-planned{
  border-color:rgba(217,189,105,.25) !important;
}

.season-event-card.spooky-card{
  background:
    radial-gradient(circle at 82% 12%,rgba(125,85,158,.13),transparent 34%),
    linear-gradient(145deg,rgba(18,29,36,.50),rgba(7,17,24,.58)) !important;
}

.season-event-card.winter-card,
.winter-card{
  background:
    radial-gradient(circle at 78% 12%,rgba(125,194,224,.11),transparent 38%),
    linear-gradient(145deg,rgba(13,31,38,.50),rgba(6,18,24,.58)) !important;
}

.season-event-card.christmas-card,
.christmas-card{
  background:
    radial-gradient(circle at 78% 12%,rgba(83,158,120,.11),transparent 38%),
    linear-gradient(145deg,rgba(12,34,31,.50),rgba(7,19,20,.58)) !important;
}

.season-event-card.easter-card,
.easter-card{
  background:
    radial-gradient(circle at 78% 12%,rgba(176,140,190,.10),transparent 38%),
    linear-gradient(145deg,rgba(24,31,37,.48),rgba(8,20,22,.58)) !important;
}

/* Role colours remain visible through borders/accent layers. */
.member-card-v20,
.team-card,
.founder-card,
.role-detail-card{
  background:linear-gradient(
    155deg,
    rgba(11,31,33,.48),
    rgba(5,15,17,.58)
  ) !important;
}

/* Event page: add one calm tinted glass surface behind the roadmap itself.
   It separates the dense event content from the moving movie without hiding it. */
.seasonal-events-page .season-roadmap{
  padding:28px 24px 30px !important;
  border:1px solid rgba(89,216,205,.14);
  border-radius:22px;
  background:
    linear-gradient(
      180deg,
      rgba(4,23,23,.42) 0%,
      rgba(3,19,20,.52) 52%,
      rgba(4,16,18,.62) 100%
    );
  backdrop-filter:blur(14px) saturate(118%);
  -webkit-backdrop-filter:blur(14px) saturate(118%);
  box-shadow:
    0 28px 70px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.035);
}

/* Keep navigation controls comfortably inside the tinted event surface. */
@media (min-width:980px){
  .seasonal-events-page .season-roadmap-controls,
  .seasonal-events-page .season-timeline-controls{
    inset:50% -10px auto -10px !important;
  }
}

@media (max-width:760px){
  .seasonal-events-page .season-roadmap{
    padding:20px 10px 22px !important;
    border-radius:18px;
    background:
      linear-gradient(
        180deg,
        rgba(4,23,23,.48),
        rgba(4,16,18,.66)
      );
  }

  :root{
    --ns-glass-blur:16px;
  }
}


/* =========================================================
   4.0.11 — targeted glass fixes only (based on 4.0.9)
   ========================================================= */

/* Minimal background-video blur, compensated with a tiny scale so no soft edge
   becomes visible around the viewport. */
.page-background-video{
  filter:
    blur(1.2px)
    brightness(.84)
    contrast(1.07)
    saturate(.80)
    hue-rotate(7deg) !important;
  transform:scale(1.025) !important;
}

/* Start page FAQ cards only. */
#faq .faq-card,
.faq-section .faq-card,
.home-faq .faq-card{
  background:linear-gradient(
    145deg,
    rgba(12,32,35,.46),
    rgba(5,17,19,.54)
  ) !important;
  backdrop-filter:blur(20px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(130%) !important;
  border-color:rgba(89,216,205,.22) !important;
  box-shadow:
    0 22px 54px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

/* Start page vote tile: "Dein Vote bringt NonSolus nach vorn." */
.home-vote-card{
  background:linear-gradient(
    145deg,
    rgba(12,32,35,.46),
    rgba(5,17,19,.54)
  ) !important;
  backdrop-filter:blur(20px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(130%) !important;
  border-color:rgba(89,216,205,.22) !important;
  box-shadow:
    0 22px 54px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

/* Mods page intro/status pills only. */
.mods-page .mods-kicker,
.mods-page .mod-status,
.mods-page .mods-intro [class*="pill"],
.mods-page .mods-intro [class*="tag"],
.mods-page .mods-intro [class*="meta"]{
  background:rgba(8,28,30,.42) !important;
  border:1px solid rgba(113,226,216,.20) !important;
  backdrop-filter:blur(12px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(125%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 6px 18px rgba(0,0,0,.10) !important;
}


/* =========================================================
   4.0.12 — targeted rollback/fixes after 4.0.11
   ========================================================= */

/* 1) Startseite: Werte wieder ohne Kartenfläche. */
#values .value,
.values .value,
.values-grid .value{
  background:transparent !important;
  border-color:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
}

/* 2) Startseite FAQ: nicht nur die äußere Action-Kachel, sondern die
      tatsächlichen aufklappbaren FAQ-Bereiche bluren. */
#faq details,
.faq-section details,
.home-faq details,
#faq .faq-item,
.faq-section .faq-item,
.home-faq .faq-item{
  background:rgba(8,26,28,.42) !important;
  border:1px solid rgba(89,216,205,.18) !important;
  backdrop-filter:blur(18px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(125%) !important;
  box-shadow:
    0 14px 36px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.035) !important;
}

#faq details[open],
.faq-section details[open],
.home-faq details[open],
#faq .faq-item.is-open,
.faq-section .faq-item.is-open,
.home-faq .faq-item.is-open{
  background:rgba(10,32,34,.50) !important;
  border-color:rgba(112,241,228,.28) !important;
}

#faq summary,
.faq-section summary,
.home-faq summary{
  background:transparent !important;
}

/* 3) Events: Jahreszeiten-Bänder wieder einfarbig, ohne Verlauf. */
.season-band{
  background:rgba(8,26,28,.62) !important;
}

.season-band.spring{
  background:rgba(32,66,53,.62) !important;
}
.season-band.summer{
  background:rgba(72,63,30,.58) !important;
}
.season-band.autumn{
  background:rgba(74,45,31,.60) !important;
}
.season-band.winter{
  background:rgba(31,52,66,.62) !important;
}

/* 4) Mods: Pills nicht in einen Container verwandeln.
      Nur die bestehenden Pill-Flächen bekommen Blur. */
.mods-page .mods-intro [class*="pill"],
.mods-page .mods-intro [class*="tag"],
.mods-page .mods-intro [class*="meta"],
.mods-page .mod-status{
  backdrop-filter:blur(12px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(125%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 5px 14px rgba(0,0,0,.08) !important;
}

/* Keine gemeinsame Fläche um die Pill-Gruppe herum. */
.mods-page .mods-intro,
.mods-page .mods-intro > div,
.mods-page .mods-intro .mods-meta,
.mods-page .mods-intro .mods-pills{
  background:transparent !important;
  border-color:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
}

/* 5) Startseite Hero: individuelle Border-Farben der großen Buttons zurück. */
.hero-action-panel > .hero-server-card,
.hero-primary-actions .server-card,
.hero-primary-actions .action-card.server-card{
  border-color:rgba(89,216,205,.46) !important;
}

.hero-primary-actions .discord-card,
.hero-action-panel .discord-card{
  border-color:rgba(104,119,255,.48) !important;
}

.hero-primary-actions .mods-card,
.hero-action-panel .mods-card{
  border-color:rgba(241,139,74,.48) !important;
}

.hero-primary-actions .home-vote-card,
.hero-action-panel .home-vote-card{
  border-color:rgba(226,196,103,.48) !important;
}

.hero-primary-actions .home-event-card,
.hero-action-panel .home-event-card{
  border-color:rgba(89,216,205,.42) !important;
}

/* 6) Team: unbesetzte Aufgaben zurück auf ihren vorherigen ruhigeren Stil. */
.member-card-v20.unassigned-role{
  background:linear-gradient(
    155deg,
    rgba(21,27,29,.82),
    rgba(8,14,16,.90)
  ) !important;
  border-color:rgba(152,165,168,.18) !important;
  backdrop-filter:blur(10px) saturate(108%) !important;
  -webkit-backdrop-filter:blur(10px) saturate(108%) !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.member-card-v20.unassigned-role:hover{
  background:linear-gradient(
    155deg,
    rgba(25,32,34,.86),
    rgba(10,16,18,.92)
  ) !important;
  border-color:rgba(174,186,189,.26) !important;
  box-shadow:
    0 22px 50px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
}

/* Unassigned role accents stay muted. */
.member-card-v20.unassigned-role .member-accent{
  opacity:.42 !important;
}
.member-card-v20.unassigned-role .member-glow{
  opacity:.18 !important;
}


/* =========================================================
   4.0.13 — exact FAQ/Vote glass targets + remove video blur
   ========================================================= */

/* Background video: remove the 1.2px blur from 4.0.11 completely.
   Keep the 4.0.8 brightness/teal grading. */
.page-background-video{
  opacity:.76 !important;
  filter:
    brightness(.84)
    contrast(1.07)
    saturate(.80)
    hue-rotate(7deg) !important;
  transform:scale(1.018) !important;
}

/* FAQ category blocks:
   "EINSTIEG / Die ersten Schritte", "Gameplay", "Bauen & Community". */
#faq .faq-group{
  background:rgba(8,27,29,.46) !important;
  border-color:rgba(88,211,201,.20) !important;
  backdrop-filter:blur(20px) saturate(128%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(128%) !important;
  box-shadow:
    0 22px 55px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.045) !important;
}

/* Keep the category header translucent as well, so it does not cover the blur. */
#faq .faq-group > header{
  background:rgba(22,81,79,.10) !important;
}

/* FAQ rows stay transparent inside the blurred category surface. */
#faq .faq-group .faq-list details{
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
}

/* "Frag uns direkt auf Discord." block at the bottom. */
#faq .faq-cta{
  background:rgba(11,39,40,.46) !important;
  border-color:rgba(88,211,201,.22) !important;
  backdrop-filter:blur(20px) saturate(128%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(128%) !important;
  box-shadow:
    0 20px 50px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.045) !important;
}

/* Vote page hero card:
   "Dein Vote bringt NonSolus nach vorn." */
.vote-page-body .vote-hero-v2{
  background:linear-gradient(
    145deg,
    rgba(10,31,33,.48),
    rgba(4,16,18,.56)
  ) !important;
  border-color:rgba(100,225,215,.22) !important;
  backdrop-filter:blur(20px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(130%) !important;
  box-shadow:
    0 35px 95px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
}

/* Meta pills inside that hero also reveal the glass underneath. */
.vote-page-body .vote-hero-v2 .vote-hero-meta span{
  background:rgba(9,34,36,.42) !important;
  backdrop-filter:blur(10px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(10px) saturate(125%) !important;
}


/* =========================================================
   4.0.14 — requested visual refinements
   ========================================================= */

/* Background video intentionally much calmer. */
.page-background-video{
  opacity:.30 !important;
}

/* Subpage headings: a subtle dark-teal halo behind title + intro copy.
   This is not a card — it only improves separation from the moving video. */
.seasonal-events-hero,
.mods-intro,
.team-intro,
.wiki-intro{
  position:relative;
  isolation:isolate;
}

.seasonal-events-hero::before,
.mods-intro::before,
.team-intro::before,
.wiki-intro::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-26px -46px -30px;
  pointer-events:none;
  border-radius:36px;
  background:
    radial-gradient(
      ellipse at center,
      rgba(3,24,24,.54) 0%,
      rgba(4,26,25,.38) 42%,
      rgba(3,18,19,.18) 67%,
      transparent 82%
    );
  filter:blur(10px);
}

/* Unassigned team tasks: restore the original pre-glass design exactly. */
.member-card-v20.unassigned-role{
  --role-accent:#8e9693 !important;
  --role-soft:rgba(142,150,147,.06) !important;
  min-height:600px;
  border-color:rgba(155,164,160,.22) !important;
  background:linear-gradient(
    180deg,
    rgba(14,22,23,.58),
    rgba(8,14,15,.72)
  ) !important;
  box-shadow:0 20px 54px rgba(0,0,0,.26) !important;
  filter:saturate(.2) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.member-card-v20.unassigned-role::before{
  display:none !important;
}

.member-card-v20.unassigned-role .member-accent{
  background:linear-gradient(90deg,transparent,#929a97,transparent) !important;
  box-shadow:none !important;
  opacity:.62 !important;
}

.member-card-v20.unassigned-role .member-badge-muted{
  color:#adb5b2 !important;
  border-color:rgba(166,175,171,.22) !important;
  background:rgba(132,141,137,.08) !important;
}

.member-card-v20.unassigned-role .member-visual{
  background:
    radial-gradient(circle at 50% 75%,rgba(146,153,150,.06),transparent 43%),
    linear-gradient(180deg,rgba(18,27,28,.26),rgba(4,10,11,.04)) !important;
}

.member-card-v20.unassigned-role .member-visual img{
  filter:grayscale(1) contrast(1.25) brightness(.48) !important;
  opacity:.16 !important;
}

.member-card-v20.unassigned-role .member-glow{
  opacity:.15 !important;
  box-shadow:none !important;
  border-color:rgba(166,175,171,.14) !important;
  background:radial-gradient(circle,rgba(150,158,155,.06),transparent 66%) !important;
}

.member-card-v20.unassigned-role .member-info > strong{
  color:#aeb6b3 !important;
}

.member-card-v20.unassigned-role .member-info p{
  color:rgba(205,216,212,.62) !important;
}

.member-card-v20.unassigned-role .member-tags span{
  border-color:rgba(164,172,169,.18) !important;
  background:rgba(142,150,147,.06) !important;
  color:#aeb7b3 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.member-card-v20.unassigned-role:hover{
  transform:none !important;
  border-color:rgba(155,164,160,.28) !important;
  background:linear-gradient(
    180deg,
    rgba(14,22,23,.58),
    rgba(8,14,15,.72)
  ) !important;
  box-shadow:0 20px 54px rgba(0,0,0,.26) !important;
}

.member-card-v20.unassigned-role:hover .member-visual img{
  transform:none !important;
  filter:grayscale(1) contrast(1.25) brightness(.48) !important;
  opacity:.16 !important;
}

.member-card-v20.unassigned-role:hover .member-glow{
  transform:translate(-50%,-50%) !important;
  box-shadow:none !important;
}

.member-card-v20.unassigned-role:hover .member-tags span{
  transform:none !important;
  box-shadow:none !important;
  border-color:rgba(164,172,169,.18) !important;
  background:rgba(142,150,147,.06) !important;
}

/* Event season tiles:
   remove the remaining colour gradients (:before) and use flat translucent
   season colours with backdrop blur instead. */
.season-band{
  backdrop-filter:blur(14px) saturate(118%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(118%) !important;
}

.season-band::before{
  display:none !important;
  content:none !important;
  background:none !important;
}

.season-band.autumn{
  background:rgba(74,45,31,.52) !important;
}
.season-band.winter{
  background:rgba(31,52,66,.54) !important;
}
.season-band.spring{
  background:rgba(32,66,53,.52) !important;
}
.season-band.summer{
  background:rgba(72,63,30,.50) !important;
}


/* =========================================================
   4.0.16 — restore vacant team cards to the live-site look
   ========================================================= */

.member-card-v20.unassigned-role{
  --role-accent:#59d8cd !important;
  --role-soft:rgba(89,216,205,.08) !important;
  background:
    linear-gradient(
      180deg,
      rgba(8,45,46,.54) 0%,
      rgba(5,25,27,.62) 58%,
      rgba(4,18,20,.72) 100%
    ) !important;
  border-color:rgba(89,216,205,.46) !important;
  backdrop-filter:blur(18px) saturate(118%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(118%) !important;
  box-shadow:
    0 24px 58px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.05),
    0 0 24px rgba(39,216,208,.035) !important;
  filter:none !important;
  opacity:1 !important;
}

.member-card-v20.unassigned-role .member-accent{
  opacity:.9 !important;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(96,236,224,.95) 24%,
      rgba(96,236,224,.95) 76%,
      transparent
    ) !important;
  box-shadow:0 0 16px rgba(75,226,214,.18) !important;
}

.member-card-v20.unassigned-role .member-badge-muted{
  color:#e0c982 !important;
  border-color:rgba(222,183,101,.42) !important;
  background:rgba(84,68,24,.34) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}

.member-card-v20.unassigned-role .member-visual{
  position:relative;
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(56,184,174,.18) 0%,
      rgba(28,120,116,.10) 28%,
      rgba(10,55,57,.05) 52%,
      transparent 72%
    ) !important;
}

.member-card-v20.unassigned-role .member-visual img{
  opacity:0 !important;
  visibility:hidden !important;
}

.member-card-v20.unassigned-role .member-visual::before,
.member-card-v20.unassigned-role .member-visual::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  pointer-events:none !important;
}

.member-card-v20.unassigned-role .member-visual::before{
  width:62% !important;
  aspect-ratio:1 !important;
  border:1px solid rgba(89,216,205,.28) !important;
  box-shadow:
    0 0 30px rgba(39,216,208,.05),
    inset 0 0 30px rgba(39,216,208,.025) !important;
}

.member-card-v20.unassigned-role .member-visual::after{
  width:46% !important;
  aspect-ratio:1 !important;
  border:1px dashed rgba(89,216,205,.22) !important;
  box-shadow:
    0 0 0 28px rgba(89,216,205,.018),
    0 0 34px rgba(39,216,208,.06) !important;
}

.member-card-v20.unassigned-role .member-glow{
  opacity:1 !important;
  width:38% !important;
  height:auto !important;
  aspect-ratio:1 !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  border:1px dashed rgba(89,216,205,.18) !important;
  background:
    radial-gradient(
      circle,
      rgba(66,208,196,.12) 0%,
      rgba(34,143,138,.07) 42%,
      transparent 72%
    ) !important;
  box-shadow:0 0 34px rgba(39,216,208,.09) !important;
}

.member-card-v20.unassigned-role .member-info > strong{
  color:#67ddd3 !important;
}

.member-card-v20.unassigned-role .member-info h3{
  color:var(--stone) !important;
}

.member-card-v20.unassigned-role .member-info p{
  color:#aebbb7 !important;
}

.member-card-v20.unassigned-role .member-tags span{
  color:#c6d8d4 !important;
  border-color:rgba(89,216,205,.28) !important;
  background:rgba(17,61,62,.42) !important;
  backdrop-filter:blur(8px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(8px) saturate(120%) !important;
}

.member-card-v20.unassigned-role:hover{
  transform:none !important;
  background:
    linear-gradient(
      180deg,
      rgba(9,49,50,.58) 0%,
      rgba(5,27,29,.65) 58%,
      rgba(4,19,21,.74) 100%
    ) !important;
  border-color:rgba(89,216,205,.52) !important;
  box-shadow:
    0 24px 58px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055),
    0 0 30px rgba(39,216,208,.045) !important;
}

.member-card-v20.unassigned-role:hover .member-visual::before,
.member-card-v20.unassigned-role:hover .member-visual::after,
.member-card-v20.unassigned-role:hover .member-glow{
  transform:translate(-50%,-50%) !important;
}


/* =========================================================
   4.0.17 — vacant cards use the exact active-member surface
   ========================================================= */

/* Same card background as occupied team members.
   Vacancy is communicated only by badge + empty portrait rings. */
.member-card-v20.unassigned-role,
.member-card-v20.unassigned-role:hover{
  background:var(--ns-glass-bg) !important;
  border-color:var(--ns-glass-border) !important;
  backdrop-filter:blur(var(--ns-glass-blur)) saturate(130%) !important;
  -webkit-backdrop-filter:blur(var(--ns-glass-blur)) saturate(130%) !important;
  box-shadow:var(--ns-glass-shadow) !important;
  filter:none !important;
  opacity:1 !important;
}

/* Remove the radial/striped vacancy background completely. */
.member-card-v20.unassigned-role .member-visual{
  background:transparent !important;
}

/* Keep the empty-avatar rings, but without any radial fill. */
.member-card-v20.unassigned-role .member-glow{
  background:transparent !important;
  box-shadow:none !important;
}

.member-card-v20.unassigned-role .member-visual::before{
  background:transparent !important;
  box-shadow:none !important;
}

.member-card-v20.unassigned-role .member-visual::after{
  background:transparent !important;
  box-shadow:none !important;
}


/* =========================================================
   4.0.18 — darker background video on subpages
   ========================================================= */

/* Homepage keeps the current video appearance.
   All subpages use the former, darker visual separation. */
body:not(.home-page) .page-background-video{
  opacity:.30 !important;
  filter:
    brightness(.48)
    contrast(1.08)
    saturate(.72)
    hue-rotate(7deg) !important;
}

body:not(.home-page) .page-background-tint{
  background:
    linear-gradient(
      180deg,
      rgba(2,14,15,.40) 0%,
      rgba(2,15,16,.50) 45%,
      rgba(1,10,12,.60) 100%
    ) !important;
}

body:not(.home-page) .page-vignette{
  background:
    radial-gradient(
      ellipse at 50% 35%,
      rgba(2,12,13,.08) 0%,
      rgba(2,10,11,.22) 48%,
      rgba(1,7,8,.56) 86%,
      rgba(1,5,7,.72) 100%
    ) !important;
}


/* =========================================================
   4.0.19 — homepage video restored, subpages stay dark
   ========================================================= */

body.home-page .page-background-video{
  opacity:.30 !important;
  filter:
    brightness(.84)
    contrast(1.07)
    saturate(.80)
    hue-rotate(7deg) !important;
}

body.home-page .page-background-tint{
  background:
    radial-gradient(
      ellipse at 52% 34%,
      rgba(18,145,128,.13) 0%,
      rgba(10,85,76,.10) 38%,
      rgba(3,30,29,.18) 68%,
      rgba(2,14,15,.28) 100%
    ) !important;
}

body.home-page .page-vignette{
  background:
    radial-gradient(
      ellipse at 50% 38%,
      transparent 0 42%,
      rgba(2,10,11,.12) 62%,
      rgba(1,6,7,.42) 88%,
      rgba(1,5,7,.62) 100%
    ) !important;
}


/* =========================================================
   4.0.22 — subtle active-event pulse
   ========================================================= */

.season-event-card.is-running{
  animation:activeEventPulse 3.8s ease-in-out infinite;
}

@keyframes activeEventPulse{
  0%,100%{
    border-color:rgba(89,216,205,.34);
    box-shadow:
      0 22px 54px rgba(0,0,0,.24),
      inset 0 1px 0 rgba(255,255,255,.05),
      0 0 0 1px rgba(89,216,205,.02),
      0 0 18px rgba(89,216,205,.035);
  }
  50%{
    border-color:rgba(105,232,220,.54);
    box-shadow:
      0 22px 54px rgba(0,0,0,.24),
      inset 0 1px 0 rgba(255,255,255,.055),
      0 0 0 1px rgba(105,232,220,.08),
      0 0 27px rgba(89,216,205,.11);
  }
}

@media (prefers-reduced-motion:reduce){
  .season-event-card.is-running{
    animation:none;
  }
}


/* =========================================================
   4.0.23 — keep all event cards in one row + clean active pulse
   ========================================================= */

/* We now have 6 event cards + 1 placeholder. */
.season-event-grid{
  grid-template-columns:repeat(7,300px) !important;
  gap:18px !important;
}

.season-canvas{
  width:2208px !important;
  min-width:2208px !important;
}

/* Don't animate the card itself; existing hover rules use !important
   and otherwise fight with the pulse. */
.season-event-card.is-running{
  animation:none !important;
  position:relative;
}

/* Dedicated soft pulse layer. */
.season-event-card.is-running::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:5;
  pointer-events:none;
  border-radius:16px;
  border:1px solid rgba(112,223,211,.28);
  box-shadow:
    0 0 10px rgba(89,216,205,.03),
    0 0 20px rgba(89,216,205,.025);
  opacity:.42;
  animation:activeEventHalo 3.4s ease-in-out infinite;
}

@keyframes activeEventHalo{
  0%,100%{
    opacity:.35;
    border-color:rgba(112,223,211,.24);
    box-shadow:
      0 0 8px rgba(89,216,205,.02),
      0 0 16px rgba(89,216,205,.025);
  }
  50%{
    opacity:.95;
    border-color:rgba(120,238,226,.58);
    box-shadow:
      0 0 13px rgba(89,216,205,.10),
      0 0 28px rgba(89,216,205,.13);
  }
}

/* Keep the glow visible on hover without changing the rhythm. */
.season-event-card.is-running:hover::after{
  animation:activeEventHalo 3.4s ease-in-out infinite;
}

/* Existing compact event layout uses 250px cards. */
@media (max-width:760px){
  .season-event-grid{
    grid-template-columns:repeat(7,250px) !important;
    gap:14px !important;
  }

  .season-canvas{
    width:1834px !important;
    min-width:1834px !important;
  }
}

/* Keep accessibility behavior, but retain a static visible highlight. */
@media (prefers-reduced-motion:reduce){
  .season-event-card.is-running::after{
    animation:none !important;
    opacity:.72;
    border-color:rgba(120,238,226,.48);
    box-shadow:0 0 20px rgba(89,216,205,.08);
  }
}


/* =========================================================
   4.0.24 — event borders follow their season
   ========================================================= */

/* Autumn */
.season-event-card.autumn-event:not(.is-running),
.season-event-placeholder.autumn-event{
  border-color:rgba(180,116,72,.34) !important;
}

/* Winter */
.season-event-card.winter-event:not(.is-running),
.season-event-placeholder.winter-event{
  border-color:rgba(112,164,196,.36) !important;
}

/* Spring */
.season-event-card.spring-event:not(.is-running),
.season-event-placeholder.spring-event{
  border-color:rgba(104,184,139,.34) !important;
}

/* Summer */
.season-event-card.summer-event:not(.is-running),
.season-event-placeholder.summer-event{
  border-color:rgba(196,176,92,.34) !important;
}

/* Keep seasonal color on hover instead of the generic gold/glass border. */
.season-event-card.autumn-event:not(.is-running):hover{border-color:rgba(197,132,84,.52)!important}
.season-event-card.winter-event:not(.is-running):hover{border-color:rgba(126,181,216,.54)!important}
.season-event-card.spring-event:not(.is-running):hover{border-color:rgba(116,202,153,.52)!important}
.season-event-card.summer-event:not(.is-running):hover{border-color:rgba(213,192,101,.52)!important}


/* =========================================================
   4.0.25 — card borders follow the card's own theme
   ========================================================= */

/* Generic cards can follow the season, but themed cards override it. */
.season-event-card.autumn-event:not(.is-running):not(.spooky-card):not(.winter-card){
  border-color:rgba(180,116,72,.34)!important;
}
.season-event-card.winter-event:not(.is-running):not(.christmas-card){
  border-color:rgba(112,164,196,.36)!important;
}
.season-event-card.spring-event:not(.is-running):not(.easter-card){
  border-color:rgba(104,184,139,.34)!important;
}

/* Winter is coming: blue/cyan, matching its cold card background. */
.season-event-card.winter-card:not(.is-running){
  border-color:rgba(125,194,224,.40)!important;
}
.season-event-card.winter-card:not(.is-running):hover{
  border-color:rgba(151,214,241,.58)!important;
}

/* Spooky Night: violet, matching the purple card background. */
.season-event-card.spooky-card:not(.is-running){
  border-color:rgba(184,123,218,.40)!important;
}
.season-event-card.spooky-card:not(.is-running):hover{
  border-color:rgba(207,145,235,.60)!important;
}

/* Weihnachtsmarkt: cool blue/green, matching its card background. */
.season-event-card.christmas-card:not(.is-running){
  border-color:rgba(111,184,160,.36)!important;
}
.season-event-card.christmas-card:not(.is-running):hover{
  border-color:rgba(133,207,181,.56)!important;
}

/* Osterhasenjagd: restore the green card and matching green border. */
.season-event-card.easter-card:not(.is-running){
  background:
    radial-gradient(circle at 82% 14%,rgba(190,224,158,.10),transparent 34%),
    linear-gradient(145deg,rgba(18,49,37,.52),rgba(7,27,24,.62)) !important;
  border-color:rgba(132,205,126,.40)!important;
}
.season-event-card.easter-card:not(.is-running):hover{
  background:
    radial-gradient(circle at 82% 14%,rgba(190,224,158,.13),transparent 34%),
    linear-gradient(145deg,rgba(21,56,42,.57),rgba(8,31,27,.66)) !important;
  border-color:rgba(151,220,143,.58)!important;
}


/* =========================================================
   4.0.26 — align events with their actual season bands
   ========================================================= */

/* Explicit timeline positions after adding Winter is coming · Teil 2. */
#winter-is-coming{grid-column:1!important}
#winter-is-coming-teil-2{grid-column:2!important}
#community-abend{grid-column:3!important}
#spooky-night{grid-column:4!important}
#weihnachtsmarkt{grid-column:5!important}
#osterhasenjagd{grid-column:6!important}
.season-event-placeholder{grid-column:7!important}

/* Weihnachtsmarkt: warm Christmas red while remaining in Winter. */
.season-event-card.christmas-card{
  background:
    radial-gradient(circle at 80% 14%,rgba(224,92,92,.13),transparent 34%),
    radial-gradient(circle at 16% 86%,rgba(177,45,53,.09),transparent 36%),
    linear-gradient(145deg,rgba(55,23,28,.54),rgba(27,12,17,.64)) !important;
  border-color:rgba(211,91,98,.42)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.27),0 0 30px rgba(188,61,70,.06)!important;
}
.season-event-card.christmas-card:hover{
  background:
    radial-gradient(circle at 80% 14%,rgba(236,103,103,.16),transparent 34%),
    radial-gradient(circle at 16% 86%,rgba(190,51,60,.11),transparent 36%),
    linear-gradient(145deg,rgba(62,25,31,.58),rgba(31,13,19,.67)) !important;
  border-color:rgba(226,111,117,.60)!important;
}
.christmas-card .season-event-meta em{
  color:#efb5b8!important;
  border-color:rgba(220,108,113,.24)!important;
  background:rgba(174,55,63,.10)!important;
}
.christmas-card .event-card-tags span{
  color:#e6b1b4!important;
  border-color:rgba(211,91,98,.18)!important;
  background:rgba(174,55,63,.06)!important;
}


/* =========================================================
   4.0.27 — season bands realigned after adding Part 2
   ========================================================= */

/*
  The extra Winter-is-coming card belongs to autumn.
  Therefore autumn spans 4 card columns; winter, spring and summer
  each span one card column.
*/
.season-band-grid{
  grid-template-columns:
    calc(300px * 4 + 18px * 3)
    300px
    300px
    300px !important;
  gap:18px !important;
}

/* Compact timeline uses the same 4 / 1 / 1 / 1 distribution. */
@media (max-width:760px){
  .season-band-grid{
    grid-template-columns:
      calc(250px * 4 + 14px * 3)
      250px
      250px
      250px !important;
    gap:14px !important;
  }
}


/* Correct target: actual upper season strip */
.season-bands{
  grid-template-columns:1254px 300px 300px 300px !important;
  gap:18px !important;
}
@media (max-width:760px){
  .season-bands{
    grid-template-columns:1042px 250px 250px 250px !important;
    gap:14px !important;
  }
}


/* =========================================================
   4.0.28 — completed event node matches legend
   ========================================================= */
.season-event-card.is-finished .season-event-node{
  background:#687974 !important;
  border-color:rgba(151,164,159,.42) !important;
  box-shadow:0 0 0 1px rgba(151,164,159,.20),0 0 12px rgba(126,145,138,.12) !important;
  animation:none !important;
}

/* Exact completed color from the event legend. */
.season-event-card.is-finished .season-event-node{
  background:#63c98b !important;
  border-color:rgba(99,201,139,.52) !important;
  box-shadow:0 0 10px rgba(99,201,139,.28) !important;
}


/* 4.0.29 — live Hytale player count in the existing online pill */
.online-status .ingame-player-count{white-space:nowrap}


/* =========================================================
   4.0.30 — stable server/player status pill
   ========================================================= */

.prelaunch-status.online-status{
  display:inline-flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:100% !important;
  min-height:32px;
  gap:9px !important;
  white-space:nowrap;
}

/* Only this element is the green status indicator. */
.prelaunch-status.online-status > .status-dot{
  display:block !important;
  flex:0 0 7px !important;
  width:7px !important;
  height:7px !important;
  min-width:7px !important;
  min-height:7px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:50% !important;
  background:#55d989 !important;
  box-shadow:0 0 12px rgba(85,217,137,.72) !important;
  animation:prelaunchPulse 2.4s ease-in-out infinite !important;
}

/* Text must never inherit the generic .prelaunch-status span dot styling. */
.prelaunch-status.online-status > .status-copy,
.prelaunch-status.online-status .ingame-player-count{
  display:inline !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  animation:none !important;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  line-height:1.2;
  text-transform:inherit;
  white-space:nowrap !important;
}

@media (prefers-reduced-motion:reduce){
  .prelaunch-status.online-status > .status-dot{
    animation:none !important;
  }
}


/* =========================================================
   4.0.31 — completed event node uses the same ring treatment
   ========================================================= */
.season-event-card.is-finished .season-event-node{
  background:#63c98b !important;
  border:3px solid #0a1719 !important;
  box-shadow:
    0 0 0 1px rgba(99,201,139,.60),
    0 0 13px rgba(99,201,139,.28) !important;
  animation:none !important;
}


/* =========================================================
   4.0.33 — cache-safe, non-wrapping online status pill
   ========================================================= */
.hero-meta-pills{
  overflow:visible !important;
}

.prelaunch-status.online-status{
  display:inline-flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  min-width:max-content !important;
  max-width:none !important;
  white-space:nowrap !important;
  overflow:visible !important;
  line-height:1 !important;
}

.prelaunch-status.online-status > .status-copy{
  display:inline-flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  width:max-content !important;
  min-width:max-content !important;
  max-width:none !important;
  white-space:nowrap !important;
  line-height:1 !important;
}

.prelaunch-status.online-status .ingame-player-count{
  display:inline !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  white-space:nowrap !important;
  line-height:1 !important;
}

@media(max-width:420px){
  .prelaunch-status.online-status{
    font-size:.58rem !important;
    letter-spacing:.045em !important;
    padding-left:11px !important;
    padding-right:11px !important;
  }
}


/* 4.0.34 — centered separator in server status pill */
.prelaunch-status.online-status .ingame-player-count::before{
  content:"·";
  display:inline-block;
  margin:0 .72em;
}


/* 4.0.35 — separator only exists when player count is visible */
.prelaunch-status.online-status .ingame-player-count[hidden]{
  display:none !important;
}
.prelaunch-status.online-status .ingame-player-count[hidden]::before{
  content:none !important;
  display:none !important;
}


/* =========================================================
   4.0.36 — surprise plague event
   ========================================================= */

/* The new event sits directly behind Winter is coming · Teil 2.
   It is still autumn, so the autumn band grows by one card. */
.season-event-grid{
  grid-template-columns:repeat(8,300px) !important;
  gap:18px !important;
}
.season-canvas{
  width:2526px !important;
  min-width:2526px !important;
}
.season-bands{
  grid-template-columns:1572px 300px 300px 300px !important;
  gap:18px !important;
}

#winter-is-coming{grid-column:1!important}
#winter-is-coming-teil-2{grid-column:2!important}
#pest-im-dorf{grid-column:3!important}
#community-abend{grid-column:4!important}
#spooky-night{grid-column:5!important}
#weihnachtsmarkt{grid-column:6!important}
#osterhasenjagd{grid-column:7!important}
.season-event-placeholder{grid-column:8!important}

/* Sickly green plague theme. */
.season-event-card.plague-card{
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 15%,rgba(145,220,91,.15),transparent 34%),
    radial-gradient(circle at 16% 88%,rgba(76,143,55,.12),transparent 38%),
    linear-gradient(145deg,rgba(24,50,27,.58),rgba(8,25,18,.70)) !important;
  border-color:rgba(126,194,83,.43) !important;
  box-shadow:0 22px 55px rgba(0,0,0,.27),0 0 30px rgba(110,180,69,.07) !important;
}
.season-event-card.plague-card:hover{
  background:
    radial-gradient(circle at 78% 15%,rgba(157,232,99,.19),transparent 34%),
    radial-gradient(circle at 16% 88%,rgba(83,153,60,.15),transparent 38%),
    linear-gradient(145deg,rgba(28,57,31,.62),rgba(9,29,20,.73)) !important;
  border-color:rgba(151,216,103,.62) !important;
}
.plague-card .season-event-meta em{
  color:#b8df8c !important;
  border-color:rgba(145,205,94,.25) !important;
  background:rgba(104,164,64,.11) !important;
}
.plague-card .event-card-tags span{
  color:#b6d99a !important;
  border-color:rgba(134,194,91,.20) !important;
  background:rgba(91,142,58,.08) !important;
}

/* Floating skulls stay decorative and behind the content. */
.event-plague-skulls{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.event-plague-skulls i{
  position:absolute;
  display:block;
  font-style:normal;
  color:rgba(171,226,111,.16);
  text-shadow:0 0 12px rgba(116,190,70,.16);
  animation:plagueSkullDrift 7s ease-in-out infinite;
}
.event-plague-skulls i:nth-child(1){left:8%;top:18%;font-size:18px;animation-delay:-1s}
.event-plague-skulls i:nth-child(2){left:78%;top:11%;font-size:25px;animation-delay:-4.1s}
.event-plague-skulls i:nth-child(3){left:68%;top:43%;font-size:15px;animation-delay:-2.3s}
.event-plague-skulls i:nth-child(4){left:12%;top:67%;font-size:22px;animation-delay:-5.4s}
.event-plague-skulls i:nth-child(5){left:82%;top:76%;font-size:17px;animation-delay:-3.2s}
.event-plague-skulls i:nth-child(6){left:45%;top:27%;font-size:13px;animation-delay:-6.1s}
.plague-card > :not(.event-plague-skulls){position:relative;z-index:1}

@keyframes plagueSkullDrift{
  0%,100%{transform:translate3d(0,6px,0) rotate(-4deg);opacity:.10}
  50%{transform:translate3d(5px,-9px,0) rotate(5deg);opacity:.28}
}

@media (max-width:760px){
  .season-event-grid{
    grid-template-columns:repeat(8,250px) !important;
    gap:14px !important;
  }
  .season-canvas{
    width:2098px !important;
    min-width:2098px !important;
  }
  .season-bands{
    grid-template-columns:1306px 250px 250px 250px !important;
    gap:14px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .event-plague-skulls i{animation:none !important;opacity:.16}
}

/* =========================================================
   4.0.37 — restore team role borders + remove sweep hover
   ========================================================= */

/* Active team members use their role colour for the card border again. */
.team-page .member-card-v20:not(.unassigned-role):not(.former-member){
  border-color:color-mix(in srgb,var(--role-accent,#65ddd4) 42%,transparent) !important;
}
.team-page .member-card-v20:not(.unassigned-role):not(.former-member):hover{
  border-color:color-mix(in srgb,var(--role-accent,#65ddd4) 78%,transparent) !important;
}

/* Preserve the slightly tuned original role borders. */
.team-page .member-card-v20.role-project-lead{
  border-color:rgba(227,109,114,.42) !important;
}
.team-page .member-card-v20.role-project-lead:hover{
  border-color:rgba(239,126,131,.78) !important;
}
.team-page .member-card-v20.role-web-white{
  border-color:rgba(242,243,238,.34) !important;
}
.team-page .member-card-v20.role-web-white:hover{
  border-color:rgba(255,255,255,.72) !important;
}
.team-page .member-card-v20.role-content{
  border-color:rgba(213,108,255,.36) !important;
}
.team-page .member-card-v20.role-content:hover{
  border-color:rgba(232,132,255,.74) !important;
}

/* Remove only the bright left-to-right sweep from occupied team cards. */
.team-page .member-card-v20:not(.unassigned-role)::before{
  display:none !important;
  content:none !important;
}


/* =========================================================
   4.0.38 — mobile vote hero: soft full-width accent
   ========================================================= */

/*
  The old radial accent ended at 55% of the card width because the
  pseudo-element itself stopped there. That produced a hard vertical edge
  on narrow screens. Let it span beyond the whole card instead.
*/
.vote-hero-v2::before{
  inset:-38% -28% -48% -28% !important;
  background:
    radial-gradient(
      ellipse at 30% 48%,
      rgba(36,211,199,.115) 0%,
      rgba(36,211,199,.075) 28%,
      rgba(36,211,199,.035) 48%,
      rgba(36,211,199,.012) 64%,
      transparent 78%
    ) !important;
  filter:blur(10px);
  transform:translateZ(0);
}

/* Soften the technical grid so it reads as texture, not visible raster. */
.vote-hero-v2::after{
  opacity:.11 !important;
  background-size:72px 72px !important;
  mask-image:linear-gradient(
    90deg,
    rgba(0,0,0,.82) 0%,
    rgba(0,0,0,.44) 48%,
    transparent 88%
  ) !important;
  -webkit-mask-image:linear-gradient(
    90deg,
    rgba(0,0,0,.82) 0%,
    rgba(0,0,0,.44) 48%,
    transparent 88%
  ) !important;
}

/* On mobile, remove the grid almost entirely and use only the soft glow.
   This avoids banding/rastering after browser scaling. */
@media(max-width:760px){
  .vote-hero-v2::before{
    inset:-20% -55% -28% -55% !important;
    background:
      radial-gradient(
        ellipse at 46% 42%,
        rgba(36,211,199,.12) 0%,
        rgba(36,211,199,.068) 32%,
        rgba(36,211,199,.026) 54%,
        transparent 78%
      ) !important;
    filter:blur(14px);
  }

  .vote-hero-v2::after{
    opacity:.035 !important;
    background-size:96px 96px !important;
    mask-image:linear-gradient(180deg,rgba(0,0,0,.42),transparent 86%) !important;
    -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.42),transparent 86%) !important;
  }
}


/* =========================================================
   4.0.39 — event focus, themed borders and community CTA
   ========================================================= */

/*
  Event borders now follow the card's own visual theme.
  Cards without a themed background stay neutral instead of inheriting
  a season color.
*/
.season-event-card:not(.winter-card):not(.spooky-card):not(.christmas-card):not(.easter-card):not(.plague-card),
.season-event-placeholder{
  border-color:rgba(210,222,222,.18) !important;
}
.season-event-card:not(.winter-card):not(.spooky-card):not(.christmas-card):not(.easter-card):not(.plague-card):hover,
.season-event-placeholder:hover{
  border-color:rgba(224,234,234,.30) !important;
}

/* Winter / icy background */
.season-event-card.winter-card{
  border-color:rgba(125,194,224,.42) !important;
}
.season-event-card.winter-card:hover{
  border-color:rgba(151,214,241,.62) !important;
}

/* Spooky Night / violet background */
.season-event-card.spooky-card{
  border-color:rgba(184,123,218,.43) !important;
}
.season-event-card.spooky-card:hover{
  border-color:rgba(207,145,235,.64) !important;
}

/* Christmas / red background */
.season-event-card.christmas-card{
  border-color:rgba(211,91,98,.44) !important;
}
.season-event-card.christmas-card:hover{
  border-color:rgba(226,111,117,.64) !important;
}

/* Easter / green background */
.season-event-card.easter-card{
  border-color:rgba(132,205,126,.43) !important;
}
.season-event-card.easter-card:hover{
  border-color:rgba(151,220,143,.62) !important;
}

/* Plague / sickly green background */
.season-event-card.plague-card{
  border-color:rgba(126,194,83,.46) !important;
}
.season-event-card.plague-card:hover{
  border-color:rgba(151,216,103,.66) !important;
}

/* Running Winter event: pulse in the same icy color as its card. */
.season-event-card.winter-card.is-running{
  border-color:rgba(125,194,224,.50) !important;
}
.season-event-card.winter-card.is-running::after{
  border-color:rgba(142,207,235,.32) !important;
  box-shadow:
    0 0 11px rgba(125,194,224,.05),
    0 0 24px rgba(125,194,224,.08) !important;
}
@keyframes activeWinterEventHalo{
  0%,100%{
    opacity:.38;
    border-color:rgba(125,194,224,.28);
    box-shadow:
      0 0 8px rgba(125,194,224,.03),
      0 0 17px rgba(125,194,224,.04);
  }
  50%{
    opacity:.96;
    border-color:rgba(158,220,246,.62);
    box-shadow:
      0 0 14px rgba(125,194,224,.12),
      0 0 29px rgba(125,194,224,.15);
  }
}
.season-event-card.winter-card.is-running::after{
  animation:activeWinterEventHalo 3.4s ease-in-out infinite !important;
}

/*
  Finished events become visual history: still discoverable, but intentionally
  quieter than the first currently active event.
*/
.season-event-card.is-finished{
  opacity:.48;
  filter:saturate(.72) brightness(.88);
  transform:translateX(-8px);
  transition:
    opacity .22s ease,
    filter .22s ease,
    transform .22s ease,
    border-color .22s ease;
}
.season-event-card.is-finished:hover{
  opacity:.72;
  filter:saturate(.90) brightness(.96);
  transform:translateX(-8px) translateY(-2px);
}

/* CTA below the event timeline */
.event-idea-cta{
  margin:38px auto 0;
  padding:28px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border:1px solid var(--ns-glass-border);
  border-radius:18px;
  background:var(--ns-glass-bg);
  backdrop-filter:blur(var(--ns-glass-blur)) saturate(130%);
  -webkit-backdrop-filter:blur(var(--ns-glass-blur)) saturate(130%);
  box-shadow:var(--ns-glass-shadow);
}
.event-idea-copy{
  max-width:760px;
}
.event-idea-copy .eyebrow{
  margin-bottom:8px;
}
.event-idea-copy h2{
  margin:0 0 8px;
  color:var(--stone);
  font-family:Cinzel,serif;
  font-size:clamp(1.35rem,2.8vw,2rem);
  font-weight:600;
}
.event-idea-copy p{
  margin:0;
  color:#aebdb8;
  font-size:.9rem;
  line-height:1.68;
}
.event-idea-button{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:12px;
  white-space:nowrap;
}
.event-idea-button span{
  font-size:1.1em;
}

@media(max-width:760px){
  .season-event-card.is-finished{
    opacity:.42;
    transform:translateX(-6px) scale(.985);
  }
  .season-event-card.is-finished:hover{
    opacity:.64;
    transform:translateX(-6px) scale(.985);
  }

  .event-idea-cta{
    margin-top:28px;
    padding:22px 20px;
    flex-direction:column;
    align-items:stretch;
    gap:18px;
  }
  .event-idea-button{
    justify-content:center;
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce){
  .season-event-card.winter-card.is-running::after{
    animation:none !important;
  }
}


/* =========================================================
   4.0.40 — stronger themed event borders + external idea CTA
   ========================================================= */

/*
  Force the visible border itself, not only border-color. The previous
  values were technically applied but were too translucent against the
  glass background to read as distinct colors.
*/
.season-event-card{
  border-width:1px !important;
  border-style:solid !important;
}

/* neutral / no dedicated card background */
.season-event-card:not(.winter-card):not(.spooky-card):not(.christmas-card):not(.easter-card):not(.plague-card),
.season-event-placeholder{
  border-color:rgba(205,216,218,.34) !important;
  box-shadow:
    var(--ns-glass-shadow),
    inset 0 0 0 1px rgba(205,216,218,.025) !important;
}

/* icy blue */
.season-event-card.winter-card{
  border-color:rgba(125,194,224,.68) !important;
  box-shadow:
    var(--ns-glass-shadow),
    inset 0 0 0 1px rgba(125,194,224,.055) !important;
}
.season-event-card.winter-card:hover{
  border-color:rgba(166,221,244,.86) !important;
}

/* violet */
.season-event-card.spooky-card{
  border-color:rgba(184,123,218,.72) !important;
  box-shadow:
    var(--ns-glass-shadow),
    inset 0 0 0 1px rgba(184,123,218,.055) !important;
}
.season-event-card.spooky-card:hover{
  border-color:rgba(214,157,239,.88) !important;
}

/* christmas red */
.season-event-card.christmas-card{
  border-color:rgba(211,91,98,.74) !important;
  box-shadow:
    var(--ns-glass-shadow),
    inset 0 0 0 1px rgba(211,91,98,.06) !important;
}
.season-event-card.christmas-card:hover{
  border-color:rgba(232,126,132,.90) !important;
}

/* easter green */
.season-event-card.easter-card{
  border-color:rgba(132,205,126,.72) !important;
  box-shadow:
    var(--ns-glass-shadow),
    inset 0 0 0 1px rgba(132,205,126,.055) !important;
}
.season-event-card.easter-card:hover{
  border-color:rgba(166,225,159,.88) !important;
}

/* plague sickly green */
.season-event-card.plague-card{
  border-color:rgba(126,194,83,.76) !important;
  box-shadow:
    var(--ns-glass-shadow),
    inset 0 0 0 1px rgba(126,194,83,.06) !important;
}
.season-event-card.plague-card:hover{
  border-color:rgba(159,220,116,.90) !important;
}

/* Running icy card keeps its themed border clearly visible below the halo. */
.season-event-card.winter-card.is-running{
  border-color:rgba(143,207,235,.78) !important;
}
.season-event-card.winter-card.is-running::after{
  border-color:rgba(163,222,246,.54) !important;
}

/* Separate blurred idea block below the slider. */
.event-idea-section{
  margin:34px 0 0;
  padding:28px 30px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,320px);
  align-items:center;
  gap:30px;
  border:1px solid var(--ns-glass-border);
  border-radius:18px;
  background:var(--ns-glass-bg);
  backdrop-filter:blur(var(--ns-glass-blur)) saturate(130%);
  -webkit-backdrop-filter:blur(var(--ns-glass-blur)) saturate(130%);
  box-shadow:var(--ns-glass-shadow);
}
.event-idea-section .event-idea-copy{
  max-width:760px;
}
.event-idea-section .event-idea-copy h2{
  margin:7px 0 9px;
  color:var(--stone);
  font-family:Cinzel,serif;
  font-size:clamp(1.4rem,2.8vw,2rem);
  font-weight:600;
}
.event-idea-section .event-idea-copy p{
  margin:0;
  color:#aebdb8;
  font-size:.9rem;
  line-height:1.68;
}

/* This is intentionally the same Discord action-card used on the homepage. */
.event-idea-discord{
  width:100%;
  min-height:86px;
  margin:0;
}
.event-idea-discord .action-copy{
  text-align:left;
}

@media(max-width:760px){
  .event-idea-section{
    margin-top:26px;
    padding:22px 18px;
    grid-template-columns:1fr;
    gap:18px;
  }
  .event-idea-discord{
    min-height:78px;
  }
}


/* =========================================================
   4.0.41 — definitive per-event borders
   ========================================================= */

/*
  Border colors are now data on the cards themselves. This prevents the
  generic glass, planned-state and season selectors from winning through
  specificity/order.
*/
.season-event-card[style*="--event-border"]{
  border:1px solid var(--event-border) !important;
}
.season-event-card[style*="--event-border"]:hover{
  border-color:var(--event-border-hover) !important;
}

/* Keep the neutral summer placeholder neutral. */
.season-event-placeholder{
  border:1px solid rgba(205,216,218,.34) !important;
}
.season-event-placeholder:hover{
  border-color:rgba(228,236,237,.52) !important;
}


/* =========================================================
   4.0.42 — unmistakable event border colors + larger history peek
   ========================================================= */

/*
  Use direct, saturated border colors instead of translucent theme mixes.
  This is the OUTER BORDER of each event card.
*/
.season-event-card.winter-card{
  border:1px solid #78bfe0 !important;
}
.season-event-card.winter-card:hover{
  border-color:#9ed8ef !important;
}

.season-event-card.plague-card{
  border:1px solid #73c95a !important;
}
.season-event-card.plague-card:hover{
  border-color:#91df73 !important;
}

.season-event-card.spooky-card{
  border:1px solid #aa72d2 !important;
}
.season-event-card.spooky-card:hover{
  border-color:#c28be5 !important;
}

.season-event-card.christmas-card{
  border:1px solid #d05d66 !important;
}
.season-event-card.christmas-card:hover{
  border-color:#e67880 !important;
}

.season-event-card.easter-card{
  border:1px solid #7fcb78 !important;
}
.season-event-card.easter-card:hover{
  border-color:#9bdf94 !important;
}

/* Cards without their own themed background stay neutral. */
.season-event-card:not(.winter-card):not(.plague-card):not(.spooky-card):not(.christmas-card):not(.easter-card),
.season-event-placeholder{
  border:1px solid #66777a !important;
}
.season-event-card:not(.winter-card):not(.plague-card):not(.spooky-card):not(.christmas-card):not(.easter-card):hover,
.season-event-placeholder:hover{
  border-color:#819396 !important;
}

/* Keep the active winter halo blue as well. */
.season-event-card.winter-card.is-running::after{
  border-color:rgba(158,216,239,.72) !important;
}

/* Past events should still be clearly recognisable at the left edge. */
.season-event-card.is-finished{
  opacity:.58 !important;
  filter:saturate(.78) brightness(.91) !important;
  transform:none !important;
}
.season-event-card.is-finished:hover{
  opacity:.78 !important;
  filter:saturate(.92) brightness(.98) !important;
  transform:translateY(-2px) !important;
}


/* =========================================================
   4.0.43 — hard-lock event edge colors + symmetric slider fade
   ========================================================= */

/*
  These selectors target the exact event IDs and also add a matching
  outline. That removes any ambiguity from older generic/planned/season
  border rules and makes the card edge visibly follow its own theme.
*/
#winter-is-coming,
#winter-is-coming-teil-2{
  border-color:#6fcaf0 !important;
  outline:1px solid rgba(111,202,240,.34) !important;
  outline-offset:-1px !important;
}

#pest-im-dorf{
  border-color:#5fd85b !important;
  outline:1px solid rgba(95,216,91,.38) !important;
  outline-offset:-1px !important;
}

#spooky-night{
  border-color:#b46fdf !important;
  outline:1px solid rgba(180,111,223,.36) !important;
  outline-offset:-1px !important;
}

#weihnachtsmarkt{
  border-color:#e45b67 !important;
  outline:1px solid rgba(228,91,103,.40) !important;
  outline-offset:-1px !important;
}

#osterhasenjagd{
  border-color:#72d16b !important;
  outline:1px solid rgba(114,209,107,.36) !important;
  outline-offset:-1px !important;
}

#community-abend,
.season-event-placeholder{
  border-color:#728286 !important;
  outline:1px solid rgba(114,130,134,.24) !important;
  outline-offset:-1px !important;
}

/* Hover stays in the same family instead of falling back to generic glass. */
#winter-is-coming:hover,
#winter-is-coming-teil-2:hover{border-color:#9edff7 !important}
#pest-im-dorf:hover{border-color:#88eb7e !important}
#spooky-night:hover{border-color:#d093ef !important}
#weihnachtsmarkt:hover{border-color:#f07a84 !important}
#osterhasenjagd:hover{border-color:#9ae292 !important}
#community-abend:hover{border-color:#91a1a5 !important}

/*
  Fade both edges of the timeline. The left edge now mirrors the right edge,
  making the partially visible history card feel intentional.
*/
.season-scroll{
  --event-edge-fade:58px !important;
  -webkit-mask-image:linear-gradient(
    to right,
    transparent 0,
    #000 var(--event-edge-fade),
    #000 calc(100% - var(--event-edge-fade)),
    transparent 100%
  ) !important;
  mask-image:linear-gradient(
    to right,
    transparent 0,
    #000 var(--event-edge-fade),
    #000 calc(100% - var(--event-edge-fade)),
    transparent 100%
  ) !important;
}

/* At the far right, keep only the left fade instead of removing all fading. */
.season-scroll.is-at-end{
  -webkit-mask-image:linear-gradient(
    to right,
    transparent 0,
    #000 var(--event-edge-fade),
    #000 100%
  ) !important;
  mask-image:linear-gradient(
    to right,
    transparent 0,
    #000 var(--event-edge-fade),
    #000 100%
  ) !important;
}

/* Finished cards remain recognisable instead of becoming a faint sliver. */
.season-event-card.is-finished{
  opacity:.66 !important;
  filter:saturate(.82) brightness(.94) !important;
}
.season-event-card.is-finished:hover{
  opacity:.82 !important;
  filter:saturate(.96) brightness(1) !important;
}

@media(max-width:760px){
  .season-scroll{
    --event-edge-fade:42px !important;
  }
}


/* 4.0.44 — slightly stronger left history fade */
.season-scroll{
  --event-edge-fade:64px !important;
}
@media(max-width:760px){
  .season-scroll{
    --event-edge-fade:46px !important;
  }
}


/* =========================================================
   4.0.45 — season label follows long season bands
   ========================================================= */

/*
  The season icon/title is moved by JS only inside long bands.
  It remains clipped to its own season and therefore stops before
  the following season begins.
*/
.season-band-copy{
  will-change:transform;
  transform:translate3d(0,0,0);
}

/* Give the moving label a subtle local backdrop so it stays readable
   while content below is moving behind it. */
.season-band.is-following .season-band-copy{
  padding:5px 9px 5px 6px;
  margin:-5px -9px -5px -6px;
  border-radius:10px;
  background:color-mix(in srgb,currentColor 0%,rgba(5,16,19,.26));
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}


/* =========================================================
   4.0.46 — smooth season label follow, no moving inner box
   ========================================================= */

.season-band.is-following .season-band-copy{
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  background:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* Keep GPU compositing active for smoother transforms. */
.season-band-copy{
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}


/* =========================================================
   4.0.51 — event hover consistency + clearer status colors
   ========================================================= */

/* Spooky Night should brighten on hover just like the other themed cards. */
.season-event-card.spooky-card:hover{
  background:
    radial-gradient(circle at 82% 12%,rgba(150,100,190,.18),transparent 34%),
    linear-gradient(145deg,rgba(24,34,44,.58),rgba(10,20,29,.66)) !important;
}

/* Stronger, clearly separated event status colors. */
.event-status-legend .is-finished i,
.season-event-card.is-finished .season-event-node{
  background:#4ed47a !important;
  border-color:rgba(78,212,122,.74) !important;
  box-shadow:
    0 0 0 1px rgba(78,212,122,.34),
    0 0 10px rgba(78,212,122,.28) !important;
}

.event-status-legend .is-running i,
.season-event-card.is-running .season-event-node{
  background:#28d8ff !important;
  border-color:rgba(40,216,255,.78) !important;
  box-shadow:
    0 0 0 1px rgba(40,216,255,.36),
    0 0 13px rgba(40,216,255,.42) !important;
}

.event-status-legend .is-planned i,
.season-event-card.is-planned .season-event-node{
  background:#f0a92d !important;
  border-color:rgba(240,169,45,.78) !important;
  box-shadow:
    0 0 0 1px rgba(240,169,45,.34),
    0 0 10px rgba(240,169,45,.30) !important;
}

/* The dark inner ring keeps all three nodes readable on the timeline. */
.season-event-card.is-finished .season-event-node,
.season-event-card.is-running .season-event-node,
.season-event-card.is-planned .season-event-node{
  border-width:3px !important;
  border-style:solid !important;
}

/* Mobile toolbar: center legend and hide arrow controls. */
@media(max-width:760px){
  .season-roadmap-toolbar{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
  }

  .event-status-legend{
    width:100% !important;
    margin:0 auto !important;
    justify-content:center !important;
    align-items:center !important;
    gap:16px !important;
    flex-wrap:nowrap !important;
    text-align:center !important;
  }

  .event-status-legend span{
    justify-content:center !important;
  }

  .event-status-legend i{
    width:9px !important;
    height:9px !important;
    flex:0 0 9px !important;
  }

  .event-timeline-controls,
  .season-roadmap-controls,
  .season-timeline-controls{
    display:none !important;
  }
}


/* =========================================================
   4.0.52 — placeholder node, Community theme, active glow
   ========================================================= */

/* Placeholder "Die Geschichte geht weiter": same node geometry as real events. */
.season-event-placeholder .season-event-node{
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  min-height:15px !important;
  max-width:15px !important;
  max-height:15px !important;
  aspect-ratio:1/1 !important;
  box-sizing:border-box !important;
  border-radius:50% !important;
  border:3px solid #0a1719 !important;
  background:#6f807c !important;
  box-shadow:0 0 0 1px rgba(111,128,124,.42) !important;
  animation:none !important;
}

/* Restore dashed placeholder border. */
.season-event-placeholder{
  border-style:dashed !important;
  border-width:1px !important;
  border-color:rgba(135,150,153,.32) !important;
}
.season-event-placeholder:hover{
  border-color:rgba(165,179,182,.46) !important;
}

/* Community card in the site's native NonSolus teal palette. */
#community-abend{
  position:relative;
  overflow:hidden;
  border-color:#59d8cd !important;
  background:
    radial-gradient(circle at 82% 18%,rgba(89,216,205,.10),transparent 34%),
    linear-gradient(145deg,rgba(10,39,40,.56),rgba(5,20,22,.66)) !important;
}
#community-abend:hover{
  border-color:#78e5db !important;
  background:
    radial-gradient(circle at 82% 18%,rgba(89,216,205,.15),transparent 34%),
    linear-gradient(145deg,rgba(13,48,49,.62),rgba(7,25,27,.72)) !important;
}

/* Use the original homepage logo asset as a very faint watermark. */
#community-abend::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    url("../assets/images/nonsolus-logo.webp?v=4.0.14") 78% 44% / 58% auto no-repeat !important;
  opacity:.045 !important;
  filter:saturate(.9) contrast(.9) !important;
}
#community-abend > *{
  position:relative;
  z-index:2;
}

/* Restore the subtle pulsing halo around the currently active Winter card. */
#winter-is-coming-teil-2{
  position:relative;
  overflow:visible !important;
}
#winter-is-coming-teil-2::after{
  content:"" !important;
  position:absolute !important;
  inset:-2px !important;
  z-index:5 !important;
  pointer-events:none !important;
  border-radius:16px !important;
  border:1px solid rgba(126,214,242,.34) !important;
  box-shadow:
    0 0 10px rgba(77,205,236,.05),
    0 0 22px rgba(77,205,236,.08) !important;
  opacity:.45;
  animation:activeWinterPulse52 3.4s ease-in-out infinite !important;
}

@keyframes activeWinterPulse52{
  0%,100%{
    opacity:.35;
    border-color:rgba(126,214,242,.28);
    box-shadow:
      0 0 8px rgba(77,205,236,.03),
      0 0 16px rgba(77,205,236,.04);
  }
  50%{
    opacity:.95;
    border-color:rgba(166,230,250,.68);
    box-shadow:
      0 0 14px rgba(77,205,236,.12),
      0 0 30px rgba(77,205,236,.15);
  }
}

@media(prefers-reduced-motion:reduce){
  #winter-is-coming-teil-2::after{
    animation:none !important;
    opacity:.62 !important;
  }
}


/* =========================================================
   4.0.53 — active hover, stronger halo, opaque status nodes
   ========================================================= */

/* Active Winter card should brighten on hover like the other cards. */
#winter-is-coming-teil-2:hover{
  background:
    radial-gradient(circle at 82% 14%,rgba(105,190,225,.16),transparent 34%),
    linear-gradient(145deg,rgba(14,39,50,.64),rgba(7,24,31,.74)) !important;
}

/* Make the active pulse clearly visible, but still subtle enough to fit the UI. */
#winter-is-coming-teil-2::after{
  inset:-3px !important;
  border-width:1px !important;
  border-color:rgba(145,224,250,.50) !important;
  box-shadow:
    0 0 12px rgba(71,204,239,.10),
    0 0 28px rgba(71,204,239,.16),
    0 0 46px rgba(71,204,239,.08) !important;
  opacity:.58 !important;
  animation:activeWinterPulse53 3.0s ease-in-out infinite !important;
}

@keyframes activeWinterPulse53{
  0%,100%{
    opacity:.44;
    border-color:rgba(126,211,241,.36);
    box-shadow:
      0 0 9px rgba(71,204,239,.06),
      0 0 20px rgba(71,204,239,.09),
      0 0 34px rgba(71,204,239,.05);
  }
  50%{
    opacity:1;
    border-color:rgba(177,235,253,.82);
    box-shadow:
      0 0 16px rgba(71,204,239,.18),
      0 0 34px rgba(71,204,239,.24),
      0 0 54px rgba(71,204,239,.12);
  }
}

/* Finished card can stay translucent, but its status node must remain fully opaque. */
.season-event-card.is-finished .season-event-node{
  opacity:1 !important;
  filter:none !important;
  z-index:8 !important;
  background:#4ed47a !important;
  border:3px solid #0a1719 !important;
  box-shadow:
    0 0 0 1px rgba(78,212,122,.52),
    0 0 12px rgba(78,212,122,.30) !important;
}

/* Ensure the timeline itself never shows through the finished node. */
.season-event-card.is-finished .season-event-node::before{
  content:"" !important;
  position:absolute !important;
  inset:2px !important;
  border-radius:50% !important;
  background:#4ed47a !important;
  z-index:-1 !important;
}

/* Placeholder node should use the same filled-circle treatment as the other nodes. */
.season-event-placeholder .season-event-node{
  background:#6f807c !important;
  border:3px solid #0a1719 !important;
  box-shadow:
    0 0 0 1px rgba(111,128,124,.50),
    0 0 10px rgba(111,128,124,.18) !important;
}

/* Remove any extra inner-ring effect on placeholder nodes. */
.season-event-placeholder .season-event-node::before,
.season-event-placeholder .season-event-node::after{
  content:none !important;
  display:none !important;
}

@media(prefers-reduced-motion:reduce){
  #winter-is-coming-teil-2::after{
    animation:none !important;
    opacity:.74 !important;
  }
}


/* =========================================================
   4.0.54 — unified status rings + true opaque finished node
   ========================================================= */

/*
  Do not fade the whole finished card, because CSS opacity also fades the
  status node. Fade the card contents instead so the node stays fully opaque.
*/
.season-event-card.is-finished{
  opacity:1 !important;
  filter:none !important;
  background:
    linear-gradient(145deg,rgba(10,29,35,.28),rgba(5,17,21,.34)) !important;
}

.season-event-card.is-finished > *:not(.season-event-node){
  opacity:.48 !important;
  filter:saturate(.72) brightness(.90);
}

.season-event-card.is-finished:hover > *:not(.season-event-node){
  opacity:.68 !important;
  filter:saturate(.88) brightness(.97);
}

/* Event nodes: all statuses use the same framed-circle construction. */
.season-event-card.is-finished .season-event-node,
.season-event-card.is-running .season-event-node,
.season-event-card.is-planned .season-event-node,
.season-event-placeholder .season-event-node{
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  min-height:15px !important;
  max-width:15px !important;
  max-height:15px !important;
  box-sizing:border-box !important;
  border-radius:50% !important;
  border:3px solid #0a1719 !important;
  opacity:1 !important;
  filter:none !important;
  z-index:8 !important;
}

/* Finished = green */
.season-event-card.is-finished .season-event-node{
  background:#4ed47a !important;
  box-shadow:
    0 0 0 1px rgba(78,212,122,.68),
    0 0 12px rgba(78,212,122,.32) !important;
}

/* Running = cyan */
.season-event-card.is-running .season-event-node{
  background:#28d8ff !important;
  box-shadow:
    0 0 0 1px rgba(40,216,255,.70),
    0 0 14px rgba(40,216,255,.42) !important;
}

/* Planned = orange/gold */
.season-event-card.is-planned .season-event-node{
  background:#f0a92d !important;
  box-shadow:
    0 0 0 1px rgba(240,169,45,.70),
    0 0 12px rgba(240,169,45,.32) !important;
}

/* Placeholder = neutral grey, but identical construction. */
.season-event-placeholder .season-event-node{
  background:#6f807c !important;
  box-shadow:
    0 0 0 1px rgba(111,128,124,.62),
    0 0 10px rgba(111,128,124,.18) !important;
}

/* Remove old helper pseudo-elements from all status nodes. */
.season-event-card .season-event-node::before,
.season-event-card .season-event-node::after,
.season-event-placeholder .season-event-node::before,
.season-event-placeholder .season-event-node::after{
  content:none !important;
  display:none !important;
}

/*
  Legend uses the same visual language: colored fill, dark inner frame,
  thin colored outer ring.
*/
.event-status-legend i{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  flex:0 0 12px !important;
  box-sizing:border-box !important;
  border-radius:50% !important;
  border:2px solid #0a1719 !important;
}

.event-status-legend .is-finished i{
  background:#4ed47a !important;
  box-shadow:
    0 0 0 1px rgba(78,212,122,.68),
    0 0 8px rgba(78,212,122,.28) !important;
}

.event-status-legend .is-running i{
  background:#28d8ff !important;
  box-shadow:
    0 0 0 1px rgba(40,216,255,.70),
    0 0 9px rgba(40,216,255,.38) !important;
}

.event-status-legend .is-planned i{
  background:#f0a92d !important;
  box-shadow:
    0 0 0 1px rgba(240,169,45,.70),
    0 0 8px rgba(240,169,45,.28) !important;
}

/*
  Active card: no second border line. The pseudo-element is glow only.
*/
#winter-is-coming-teil-2::after{
  inset:-5px !important;
  border:0 !important;
  outline:0 !important;
  border-radius:19px !important;
  background:transparent !important;
  box-shadow:
    0 0 18px rgba(71,204,239,.16),
    0 0 36px rgba(71,204,239,.20),
    0 0 62px rgba(71,204,239,.10) !important;
  opacity:.58 !important;
  animation:activeWinterGlow54 3s ease-in-out infinite !important;
}

@keyframes activeWinterGlow54{
  0%,100%{
    opacity:.34;
    box-shadow:
      0 0 12px rgba(71,204,239,.10),
      0 0 26px rgba(71,204,239,.12),
      0 0 44px rgba(71,204,239,.06);
  }
  50%{
    opacity:1;
    box-shadow:
      0 0 20px rgba(71,204,239,.22),
      0 0 42px rgba(71,204,239,.28),
      0 0 72px rgba(71,204,239,.14);
  }
}

@media(prefers-reduced-motion:reduce){
  #winter-is-coming-teil-2::after{
    animation:none !important;
    opacity:.72 !important;
  }
}


/* =========================================================
   4.0.55 — clean active glow, stable finished hover,
   stronger plague/spooky ambient animations
   ========================================================= */

/* Remove the "detached dark frame" look around the active card.
   Glow sits directly on the card edge with no visible gap. */
#winter-is-coming-teil-2::after{
  inset:-1px !important;
  border-radius:15px !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:
    0 0 14px rgba(71,204,239,.18),
    0 0 30px rgba(71,204,239,.22),
    0 0 48px rgba(71,204,239,.11) !important;
  opacity:.52 !important;
  animation:activeWinterGlow55 3.1s ease-in-out infinite !important;
}

@keyframes activeWinterGlow55{
  0%,100%{
    opacity:.34;
    box-shadow:
      0 0 10px rgba(71,204,239,.11),
      0 0 22px rgba(71,204,239,.13),
      0 0 36px rgba(71,204,239,.07);
  }
  50%{
    opacity:.95;
    box-shadow:
      0 0 18px rgba(71,204,239,.24),
      0 0 38px rgba(71,204,239,.30),
      0 0 60px rgba(71,204,239,.16);
  }
}

/* Finished card hover: keep the card shell stable and only lift it.
   Avoid swapping multiple opacity/filter layers that caused flicker. */
.season-event-card.is-finished{
  transition:
    transform .22s ease,
    border-color .22s ease,
    background-color .22s ease !important;
}

.season-event-card.is-finished > *:not(.season-event-node){
  opacity:.52 !important;
  filter:none !important;
  transition:opacity .20s ease !important;
}

.season-event-card.is-finished:hover{
  transform:translateY(-2px) !important;
}

.season-event-card.is-finished:hover > *:not(.season-event-node){
  opacity:.68 !important;
  filter:none !important;
}

/* Keep the status node fully stable/opaque on hover. */
.season-event-card.is-finished .season-event-node,
.season-event-card.is-finished:hover .season-event-node{
  opacity:1 !important;
  filter:none !important;
  transform:translateX(-50%) !important;
}

/* ---------------------------------------------------------
   Stronger flying particles for plague / spooky backgrounds
   --------------------------------------------------------- */

/* Plague: brighter toxic motes / spores. */
#pest-im-dorf .event-plague-skulls{
  opacity:.9 !important;
  filter:drop-shadow(0 0 5px rgba(132,224,83,.32)) !important;
}

#pest-im-dorf .event-plague-skulls i{
  opacity:.72 !important;
  color:rgba(181,242,128,.90) !important;
  text-shadow:
    0 0 6px rgba(141,226,91,.46),
    0 0 14px rgba(101,190,62,.24) !important;
}

/* Add subtle floating toxic particles behind the skulls. */
#pest-im-dorf{
  --plague-particle:rgba(156,228,105,.38);
}

#pest-im-dorf .event-weather::before,
#pest-im-dorf .event-weather::after{
  content:"" !important;
  position:absolute !important;
  inset:-8% !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 12% 25%,var(--plague-particle) 0 2px,transparent 3px),
    radial-gradient(circle at 28% 68%,rgba(156,228,105,.28) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 46% 18%,rgba(156,228,105,.32) 0 2px,transparent 3px),
    radial-gradient(circle at 62% 74%,rgba(156,228,105,.26) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 79% 33%,rgba(156,228,105,.34) 0 2px,transparent 3px),
    radial-gradient(circle at 91% 61%,rgba(156,228,105,.28) 0 1.5px,transparent 2.5px);
  opacity:.72;
  animation:plagueMotes55 7.5s linear infinite;
}

#pest-im-dorf .event-weather::after{
  transform:scale(.82) rotate(17deg);
  opacity:.46;
  animation-duration:10.5s;
  animation-direction:reverse;
}

@keyframes plagueMotes55{
  0%{transform:translate3d(-1%,4%,0)}
  50%{transform:translate3d(2%,-3%,0)}
  100%{transform:translate3d(4%,-8%,0)}
}

/* Spooky: make flying ghosts/bats/ambient shapes more visible. */
#spooky-night .event-weather{
  opacity:.92 !important;
  filter:
    drop-shadow(0 0 5px rgba(200,135,239,.28))
    drop-shadow(0 0 10px rgba(146,83,198,.18)) !important;
}

#spooky-night .event-weather i{
  opacity:.74 !important;
}

/* Purple drifting motes in the background for more life. */
#spooky-night .event-weather::before,
#spooky-night .event-weather::after{
  content:"" !important;
  position:absolute !important;
  inset:-8% !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 18% 26%,rgba(205,151,240,.34) 0 2px,transparent 3px),
    radial-gradient(circle at 36% 74%,rgba(190,126,230,.24) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 52% 20%,rgba(214,165,245,.30) 0 2px,transparent 3px),
    radial-gradient(circle at 70% 66%,rgba(190,126,230,.24) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 88% 32%,rgba(214,165,245,.34) 0 2px,transparent 3px);
  opacity:.68;
  animation:spookyMotes55 8.5s ease-in-out infinite alternate;
}

#spooky-night .event-weather::after{
  transform:scale(.78) rotate(-13deg);
  opacity:.42;
  animation-duration:11s;
}

@keyframes spookyMotes55{
  0%{transform:translate3d(-2%,3%,0)}
  100%{transform:translate3d(3%,-7%,0)}
}

@media(prefers-reduced-motion:reduce){
  #winter-is-coming-teil-2::after,
  #pest-im-dorf .event-weather::before,
  #pest-im-dorf .event-weather::after,
  #spooky-night .event-weather::before,
  #spooky-night .event-weather::after{
    animation:none !important;
  }
}


/* =========================================================
   4.0.58 — cleaned event ambient effects
   One shared animation system for Community / Spooky / Easter
   ========================================================= */

/* Status labels are semantic and consistent across every card. */
.season-event-card.is-planned .season-event-meta em{
  color:#d9bd69 !important;
  background:rgba(217,189,105,.12) !important;
  border-color:rgba(217,189,105,.20) !important;
}
.season-event-card.is-running .season-event-meta em{
  color:#82e6dd !important;
  background:rgba(114,223,212,.11) !important;
}
.season-event-card.is-finished .season-event-meta em{
  color:#7cdda0 !important;
  background:rgba(78,212,122,.10) !important;
}

/* Shared full-card ambient layer.
   !important is intentional here because older card rules also target direct children. */
.event-float-icons{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  overflow:hidden !important;
  pointer-events:none !important;
  opacity:1 !important;
  filter:none !important;
  clip-path:inset(0 round 13px) !important;
}
.event-float-icons i{
  position:absolute !important;
  display:block !important;
  width:22px !important;
  height:22px !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  opacity:.18;
  will-change:transform,opacity;
}

/* ---------------- Community-Abend ---------------- */
.community-card > .community-float{
  position:absolute !important;
  z-index:1 !important;
}
.community-float .icon-note{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%2378ddd5' stroke-opacity='.72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7v15M12 9l11-3v13'/%3E%3Cellipse cx='8.5' cy='23.5' rx='3.5' ry='2.8'/%3E%3Cellipse cx='19.5' cy='20.5' rx='3.5' ry='2.8'/%3E%3C/g%3E%3C/svg%3E") !important;
}
.community-float .icon-mug{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%2378ddd5' stroke-opacity='.68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 10h12v13H8zM20 13h3.5a3.5 3.5 0 0 1 0 7H20'/%3E%3Cpath d='M9 8c2-2 4 2 6 0s4 2 6 0'/%3E%3C/g%3E%3C/svg%3E") !important;
}
.community-float i{
  animation:ambientDrift58 7.6s ease-in-out infinite !important;
  filter:drop-shadow(0 0 5px rgba(89,216,205,.12)) !important;
}
.community-float i:nth-child(1){left:9%;top:68%;animation-delay:-.8s!important}
.community-float i:nth-child(2){left:20%;top:24%;animation-delay:-3.0s!important}
.community-float i:nth-child(3){left:58%;top:16%;animation-delay:-5.5s!important}
.community-float i:nth-child(4){left:80%;top:34%;animation-delay:-1.8s!important}
.community-float i:nth-child(5){left:42%;top:72%;animation-delay:-6.4s!important}

@keyframes ambientDrift58{
  0%,100%{opacity:.08;transform:translate3d(-4px,5px,0) rotate(-4deg) scale(.94)}
  24%{opacity:.34}
  52%{opacity:.58;transform:translate3d(5px,-7px,0) rotate(4deg) scale(1.02)}
  80%{opacity:.20}
}

/* ---------------- Spooky Night ---------------- */
/* Remove the old circular/mote pseudo effects completely. */
#spooky-night .event-bats::before,
#spooky-night .event-bats::after{
  content:none !important;
  display:none !important;
}

/* Only three bats, circling gently instead of crossing the whole card. */
#spooky-night .event-bats i{
  left:auto !important;
  width:28px !important;
  height:14px !important;
  opacity:.34 !important;
  animation:batOrbit58 6.8s ease-in-out infinite !important;
}
#spooky-night .event-bats i:nth-child(1){left:12%!important;top:20%!important;animation-delay:-1s!important}
#spooky-night .event-bats i:nth-child(2){left:68%!important;top:30%!important;animation-delay:-3.8s!important;scale:.78}
#spooky-night .event-bats i:nth-child(3){left:42%!important;top:68%!important;animation-delay:-5.2s!important;scale:.92}

@keyframes batOrbit58{
  0%,100%{transform:translate3d(-5px,1px,0) rotate(-4deg)}
  25%{transform:translate3d(3px,-7px,0) rotate(5deg)}
  50%{transform:translate3d(9px,0,0) rotate(-2deg)}
  75%{transform:translate3d(1px,7px,0) rotate(4deg)}
}

/* Falling autumn leaves in a separate layer. */
.autumn-leaves i{
  top:-12% !important;
  width:17px !important;
  height:17px !important;
  opacity:.38;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4C13 4 7 7 5 13c3 4 7 5 11 2 4-3 4-7 4-11Z' fill='none' stroke='%23d08a59' stroke-opacity='.70' stroke-width='1.6'/%3E%3Cpath d='M5 19c3-6 7-10 13-13' fill='none' stroke='%23e2a878' stroke-opacity='.58' stroke-width='1.2'/%3E%3C/svg%3E") !important;
  animation:leafFall58 linear infinite !important;
}
.autumn-leaves i:nth-child(1){left:10%!important;animation-duration:8.8s!important;animation-delay:-1.0s!important}
.autumn-leaves i:nth-child(2){left:36%!important;width:14px!important;height:14px!important;animation-duration:10.4s!important;animation-delay:-5.0s!important}
.autumn-leaves i:nth-child(3){left:64%!important;animation-duration:9.6s!important;animation-delay:-3.2s!important}
.autumn-leaves i:nth-child(4){left:88%!important;width:15px!important;height:15px!important;animation-duration:11.2s!important;animation-delay:-7.4s!important}

@keyframes leafFall58{
  0%{top:-12%;opacity:0;transform:translateX(-6px) rotate(0deg)}
  15%{opacity:.34}
  55%{opacity:.48;transform:translateX(8px) rotate(150deg)}
  90%{opacity:.22}
  100%{top:106%;opacity:0;transform:translateX(-4px) rotate(320deg)}
}

/* ---------------- Easter ---------------- */
.easter-float i{
  opacity:.18;
  animation:ambientDrift58 8.4s ease-in-out infinite !important;
  filter:drop-shadow(0 0 4px rgba(132,205,126,.07)) !important;
}

/* Bunny head drawn as one continuous outline so no circles overlap/intersect. */
.easter-float .icon-bunny{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 14C7 10 5 4 8 3c3 0 4 5 5 8 1-4 2-8 5-8 3 1 1 7 0 11 3 2 5 5 5 8 0 5-4 7-9 7s-9-2-9-7c0-3 1-6 4-8Z' fill='none' stroke='%2384cd7e' stroke-opacity='.66' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M11 20h.1M18 20h.1M13 24c1 1 3 1 4 0' stroke='%2384cd7e' stroke-opacity='.58' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

/* Egg outline, same green family as the Easter card. */
.easter-float .icon-egg{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 32'%3E%3Cg fill='none' stroke='%2384cd7e' stroke-opacity='.64' stroke-width='1.7'%3E%3Cpath d='M14 2C8 2 4 10 4 18c0 7 4 12 10 12s10-5 10-12C24 10 20 2 14 2Z'/%3E%3Cpath d='M6 17c5-3 11-3 16 0M7 22c5 2 9 2 14 0'/%3E%3C/g%3E%3C/svg%3E") !important;
}
.easter-float i:nth-child(1){left:8%!important;top:18%!important;animation-delay:-1.0s!important}
.easter-float i:nth-child(2){left:25%!important;top:65%!important;animation-delay:-4.4s!important}
.easter-float i:nth-child(3){left:42%!important;top:30%!important;animation-delay:-2.1s!important}
.easter-float i:nth-child(4){left:60%!important;top:72%!important;animation-delay:-5.8s!important}
.easter-float i:nth-child(5){left:77%!important;top:24%!important;animation-delay:-3.0s!important}
.easter-float i:nth-child(6){left:88%!important;top:58%!important;animation-delay:-6.3s!important}

@media(prefers-reduced-motion:reduce){
  .event-float-icons i,
  #spooky-night .event-bats i{
    animation:none !important;
  }
}


/* =========================================================
   4.0.59 — card-colored details arrows, refined Easter art,
   outlined Spooky ambience, unified legend nodes
   ========================================================= */

/* One semantic accent per themed card. */
.season-event-card{ --event-accent:var(--teal-soft); }
.season-event-card.winter-card{ --event-accent:#78c9e8; }
.season-event-card.plague-card{ --event-accent:#8bd96d; }
.season-event-card.community-card{ --event-accent:#59d8cd; }
.season-event-card.spooky-card{ --event-accent:#ba86dc; }
.season-event-card.christmas-card{ --event-accent:#df747c; }
.season-event-card.easter-card{ --event-accent:#86cf7f; }
.season-event-card.autumn-event:not(.winter-card):not(.plague-card):not(.community-card):not(.spooky-card){ --event-accent:#c99066; }

/* The little arrow on "Event ansehen" follows the card theme. */
.season-event-card .event-card-details summary span{
  color:var(--event-accent) !important;
}

/* ---------------------------------------------------------
   Legend: exact same framed-dot construction as event nodes.
   --------------------------------------------------------- */
.event-status-legend i{
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  min-height:15px !important;
  flex:0 0 15px !important;
  box-sizing:border-box !important;
  border-radius:50% !important;
  border:3px solid #0a1719 !important;
  opacity:1 !important;
}
.event-status-legend .is-finished i{
  background:#4ed47a !important;
  box-shadow:0 0 0 1px rgba(78,212,122,.68),0 0 12px rgba(78,212,122,.30) !important;
}
.event-status-legend .is-running i{
  background:#28d8ff !important;
  box-shadow:0 0 0 1px rgba(40,216,255,.70),0 0 13px rgba(40,216,255,.38) !important;
}
.event-status-legend .is-planned i{
  background:#f0a92d !important;
  box-shadow:0 0 0 1px rgba(240,169,45,.70),0 0 12px rgba(240,169,45,.28) !important;
}

/* ---------------------------------------------------------
   Spooky Night: kill old circular mote pseudo layers entirely.
   Leaves are real line-art elements instead.
   --------------------------------------------------------- */
#spooky-night .event-weather::before,
#spooky-night .event-weather::after{
  content:none !important;
  display:none !important;
  background:none !important;
  animation:none !important;
}

/* Purple outline bats, matching the card instead of solid black shapes. */
#spooky-night .event-bats i{
  width:30px !important;
  height:18px !important;
  opacity:.48 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 36'%3E%3Cpath d='M32 20c-6-8-12-12-19-12 2 4 2 8 0 11-5-4-9-5-12-4 5 4 8 9 8 15 6-4 12-3 18 2l5 4 5-4c6-5 12-6 18-2 0-6 3-11 8-15-3-1-7 0-12 4-2-3-2-7 0-11-7 0-13 4-19 12Z' fill='none' stroke='%23ba86dc' stroke-opacity='.72' stroke-width='2.2' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  filter:drop-shadow(0 0 5px rgba(186,134,220,.18)) !important;
  animation:batOrbit59 7.2s ease-in-out infinite !important;
}
#spooky-night .event-bats i::before,
#spooky-night .event-bats i::after{display:none !important;}
#spooky-night .event-bats i:nth-child(1){left:14%!important;top:22%!important;animation-delay:-1.1s!important;scale:.92}
#spooky-night .event-bats i:nth-child(2){left:70%!important;top:32%!important;animation-delay:-4.0s!important;scale:.76}
#spooky-night .event-bats i:nth-child(3){left:44%!important;top:68%!important;animation-delay:-5.4s!important;scale:.84}
@keyframes batOrbit59{
  0%,100%{transform:translate3d(-5px,1px,0) rotate(-5deg)}
  25%{transform:translate3d(2px,-6px,0) rotate(4deg)}
  50%{transform:translate3d(7px,1px,0) rotate(-2deg)}
  75%{transform:translate3d(0,6px,0) rotate(5deg)}
}

/* Recognisable autumn leaves: alternate maple / chestnut-style outlines. */
#spooky-night .autumn-leaves i{
  width:18px !important;
  height:18px !important;
  opacity:.44 !important;
  filter:drop-shadow(0 0 4px rgba(208,138,89,.08)) !important;
  animation:leafFall59 linear infinite !important;
}
#spooky-night .autumn-leaves i:nth-child(odd){
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='m16 2 3 7 6-3-2 7 7 2-6 5 3 6-8-2-3 6-3-6-8 2 3-6-6-5 7-2-2-7 6 3 3-7Z' fill='none' stroke='%23d08a59' stroke-opacity='.72' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M16 15v14' stroke='%23e0a06c' stroke-opacity='.58' stroke-width='1.2'/%3E%3C/svg%3E") !important;
}
#spooky-night .autumn-leaves i:nth-child(even){
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 3c7 2 11 7 10 13-1 6-6 10-10 13-4-3-9-7-10-13C5 10 9 5 16 3Z' fill='none' stroke='%23bd724d' stroke-opacity='.68' stroke-width='1.5'/%3E%3Cpath d='M16 6v23M16 13 9 9M16 17l8-5M16 21l-7 3' fill='none' stroke='%23d99566' stroke-opacity='.52' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}
@keyframes leafFall59{
  0%{top:-12%;opacity:0;transform:translateX(-5px) rotate(0deg)}
  15%{opacity:.32}
  55%{opacity:.50;transform:translateX(8px) rotate(160deg)}
  90%{opacity:.22}
  100%{top:106%;opacity:0;transform:translateX(-3px) rotate(330deg)}
}

/* ---------------------------------------------------------
   Easter: slightly smaller eggs, line-art patterns, same green family.
   --------------------------------------------------------- */
.easter-float .icon-egg{
  width:18px !important;
  height:20px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 34'%3E%3Cg fill='none' stroke='%2384cd7e' stroke-opacity='.64' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2C8 2 4 11 4 19c0 8 4 13 10 13s10-5 10-13C24 11 20 2 14 2Z'/%3E%3Cpath d='m6 14 4 3 4-3 4 3 4-3'/%3E%3Cpath d='M6 22c5-2 11-2 16 0'/%3E%3Cpath d='m8 26 3-2 3 2 3-2 3 2'/%3E%3C/g%3E%3C/svg%3E") !important;
  opacity:.16 !important;
}
.easter-float .icon-bunny{
  width:21px !important;
  height:21px !important;
  opacity:.20 !important;
}

@media(prefers-reduced-motion:reduce){
  #spooky-night .event-bats i,
  #spooky-night .autumn-leaves i{
    animation:none !important;
  }
}


/* =========================================================
   4.0.60 — status rings, bats, Easter visibility, light chain
   ========================================================= */

/* Legend points: exactly the same construction as timeline nodes:
   colored center -> dark frame -> thin colored outer ring. */
.event-status-legend i{
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  min-height:15px !important;
  flex:0 0 15px !important;
  box-sizing:border-box !important;
  border:3px solid #0a1719 !important;
  border-radius:50% !important;
  outline-width:1px !important;
  outline-style:solid !important;
  outline-offset:0 !important;
}

.event-status-legend .is-finished i{
  background:#4ed47a !important;
  outline-color:rgba(78,212,122,.72) !important;
  box-shadow:0 0 10px rgba(78,212,122,.30) !important;
}
.event-status-legend .is-running i{
  background:#28d8ff !important;
  outline-color:rgba(40,216,255,.74) !important;
  box-shadow:0 0 11px rgba(40,216,255,.38) !important;
}
.event-status-legend .is-planned i{
  background:#f0a92d !important;
  outline-color:rgba(240,169,45,.72) !important;
  box-shadow:0 0 10px rgba(240,169,45,.30) !important;
}

/* Spooky bats: restore the more recognizable original wing silhouette,
   but keep it as a purple outline matching the card. */
#spooky-night .event-bats i{
  width:30px !important;
  height:16px !important;
  opacity:.54 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 32'%3E%3Cpath d='M32 16C27 9 22 6 16 5c2 4 2 7 0 9C11 10 6 9 1 10c6 4 8 9 8 14 6-4 12-3 17 1 2 2 4 4 6 7 2-3 4-5 6-7 5-4 11-5 17-1 0-5 2-10 8-14-5-1-10 0-15 4-2-2-2-5 0-9-6 1-11 4-16 11Z' fill='none' stroke='%23ba86dc' stroke-opacity='.82' stroke-width='2.2' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  filter:drop-shadow(0 0 5px rgba(186,134,220,.22)) !important;
}

/* Easter icons: slightly clearer without becoming dominant. */
.easter-float i{
  opacity:.26 !important;
  filter:drop-shadow(0 0 5px rgba(132,205,126,.11)) !important;
  animation:easterDrift60 8.4s ease-in-out infinite !important;
}

@keyframes easterDrift60{
  0%,100%{
    opacity:.16;
    transform:translate3d(-4px,4px,0) rotate(-4deg) scale(.95);
  }
  24%{opacity:.34}
  52%{
    opacity:.50;
    transform:translate3d(5px,-6px,0) rotate(4deg) scale(1.02);
  }
  80%{opacity:.24}
}

/* Christmas market: connect the glowing bulbs with a dark hanging cable. */
#weihnachtsmarkt .event-lights::before{
  content:"" !important;
  position:absolute !important;
  left:8% !important;
  right:8% !important;
  top:8px !important;
  height:28px !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 24' preserveAspectRatio='none'%3E%3Cpath d='M0 4 C20 10 30 13 50 12 C70 13 80 10 100 4' fill='none' stroke='%2305090b' stroke-opacity='.92' stroke-width='1.8'/%3E%3C/svg%3E")
    center / 100% 100% no-repeat !important;
}

#weihnachtsmarkt .event-lights i{
  z-index:1 !important;
}

/* Position bulbs a little lower so they visually hang from the cable. */
#weihnachtsmarkt .event-lights i:nth-child(1){top:16px !important}
#weihnachtsmarkt .event-lights i:nth-child(2){top:19px !important}
#weihnachtsmarkt .event-lights i:nth-child(3){top:20px !important}
#weihnachtsmarkt .event-lights i:nth-child(4){top:19px !important}
#weihnachtsmarkt .event-lights i:nth-child(5){top:16px !important}

@media(prefers-reduced-motion:reduce){
  .easter-float i{animation:none !important;}
}


/* =========================================================
   4.0.61 — manual ranking trend indicator
   vote-rankings.json: trend = "up" | "same" | "down"
   ========================================================= */

.vote-rank-trend{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  margin-left:7px;
  border-radius:50%;
  vertical-align:middle;
  font-family:Inter,sans-serif;
  font-size:.92rem;
  font-weight:700;
  line-height:1;
  border:1px solid currentColor;
  background:rgba(4,16,18,.48);
  box-shadow:0 0 10px rgba(0,0,0,.12);
  transform:translateY(-2px);
}
.vote-rank-trend.is-up{
  color:#63d890;
  background:rgba(65,181,108,.10);
  box-shadow:0 0 12px rgba(65,181,108,.14);
}
.vote-rank-trend.is-same{
  color:#aab8b5;
  background:rgba(170,184,181,.08);
}
.vote-rank-trend.is-down{
  color:#df7a7f;
  background:rgba(211,91,98,.10);
  box-shadow:0 0 12px rgba(211,91,98,.12);
}
.vote-rank-trend.is-hidden{
  display:none;
}

/* Featured rank is larger, so give its trend marker slightly more presence. */
.vote-featured-art .vote-rank-trend{
  width:28px;
  height:28px;
  margin-left:9px;
  font-size:1rem;
  transform:translateY(-5px);
}

@media(max-width:760px){
  .vote-rank-trend{
    width:22px;
    height:22px;
    margin-left:5px;
    font-size:.84rem;
  }
  .vote-featured-art .vote-rank-trend{
    width:24px;
    height:24px;
    margin-left:6px;
    font-size:.9rem;
  }
}


/* =========================================================
   4.0.62 — vote list: remove irrelevant card order numbers
   ========================================================= */
.vote-list-index,
.vote-card-index,
.vote-item-index,
.vote-order,
.vote-list-number{
  display:none !important;
}

.vote-list-art > span:first-child:not([class]),
.vote-featured-number{
  display:none !important;
}


/* =========================================================
   4.0.63 — vote trend indicator positioning/alignment
   ========================================================= */

/* Both art panels are positioning contexts for the trend badge. */
.vote-list-art,
.vote-featured-art{
  position:relative !important;
}

/* Trend badge: fixed top-left placement, independent of rank number. */
.vote-list-art .vote-rank-trend,
.vote-featured-art .vote-rank-trend{
  position:absolute !important;
  left:18px !important;
  top:18px !important;
  right:auto !important;
  bottom:auto !important;
  margin:0 !important;
  transform:none !important;
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  min-height:32px !important;
  padding:0 !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  line-height:1 !important;
  text-align:center !important;
  z-index:8 !important;
}

/* Optical centering of the glyphs inside the circle. */
.vote-rank-trend.is-up,
.vote-rank-trend.is-down,
.vote-rank-trend.is-same{
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:19px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-indent:0 !important;
}

/* Tiny optical corrections: typographic arrow/minus glyphs are not
   geometrically centered even inside a flex container. */
.vote-rank-trend.is-up{ padding-bottom:2px !important; }
.vote-rank-trend.is-down{ padding-top:1px !important; }
.vote-rank-trend.is-same{ padding-bottom:3px !important; }

/* The featured rank keeps its original visual position; the badge no longer
   participates in document flow and therefore cannot push the number. */
.vote-featured-art .vote-rank-number{
  position:relative !important;
  z-index:3 !important;
}

@media(max-width:760px){
  .vote-list-art .vote-rank-trend,
  .vote-featured-art .vote-rank-trend{
    left:14px !important;
    top:14px !important;
    width:29px !important;
    height:29px !important;
    min-width:29px !important;
    min-height:29px !important;
  }
  .vote-rank-trend.is-up,
  .vote-rank-trend.is-down,
  .vote-rank-trend.is-same{
    font-size:17px !important;
  }
}


/* =========================================================
   4.0.64 — refined trend glyphs
   Smaller, lighter and optically centered inside the badge.
   ========================================================= */
.vote-rank-trend.is-up,
.vote-rank-trend.is-down,
.vote-rank-trend.is-same{
  font-size:14px !important;
  font-weight:400 !important;
  line-height:1 !important;
  padding:0 !important;
}

/* Optical vertical centering for the individual glyph shapes. */
.vote-rank-trend.is-up{
  padding-top:2px !important;
}
.vote-rank-trend.is-down{
  padding-bottom:2px !important;
}
.vote-rank-trend.is-same{
  padding-bottom:2px !important;
}

@media(max-width:760px){
  .vote-rank-trend.is-up,
  .vote-rank-trend.is-down,
  .vote-rank-trend.is-same{
    font-size:13px !important;
  }
}

/* 4.0.66 — consistent chevrons */
.vote-rank-trend{
  font-size:0 !important;
}
.vote-rank-trend.is-up::before,
.vote-rank-trend.is-down::before{
  content:"" !important;
  display:block !important;
  width:7px !important;
  height:7px !important;
  border-top:1.5px solid currentColor !important;
  border-right:1.5px solid currentColor !important;
  box-sizing:border-box !important;
}
.vote-rank-trend.is-up::before{
  transform:rotate(-45deg) translate(-1px,1px) !important;
}
.vote-rank-trend.is-down::before{
  transform:rotate(135deg) translate(-1px,1px) !important;
}
.vote-rank-trend.is-same::before{
  content:"" !important;
  display:block !important;
  width:7px !important;
  height:1.5px !important;
  background:currentColor !important;
  border-radius:2px !important;
}
.vote-rank-trend.is-up,
.vote-rank-trend.is-down,
.vote-rank-trend.is-same{
  padding:0 !important;
}

/* Homepage CTA chevrons should be white like the other CTA arrows. */
.home-page .team-showcase-arrow,
.home-page .event-badge-arrow{
  color:#fff !important;
}

/* 4.0.67 — trend badges: pseudo icon only, no legacy text glyph */
.vote-rank-trend{
  color:transparent !important;
  text-shadow:none !important;
}
.vote-rank-trend.is-up::before,
.vote-rank-trend.is-down::before{
  width:8px !important;
  height:8px !important;
  border-top-width:2px !important;
  border-right-width:2px !important;
}
.vote-rank-trend.is-up::before{
  border-color:#63d890 !important;
}
.vote-rank-trend.is-down::before{
  border-color:#df7a7f !important;
}
.vote-rank-trend.is-same::before{
  width:8px !important;
  height:2px !important;
  background:#aab8b5 !important;
}
.vote-rank-trend.is-up,
.vote-rank-trend.is-down,
.vote-rank-trend.is-same{
  overflow:hidden !important;
}
