/* =========================================================================
   LOLZCRAFT — continuous green particle morph (method from the reference),
   LOLZ-green theme, MINIMAL text, full-screen & responsive.
   The page never scrolls; a hidden driver scrubs ONE morphing object.
   ========================================================================= */
:root{
  --bg:#0C100D; --bg2:#080B09;
  --ink:#EAF2E6; --muted:#8E9A8C; --low:#5E6A5C;
  --green:#5FA83F; --green-bright:#7BC04E; --green-deep:#4A8230;
  --green-ghost:rgba(95,168,63,.12); --green-glow:rgba(95,168,63,.26);
  --diamond:#5BC8E6; --gold:#E8B53C; --amethyst:#9D6CFF; --ruby:#FF5E7A;
  --grad:linear-gradient(100deg,var(--green),var(--green-bright) 55%,var(--diamond));
  --font:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',monospace;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box;}*{margin:0;}
html,body{height:auto;background:var(--bg);}
.lenis.lenis-smooth{scroll-behavior:auto !important;}
body{color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none;}
body::-webkit-scrollbar{width:0;height:0;display:none;}
img,svg{display:block;max-width:100%;}a{color:inherit;text-decoration:none;}ul{list-style:none;padding:0;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
::selection{background:var(--green);color:#0a160a;}
:focus-visible{outline:2px solid var(--green-bright);outline-offset:3px;border-radius:6px;}
.sprite{position:absolute;width:0;height:0;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* fixed full-screen stage */
.stage{position:fixed;inset:0;z-index:1;overflow:hidden;background:radial-gradient(120% 90% at 50% 30%,#0E140F,var(--bg) 60%,var(--bg2));}
#scene{position:fixed;inset:0;z-index:1;width:100%;height:100%;}
.bg-glow{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(42vw 42vw at 50% 42%,var(--green-glow),transparent 62%);opacity:.32;}
.vignette{position:fixed;inset:0;z-index:35;pointer-events:none;box-shadow:inset 0 0 190px 55px rgba(0,0,0,.5),inset 0 0 70px 0 rgba(0,0,0,.28);}
.cursor{position:fixed;top:0;left:0;width:320px;height:320px;margin:-160px 0 0 -160px;border-radius:50%;z-index:34;pointer-events:none;mix-blend-mode:screen;opacity:0;transition:opacity .45s;background:radial-gradient(circle,rgba(95,168,63,.12),transparent 62%);will-change:transform;}
.grain{position:fixed;inset:0;z-index:40;pointer-events:none;opacity:.05;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.driver{height:700vh;}
.scrim{position:fixed;left:0;right:0;bottom:0;height:48%;z-index:15;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(8,11,9,.55) 55%,rgba(8,11,9,.82));}

/* progress */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:50;}
.progress i{display:block;height:100%;width:0%;background:var(--grad);box-shadow:0 0 14px var(--green-glow);}

/* top bar */
.bar{position:fixed;top:0;left:0;right:0;z-index:30;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,42px);}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font);font-weight:800;font-size:19px;letter-spacing:-.01em;color:var(--ink);}
.brand span{color:var(--green-bright);}
.brand__eye{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--green-ghost);color:var(--green-bright);}
.brand__eye svg{width:18px;height:18px;}
.bar__right{display:flex;align-items:center;gap:12px;}
.ip-chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;color:var(--muted);background:rgba(16,22,17,.55);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:8px 13px;transition:border-color .2s,color .2s;}
.ip-chip:hover{border-color:var(--green);color:var(--ink);}
.ip-chip__dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green-glow);}
.ip-chip svg{width:15px;height:15px;}
.ip-chip.copied{border-color:var(--green);color:var(--green-bright);}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;line-height:1;white-space:nowrap;padding:13px 22px;border-radius:12px;border:1px solid transparent;transition:transform .2s,box-shadow .2s,border-color .2s;}
.btn__ico{width:18px;height:18px;transition:transform .2s;}
.btn--sm{padding:9px 16px;font-size:13px;}.btn--lg{padding:15px 26px;font-size:16px;}
.btn--green{background:var(--grad);color:#0a1605;box-shadow:0 10px 30px -10px var(--green-glow);}
.btn--green:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px var(--green-glow);}
.btn--green:hover .btn__ico{transform:translateX(3px);}
.btn--ghost{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:var(--ink);}
.btn--ghost:hover{border-color:var(--green);transform:translateY(-2px);}.btn--ghost .btn__ico{color:var(--green-bright);}

