@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,500;0,700;0,800;0,900;1,800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --lm:#78be20;
  --lm2:#93dc30;
  --lm3:#4e8a12;
  --lm4:#c6f37e;
  --lm-deep:#0a1a0a;
  --lm-ink:#0b2202;
  --lm-glow:0 0 44px rgba(120,190,32,.28);
  --lm-ease:cubic-bezier(.16,1,.3,1);
  --lm-spring:cubic-bezier(.34,1.56,.44,1);
}

html:not([data-theme]) body,
html[data-theme="leroy"] body{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

h1,h2,h3,.brandTitle,.statValue,.fsHeaderName,.gCardTitle,.lmMarqueeTrack span{
  font-family:Archivo,Inter,-apple-system,system-ui,sans-serif;
}

/* titulo do hero em branco solido — sem gradiente e sem o brilho animado.
   text-fill-color precisa voltar ao normal: so trocar o color deixaria o
   texto transparente por causa do background-clip:text anterior. */
.hero h1{
  font-weight:900;
  letter-spacing:-.03em;
  color:#fff;
  background:none;
  -webkit-background-clip:border-box;
  background-clip:border-box;
  -webkit-text-fill-color:#fff;
  animation:none;
}
.hero h1 .lmChar{color:#fff;-webkit-text-fill-color:#fff}
@keyframes lmShine{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

.hero h1 .lmChar{display:inline-block;white-space:pre}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 14px;
  border-radius:999px;
  border:1px solid rgba(120,190,32,.4);
  background:linear-gradient(180deg,rgba(120,190,32,.16),rgba(120,190,32,.05));
  box-shadow:inset 0 1px 0 rgba(214,246,160,.18),0 4px 18px -8px rgba(120,190,32,.5);
  color:var(--lm4);
}
.eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--lm2);
  box-shadow:0 0 10px var(--lm2),0 0 20px rgba(147,220,48,.6);
  animation:lmPulse 2.2s ease-in-out infinite;
}
@keyframes lmPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.45);opacity:.55}}

.brandMark{
  border-radius:0!important;
  border:none!important;
  background:none!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.brandMark img{display:none!important}
.brandMark::before{
  content:"";
  width:100%;
  height:100%;
  background:url('img/leroy/lm-mark.svg?v=6') center/contain no-repeat;
}
.brandTitle{font-weight:900;letter-spacing:.01em;font-size:15px}
.brandSub{color:rgba(198,243,126,.75)}

.topbar::before{opacity:.9}

.primaryBtn{position:relative;overflow:hidden;color:var(--lm-ink)}
.primaryBtn::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:46%;
  left:-60%;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);
  transform:skewX(-18deg);
  transition:left .7s var(--lm-ease);
  pointer-events:none;
}
.primaryBtn:hover::after{left:130%}

.lmRipple{
  position:absolute;
  border-radius:50%;
  transform:scale(0);
  background:radial-gradient(circle,rgba(255,255,255,.5) 0%,rgba(198,243,126,.35) 40%,transparent 70%);
  animation:lmRipple .65s var(--lm-ease) forwards;
  pointer-events:none;
  mix-blend-mode:screen;
}
@keyframes lmRipple{to{transform:scale(2.6);opacity:0}}

#lmGlow{
  position:fixed;
  left:0;
  top:0;
  width:560px;
  height:560px;
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  background:radial-gradient(circle,rgba(120,190,32,.09) 0%,rgba(120,190,32,.045) 38%,transparent 65%);
  transform:translate(-50%,-50%);
  opacity:0;
  mix-blend-mode:screen;
}
@media (hover:none),(pointer:coarse){#lmGlow{display:none}}

html.lmfx [data-lmreveal]{opacity:0}

.topbar.lmScrolled{background:linear-gradient(180deg,rgba(6,16,8,.99) 0%,rgba(6,16,8,.94) 100%)}
.topbar.lmScrolled .topbarInner{padding:7px 0}
.topbarInner{transition:padding .35s var(--lm-ease)}

#lmProgress{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:3px;
  z-index:1001;
  transform:scaleX(0);
  transform-origin:0 50%;
  background:linear-gradient(90deg,var(--lm) 0%,var(--lm2) 55%,var(--lm4) 100%);
  box-shadow:0 0 12px rgba(147,220,48,.8),0 0 26px rgba(120,190,32,.4);
  pointer-events:none;
}