/* dots */
.dots{position:fixed;right:clamp(14px,2.4vw,30px);top:50%;translate:0 -50%;z-index:30;display:flex;flex-direction:column;gap:14px;}
.dots button{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.2);transition:all .35s var(--ease);}
.dots button:hover{background:rgba(255,255,255,.45);}
.dots button.on{background:var(--green);box-shadow:0 0 14px var(--green-glow);transform:scale(1.5);}

.hint{position:fixed;left:50%;bottom:22px;translate:-50% 0;z-index:30;display:inline-flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--low);transition:opacity .4s;}
.hint svg{width:20px;height:20px;color:var(--green);animation:nudge 1.7s var(--ease) infinite;}
@keyframes nudge{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(5px);opacity:1}}

/* ===== minimal text overlays ===== */
.scenes{position:fixed;inset:0;z-index:20;pointer-events:none;}
.scn{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;
  padding:0 24px clamp(48px,11vh,130px);opacity:0;will-change:opacity,transform;}
.scn>*{pointer-events:auto;}
.eyebrow{font-family:var(--mono);font-size:clamp(11px,1vw,13px);letter-spacing:.28em;text-transform:uppercase;color:var(--green-bright);margin-bottom:18px;}
.no{font-family:var(--mono);font-size:clamp(13px,1.4vw,16px);letter-spacing:.3em;color:var(--low);margin-bottom:8px;}
.title{font-family:var(--font);font-weight:800;font-size:clamp(3.2rem,11vw,9rem);line-height:.92;letter-spacing:-.04em;color:var(--ink);}
.title--brand{letter-spacing:-.05em;}
.title--brand .g1{color:var(--diamond);}.title--brand .g2{color:var(--gold);}
.title--green{color:var(--green-bright);text-shadow:0 0 50px var(--green-glow);}
.title--a{color:var(--amethyst);}.title--gold{color:var(--gold);}
.sub{font-size:clamp(1rem,1.7vw,1.45rem);color:var(--muted);margin-top:18px;font-weight:500;}
.cta{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:32px;}

.tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border-radius:999px;padding:8px 16px;margin-bottom:18px;border:1px solid rgba(255,255,255,.12);color:var(--muted);}
.tag--live{color:#0a1605;background:var(--green);border-color:transparent;}
.tag--live i{width:7px;height:7px;border-radius:50%;background:#0a1605;animation:pulse 2s var(--ease) infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.tag--a{color:#c9b3ff;border-color:rgba(157,108,255,.4);background:rgba(157,108,255,.08);}
.tag--g{color:#ffdd8f;border-color:rgba(232,181,60,.4);background:rgba(232,181,60,.08);}
.chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:20px;}
.chips li{font-family:var(--mono);font-size:13px;color:var(--ink);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:8px 15px;}

.ip-pill{display:inline-flex;align-items:center;gap:10px;background:rgba(16,22,17,.6);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:9px 10px 9px 18px;font-family:var(--mono);transition:border-color .2s,box-shadow .2s;}
.ip-pill:hover{border-color:var(--green);box-shadow:0 0 0 4px var(--green-ghost);}
.ip-pill__l{font-size:11px;letter-spacing:.12em;color:var(--low);}.ip-pill__t{font-size:15px;font-weight:600;color:var(--ink);}
.ip-pill__c{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);background:rgba(255,255,255,.06);border-radius:999px;padding:8px 13px;}
.ip-pill__c svg{width:14px;height:14px;}.ip-pill.copied .ip-pill__c{color:var(--green-bright);}
.ip-pill--lg{margin:22px auto 0;}
.scn--join .title{margin-bottom:8px;}
.receipt{min-height:20px;margin-top:14px;font-family:var(--mono);font-size:13px;color:var(--green-bright);opacity:0;transition:opacity .3s;}
.receipt.show{opacity:1;}

@media (prefers-reduced-motion:reduce){.hint svg,.tag--live i{animation:none !important;}}
@media (max-width:640px){.ip-chip__t{display:none;}.dots{right:12px;}.scn{padding-bottom:clamp(40px,9vh,90px);}}