.lmMarquee{will-change:transform;transition:transform .1s linear}

.hero{perspective:1100px}
.heroText,.caseBoard{will-change:transform,opacity}
.gCardImg{will-change:transform}

.lmMarquee{
  position:relative;
  margin:8px 0 30px;
  padding:15px 0;
  overflow:hidden;
  border-top:1px solid rgba(120,190,32,.22);
  border-bottom:1px solid rgba(120,190,32,.22);
  background:linear-gradient(90deg,rgba(120,190,32,.07),rgba(120,190,32,.02) 30%,rgba(120,190,32,.02) 70%,rgba(120,190,32,.07));
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.lmMarqueeTrack{
  display:flex;
  align-items:center;
  gap:44px;
  width:max-content;
  animation:lmMarquee 30s linear infinite;
  will-change:transform;
}
.lmMarquee:hover .lmMarqueeTrack{animation-play-state:paused}
.lmMarqueeTrack span{
  display:inline-flex;
  align-items:center;
  gap:44px;
  font-weight:800;
  font-size:13px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:rgba(214,246,160,.78);
  white-space:nowrap;
}
.lmMarqueeTrack svg{
  width:14px;
  height:14px;
  color:var(--lm2);
  filter:drop-shadow(0 0 6px rgba(147,220,48,.7));
  flex:0 0 14px;
}
@keyframes lmMarquee{to{transform:translateX(-50%)}}

.gamerZone{margin:6px 0 34px}
.gamerZone .sectionHead{margin-bottom:20px;align-items:flex-end}
.gamerZone h3{
  font-size:clamp(24px,3vw,34px);
  margin:6px 0 0;
  font-weight:900;
  letter-spacing:-.02em;
  background:linear-gradient(120deg,#f6ffe8,var(--lm4) 45%,var(--lm2));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.gamerSub{color:var(--muted);font-size:14px;margin-top:6px;max-width:52ch;line-height:1.6}

.gamerGrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:150px;
  gap:14px;
}
.gCard{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  border:1px solid rgba(120,190,32,.2);
  background:#0a140a;
  box-shadow:0 20px 60px -24px rgba(0,0,0,.75);
  transform-style:preserve-3d;
  transition:border-color .35s ease,box-shadow .5s var(--lm-ease);
  cursor:pointer;
  isolation:isolate;
}
.gCard.big{grid-column:span 2;grid-row:span 2}
.gCard.wide{grid-column:span 2}
.gCardImg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center 30%;
  transform:scale(1.02);
  transition:transform 1s var(--lm-ease),filter .6s ease;
  filter:brightness(.96);
  z-index:0;
}
.gCard.big .gCardImg{background-position:center}
.gCard::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(4,10,4,0) 0%,rgba(4,10,4,.14) 48%,rgba(4,10,4,.88) 100%);
  transition:background .4s ease;
}
.gCard:hover .gCardImg{transform:scale(1.08);filter:brightness(1.08) saturate(1.06)}
.gCard:hover{
  border-color:rgba(147,220,48,.65);
  box-shadow:0 30px 80px -28px rgba(0,0,0,.85),0 0 44px -6px rgba(120,190,32,.4);
}
.gCardBody{
  position:relative;
  z-index:2;
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  gap:5px;
  width:100%;
}
.gCardTag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  align-self:flex-start;
  padding:5px 11px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--lm-ink);
  background:linear-gradient(160deg,var(--lm4),var(--lm2) 60%,var(--lm));
  box-shadow:0 6px 18px -6px rgba(120,190,32,.7);
}
.gCardTag svg{width:12px;height:12px}
.gCardTitle{
  font-size:clamp(17px,1.8vw,24px);
  font-weight:900;
  letter-spacing:-.01em;
  color:#f4fce8;
  text-shadow:0 2px 14px rgba(0,0,0,.65);
}
.gCard.big .gCardTitle{font-size:clamp(24px,2.6vw,34px)}
.gCardDesc{
  font-size:12.5px;
  color:rgba(233,248,210,.8);
  line-height:1.5;
  max-width:40ch;
  text-shadow:0 1px 8px rgba(0,0,0,.7);
}
.gCardGo{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:#f4fce8;
  background:rgba(6,14,6,.55);
  border:1px solid rgba(198,243,126,.3);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .4s var(--lm-spring),background .3s,color .3s,border-color .3s;
}
.gCardGo svg{width:17px;height:17px;transition:transform .4s var(--lm-spring)}
.gCard:hover .gCardGo{background:var(--lm);color:var(--lm-ink);border-color:var(--lm2);transform:rotate(-45deg) scale(1.08)}
.gCard.big::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:2px;
  z-index:3;
  background:conic-gradient(from var(--lmAngle,0deg),transparent 0%,transparent 55%,rgba(147,220,48,.5) 70%,#d6f6a0 80%,#f4ffe0 84%,#d6f6a0 88%,rgba(147,220,48,.5) 96%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  animation:lmAngle 5s linear infinite;
  pointer-events:none;
}
@property --lmAngle{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes lmAngle{to{--lmAngle:360deg}}
.gCardLive{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--lm4);
}
.gCardLive::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--lm2);
  box-shadow:0 0 8px var(--lm2);
  animation:lmPulse 1.6s ease-in-out infinite;
}

.statCard{position:relative;overflow:hidden}
.statCard::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--lm) 30%,var(--lm2) 50%,var(--lm) 70%,transparent);
  opacity:0;
  transition:opacity .4s ease;
}
.statCard:hover::after{opacity:1}
.statValue{font-weight:900}

.sectionHead h3{position:relative;display:inline-block}

.moduleTile,.gCard,.noteCard,.statCard{will-change:transform}

.featureGrid article{position:relative;overflow:hidden}
.featureGrid article::before{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  border-radius:50%;
  right:-40px;
  top:-40px;
  background:radial-gradient(circle,rgba(120,190,32,.16),transparent 70%);
  transition:transform .6s var(--lm-ease),opacity .4s;
  opacity:0;
  transform:scale(.6);
  pointer-events:none;
}
.featureGrid article:hover::before{opacity:1;transform:scale(1.4)}

footer.lmFooter{
  margin-top:26px;
  padding:0!important;
  border-top:1px solid rgba(120,190,32,.2);
  background:linear-gradient(180deg,rgba(10,22,10,.4),rgba(4,10,4,.85));
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  text-shadow:none!important;
}
.lmFooterInner{
  width:min(1300px,calc(100% - 48px));
  margin:0 auto;
  padding:34px 0 22px;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.lmFooterTop{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.lmFooterBrand{display:flex;align-items:center;gap:12px}
.lmFooterBrand .brandMark{width:40px;height:40px;flex:0 0 40px}
.lmFooterName{font-family:Archivo,sans-serif;font-weight:900;font-size:15px;color:#f4fce8;text-align:left}
.lmFooterName small{display:block;font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(198,243,126,.7);margin-top:2px}
.lmFooterLinks{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.lmFooterLinks a{
  padding:8px 14px;
  border-radius:11px;
  font-size:12.5px;
  font-weight:600;
  color:rgba(233,248,210,.75);
  border:1px solid transparent;
  transition:.25s ease;
}
.lmFooterLinks a:hover{color:var(--lm4);border-color:rgba(120,190,32,.35);background:rgba(120,190,32,.08)}
.lmFooterBase{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding-top:16px;
  border-top:1px solid rgba(120,190,32,.12);
  font-size:12px;
  color:rgba(233,248,210,.55);
  font-weight:500;
}
.lmFooterBase strong{color:var(--lm4);font-weight:800}

.orb{will-change:transform}
.orbA{background:rgba(120,190,32,.3)}

.lupa svg{color:var(--lm2)}

.heroActions .ghostBtn.large{position:relative}

.menuDrawer .ghostBtn,.menuDrawer .primaryBtn{cursor:pointer}

::selection{background:rgba(120,190,32,.35);color:#f4ffe4}
:focus-visible{outline:2px solid rgba(147,220,48,.7);outline-offset:2px}

html,body{scrollbar-width:auto;scrollbar-color:auto}
@supports not selector(::-webkit-scrollbar){
  html{scrollbar-width:thin;scrollbar-color:#78be20 #0a1a0e}
}
html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{width:16px;height:16px;background:#0a1a0e}
html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,*::-webkit-scrollbar-track,
html::-webkit-scrollbar-track-piece,body::-webkit-scrollbar-track-piece,*::-webkit-scrollbar-track-piece{background:#0a1a0e;border:none;box-shadow:none}
*::-webkit-scrollbar-corner{background:#0a1a0e}
*::-webkit-scrollbar-button{display:none;width:0;height:0;background:#0a1a0e}
html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,*::-webkit-scrollbar-thumb{
  background:#0a1a0e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6L20 18H4Z' fill='%2378be20'/%3E%3C/svg%3E") center/13px 13px no-repeat;
  border:none;border-radius:0;box-shadow:none;min-height:44px;
}
html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,*::-webkit-scrollbar-thumb:hover{
  background:#0a1a0e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6L20 18H4Z' fill='%2393dc30'/%3E%3C/svg%3E") center/15px 15px no-repeat;
}
html::-webkit-scrollbar-thumb:active,body::-webkit-scrollbar-thumb:active,*::-webkit-scrollbar-thumb:active{
  background:#0a1a0e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6L20 18H4Z' fill='%23c6f37e'/%3E%3C/svg%3E") center/15px 15px no-repeat;
}

/* ---- barra de rolagem da pagina -------------------------------------
   A nativa nao servia: o triangulo e pintado no CENTRO do thumb, e o thumb
   tem altura proporcional ao conteudo (~200px numa pagina desta altura).
   Resultado: mesmo com o thumb encostado no topo, o triangulo ficava ~100px
   abaixo da borda — nunca tocava o inicio nem o fim. Nao ha propriedade CSS
   que desloque o desenho para as pontas do thumb, entao a barra da pagina
   passa a ser um indicador proprio que percorre a trilha inteira.
   As barras internas (modais, chat, listas) seguem com a nativa acima. */
html.lmScrollCustom{scrollbar-width:none}
html.lmScrollCustom::-webkit-scrollbar{width:0;height:0}
html.lmScrollCustom>body{scrollbar-width:none}
html.lmScrollCustom>body::-webkit-scrollbar{width:0;height:0}

#lmScrollTrack{
  position:fixed;top:0;right:0;bottom:0;width:16px;
  background:#0a1a0e;z-index:2147483000;
  opacity:0;visibility:hidden;transition:opacity .2s ease;
}
#lmScrollTrack.lmScrollOn{opacity:1;visibility:visible}
#lmScrollThumb{
  position:absolute;left:0;top:0;width:16px;height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6L20 18H4Z' fill='%2378be20'/%3E%3C/svg%3E") center/13px 13px no-repeat;
  will-change:transform;
}
#lmScrollTrack:hover #lmScrollThumb{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6L20 18H4Z' fill='%2393dc30'/%3E%3C/svg%3E");
  background-size:15px 15px;
}
#lmScrollTrack.lmScrollDrag #lmScrollThumb{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6L20 18H4Z' fill='%23c6f37e'/%3E%3C/svg%3E");
  background-size:15px 15px;
}

@media (hover:hover) and (pointer:fine){
  html.lmcursor,html.lmcursor *{cursor:none!important}
  html.lmcursor input,html.lmcursor textarea,html.lmcursor [contenteditable]{cursor:text!important}
}
#lmSmoke{position:fixed;inset:0;pointer-events:none;z-index:95}
#lmHand{
  position:fixed;left:0;top:0;width:34px;height:34px;margin-left:-14px;margin-top:-2px;
  pointer-events:none;z-index:2147483600;opacity:0;transition:opacity .2s ease;will-change:transform;
}
#lmHand.lmShow{opacity:1}
#lmHand.lmGhost{opacity:0!important}
/* cursor personalizado desligado nas configuracoes */
html.lmNoCursor #lmHand{display:none!important}
#lmHand svg{display:block;width:100%;height:100%;overflow:visible}
#lmHand .lmHandInner{
  width:100%;height:100%;transform-origin:55% 82%;
  transition:transform .18s var(--lm-ease),filter .2s ease;
  filter:drop-shadow(0 0 3px rgba(147,220,48,.9)) drop-shadow(0 0 8px rgba(120,190,32,.75));
}
#lmHand .lmSpark{
  transform-box:fill-box;
  animation:lmSpark 3.9s cubic-bezier(.5,0,.5,1) infinite;
}
@keyframes lmSpark{
  0%{transform:translateX(-9px) skewX(-22deg);opacity:0}
  5%{opacity:1}
  22%{transform:translateX(26px) skewX(-22deg);opacity:1}
  30%{opacity:0}
  100%{transform:translateX(26px) skewX(-22deg);opacity:0}
}
#lmHand.lmHot .lmHandInner{
  animation:lmHandClick .6s ease-in-out infinite;
  filter:drop-shadow(0 0 5px #c6f37e) drop-shadow(0 0 14px rgba(147,220,48,.95));
}
@keyframes lmHandClick{
  0%,100%{transform:scale(1.12) translateY(0)}
  42%{transform:scale(1.0) translateY(3px)}
  60%{transform:scale(1.12) translateY(0)}
}
#lmHand.lmDown .lmHandInner{
  animation:none;transform:scale(.8) translateY(2px);
  filter:drop-shadow(0 0 6px #e4ffbf) drop-shadow(0 0 18px #93dc30);
}
@media (prefers-reduced-motion:reduce){
  #lmHand .lmSpark{animation:none;opacity:0}
  #lmHand.lmHot .lmHandInner{animation:none;transform:scale(1.1)}
}

body.chatOnlyPage #chatModal .fsInner{
  background:linear-gradient(165deg,rgba(13,18,11,.66),rgba(8,12,7,.8));
  -webkit-backdrop-filter:blur(30px) saturate(150%);
  backdrop-filter:blur(30px) saturate(150%);
  border-left:1px solid rgba(255,255,255,.07);
  border-right:1px solid rgba(255,255,255,.07);
  box-shadow:0 0 80px -20px rgba(0,0,0,.7);
}
#chatModal .fsHeader{
  background:rgba(12,18,10,.5);
  -webkit-backdrop-filter:blur(30px) saturate(170%);
  backdrop-filter:blur(30px) saturate(170%);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:16px 22px;
}
#chatModal .fsHeaderAvatar{
  width:40px;height:40px;flex:0 0 40px;
  border:1px solid rgba(147,220,48,.4);
  background:radial-gradient(circle at 35% 30%,rgba(147,220,48,.18),rgba(255,255,255,.03));
  box-shadow:0 6px 16px -8px rgba(120,190,32,.6),inset 0 1px 0 rgba(255,255,255,.16);
}
#chatModal .fsHeaderAvatar img{width:70%;height:70%;object-fit:contain;filter:drop-shadow(0 0 5px rgba(147,220,48,.5))}
#chatModal .fsHeaderName{font-family:Archivo,"Segoe UI",sans-serif;font-weight:900;letter-spacing:.01em;font-size:16px}
#chatModal .fsHeaderSub{color:rgba(198,243,126,.7)}
#chatModal .fsBack,#chatModal .fsNewChat{
  background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  backdrop-filter:blur(16px) saturate(160%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 6px 16px -12px rgba(0,0,0,.6);
  color:#e9f8d2;
}
#chatModal .fsBack:hover,#chatModal .fsNewChat:hover{
  background:rgba(147,220,48,.14);border-color:rgba(147,220,48,.45);color:#c6f37e;
}
#chatModal .fsChatBubble.assistant{
  background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  backdrop-filter:blur(18px) saturate(150%);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 12px 34px -20px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.08);
  border-radius:20px;border-bottom-left-radius:7px;padding:14px 17px;
}
#chatModal .fsChatBubble.user{
  background:linear-gradient(150deg,rgba(147,220,48,.26),rgba(90,166,23,.2));
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(147,220,48,.4);
  box-shadow:0 12px 34px -20px rgba(120,190,32,.55),inset 0 1px 0 rgba(255,255,255,.14);
  border-radius:20px;border-bottom-right-radius:7px;padding:14px 17px;
}
#chatModal .fsChatComposer{
  background:transparent;border-top:none;padding:8px 20px 24px;
}
#chatModal .fsChatComposer textarea{
  background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(26px) saturate(170%);
  backdrop-filter:blur(26px) saturate(170%);
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;padding:15px 18px;
  box-shadow:0 14px 38px -18px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.1);
}
#chatModal .fsChatComposer textarea:focus{
  border-color:rgba(147,220,48,.5);
  background:rgba(255,255,255,.08);
  box-shadow:0 14px 38px -16px rgba(120,190,32,.4),0 0 0 4px rgba(147,220,48,.1),inset 0 1px 0 rgba(255,255,255,.12);
}
#chatModal .fsChatComposer textarea::placeholder{color:rgba(198,243,126,.35)}
#chatModal .fsSendBtn{
  border-radius:16px;
  background:linear-gradient(150deg,#c6f37e,#93dc30 55%,#5aa617);
  border:none;color:#0b2202;
  box-shadow:0 10px 26px -10px rgba(120,190,32,.7),inset 0 1px 0 rgba(255,255,255,.4);
}
#chatModal .fsSendBtn:hover{filter:brightness(1.06);box-shadow:0 14px 32px -10px rgba(147,220,48,.8),inset 0 1px 0 rgba(255,255,255,.5)}
#chatModal .fsChatBubble strong,#chatModal .fsChatBubble code{color:#c6f37e}

@media (max-width:1080px){
  .gamerGrid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
  .gCard.big{grid-column:span 2;grid-row:span 2}
  .gCard.wide{grid-column:span 2}
}
@media (max-width:720px){
  .lmMarqueeTrack{gap:28px;animation-duration:22s}
  .lmMarqueeTrack span{gap:28px;font-size:11px}
  .gamerGrid{grid-template-columns:1fr;grid-auto-rows:170px}
  .gCard.big,.gCard.wide{grid-column:span 1;grid-row:span 1}
  .gCard.big{grid-row:span 2}
  .lmFooterTop,.lmFooterBase{flex-direction:column;text-align:center}
  .lmFooterBrand{flex-direction:column}
  .lmFooterName{text-align:center}
  #lmGlow{display:none}
}

@media (prefers-reduced-motion:reduce){
  .lmMarqueeTrack{animation:none}
  .hero h1{animation:none}
  .eyebrow::before,.gCardLive::before{animation:none}
  .gCard.big::after{animation:none}
  html.lmfx [data-lmreveal]{opacity:1}
}
