:root{--bg:#07070a;--fg:#ecebe6;--dim:#8b8a85;--gold:#ffb21e;--em:#27e39a;--line:rgba(255,178,30,.22)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:'Space Grotesk',system-ui,sans-serif;overflow-x:hidden;line-height:1.5}
body.em{--gold:#27e39a;--line:rgba(39,227,154,.25)}
@media(pointer:fine){body{cursor:none}a,button,input,.card{cursor:none}}
#field{position:fixed;inset:0;z-index:0}
#cursor{position:fixed;width:18px;height:18px;border:1.5px solid var(--gold);border-radius:50%;pointer-events:none;z-index:99;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;mix-blend-mode:difference}
#cursor.big{width:54px;height:54px;background:rgba(255,178,30,.15)}
@media(pointer:coarse){#cursor{display:none}}
#boot{position:fixed;inset:0;background:#000;z-index:100;display:flex;align-items:center;justify-content:center;font:13px 'JetBrains Mono',monospace;color:var(--em);transition:opacity .6s}
#boot.done{opacity:0;pointer-events:none}
nav,header,section,footer{position:relative;z-index:2}
nav{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;backdrop-filter:blur(10px);background:linear-gradient(#07070acc,transparent);z-index:10}
.logo{color:var(--fg);text-decoration:none;font-weight:700;letter-spacing:.02em}
.logo span{color:var(--gold);font-size:1.4em}.logo i{color:var(--dim);font-style:normal;font-weight:400}
.links a{color:var(--dim);text-decoration:none;margin-left:24px;font-size:.9rem;transition:color .2s}
.links a:hover{color:var(--gold)}
@media(max-width:700px){.links a:not(:last-child){display:none}}
header{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 5vw 60px}
.tag{font:13px 'JetBrains Mono',monospace;color:var(--gold);margin-bottom:24px}
h1{font-size:clamp(2.6rem,8.5vw,7.5rem);line-height:.98;letter-spacing:-.03em;font-weight:700}
h1 em{font-style:normal;-webkit-text-stroke:2px var(--fg);color:transparent}
.glitch{color:var(--gold);position:relative;display:inline-block}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;left:0;top:0;opacity:.8}
.glitch::before{color:var(--em);animation:g1 3s infinite steps(1)}
.glitch::after{color:#ff3d6e;animation:g2 3s infinite steps(1)}
@keyframes g1{0%,90%,100%{transform:none;clip-path:inset(0 0 100% 0)}92%{transform:translate(-4px,0);clip-path:inset(20% 0 50% 0)}96%{transform:translate(3px,0);clip-path:inset(60% 0 10% 0)}}
@keyframes g2{0%,91%,100%{transform:none;clip-path:inset(0 0 100% 0)}94%{transform:translate(4px,0);clip-path:inset(40% 0 30% 0)}98%{transform:translate(-3px,0);clip-path:inset(5% 0 80% 0)}}
.sub{max-width:560px;margin:32px 0 28px;color:var(--dim);font-size:1.15rem;border-left:2px solid var(--gold);padding-left:16px}
.pills span{display:inline-block;border:1px solid var(--line);border-radius:30px;padding:8px 18px;margin:0 8px 8px 0;font-size:.85rem;color:var(--gold)}
.scroll{margin-top:48px;font:12px 'JetBrains Mono',monospace;color:var(--dim);animation:bob 2s infinite}
@keyframes bob{50%{transform:translateY(8px)}}
section{padding:110px 5vw;max-width:1200px;margin:auto}
h2{font-size:clamp(1.8rem,4.5vw,3.4rem);letter-spacing:-.02em;margin-bottom:36px}
h2 small{font:14px 'JetBrains Mono',monospace;color:var(--gold);margin-right:14px;vertical-align:middle}
.lead{color:var(--dim);max-width:640px;font-size:1.1rem;margin-bottom:30px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:30px}
.stat{border:1px solid var(--line);padding:28px;border-radius:14px;background:#0c0c10cc;backdrop-filter:blur(6px)}
.stat b{font-size:3.4rem;color:var(--gold);display:block;line-height:1}
.stat span{color:var(--dim);font-size:.9rem}
.reveal{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.term{border:1px solid var(--line);border-radius:14px;background:#050507ee;overflow:hidden;font-family:'JetBrains Mono',monospace;box-shadow:0 0 80px -30px var(--gold)}
.bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--dim);font-size:12px}
.bar i{width:10px;height:10px;border-radius:50%;background:#333}.bar i:first-child{background:var(--gold)}.bar span{margin-left:10px}
.body{padding:20px;min-height:340px}
.chips button{background:none;border:1px solid var(--line);color:var(--em);font:12px inherit;font-family:inherit;padding:6px 12px;border-radius:20px;margin:0 8px 8px 0}
.chips button:hover{background:var(--em);color:#000}
.out{min-height:200px;font-size:13px;color:#b9f5d9;white-space:pre-wrap;margin:14px 0}
.out .phone{display:inline-block;width:120px;height:210px;border:2px solid var(--em);border-radius:20px;padding:12px 8px;margin:10px 0;vertical-align:top;box-shadow:0 0 30px -8px var(--em)}
.out .phone div{height:14px;margin-bottom:8px;border-radius:4px;background:var(--em);opacity:.6;animation:pop .4s backwards}
@keyframes pop{from{transform:scaleX(0);transform-origin:left}}
form{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:14px}
form span{color:var(--gold)}
input{flex:1;background:none;border:0;outline:0;color:var(--fg);font:inherit}
form button{background:var(--gold);border:0;border-radius:6px;padding:6px 16px;font:600 12px inherit;font-family:inherit;color:#000}
.note{color:var(--dim);font-size:.85rem;margin-top:14px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;perspective:1000px}
.card{height:300px;position:relative;transform-style:preserve-3d;transition:transform .15s ease-out}
.card .in,.card .back{position:absolute;inset:0;border-radius:18px;padding:26px;backface-visibility:hidden;border:1px solid var(--line);background:#0c0c10;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .6s}
.card .in{background:radial-gradient(circle at 30% 0%,var(--c) -80%,#0c0c10 60%)}
.card .back{transform:rotateY(180deg);justify-content:center;color:var(--dim);font-size:.95rem}
.card.flip .in{transform:rotateY(180deg)}.card.flip .back{transform:rotateY(360deg)}
.card .ico{position:absolute;top:24px;left:26px;width:64px;height:64px;border-radius:16px;background:var(--c);display:grid;place-items:center;font-size:1.8rem;font-weight:700;color:#000;box-shadow:0 0 40px -6px var(--c)}
.card h3{font-size:1.3rem}.card p{color:var(--dim);font-size:.85rem;margin-top:4px}
.card .id{position:absolute;top:26px;right:26px;font:11px 'JetBrains Mono',monospace;color:var(--dim)}
.rules{list-style:none;counter-reset:r}
.rules li{counter-increment:r;border-top:1px solid var(--line);padding:26px 0 26px 70px;position:relative;font-size:1.2rem;color:var(--dim);transition:padding .3s}
.rules li:hover{padding-left:90px}
.rules li::before{content:counter(r,decimal-leading-zero);position:absolute;left:0;top:30px;font:14px 'JetBrains Mono',monospace;color:var(--gold)}
.rules b{color:var(--fg)}
.big{display:block;font-size:clamp(1.6rem,6vw,4.5rem);font-weight:700;color:var(--fg);text-decoration:none;letter-spacing:-.02em;border-bottom:2px solid var(--gold);padding-bottom:10px;word-break:break-all;transition:color .3s}
.big:hover{color:var(--gold)}
footer{text-align:center;padding:50px 5vw;color:var(--dim);font-size:.85rem}
footer button{background:none;border:0;color:var(--gold);font-size:1rem}
.card .ico{overflow:hidden;padding:0;background:#000}.card .ico img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- FX layer ---- */
#gl{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
#prog{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--em));transform-origin:left;transform:scaleX(0);z-index:50}
#trail{position:fixed;left:0;top:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--gold);pointer-events:none;z-index:98;box-shadow:0 0 18px 4px var(--gold)}
@media(pointer:coarse){#trail{display:none}}
h1.split .ch{display:inline-block;opacity:0;transform:translateY(.7em) rotateX(-70deg);filter:blur(10px);animation:chIn .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(1.6s + var(--i)*45ms)}
@keyframes chIn{to{opacity:1;transform:none;filter:none}}
body.seen h1.split .ch{animation-delay:calc(.15s + var(--i)*35ms)}
.links a,.logo,.pills span,form button,.chips button,#konami{transition:transform .25s cubic-bezier(.2,.8,.2,1),color .2s,background .2s;display:inline-block}
.card .in::after{content:"";position:absolute;inset:0;border-radius:18px;background:radial-gradient(circle 160px at var(--mx,50%) var(--my,0%),rgba(255,255,255,.12),transparent);opacity:0;transition:opacity .3s;pointer-events:none}
.card:hover .in::after{opacity:1}
.stat{transition:transform .4s,border-color .3s,box-shadow .4s}.stat:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 20px 60px -30px var(--gold)}
::selection{background:var(--gold);color:#000}
@media(prefers-reduced-motion:reduce){h1.split .ch{animation:none;opacity:1;transform:none;filter:none}}

/* ---------- WOW layer ---------- */
#snd{position:fixed;left:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:10px;padding:9px 14px;background:rgba(10,10,12,.55);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);border-radius:99px;color:var(--fg,#eee);font:600 11px 'JetBrains Mono',monospace;letter-spacing:.12em;cursor:pointer;transition:border-color .3s,color .3s}
#snd:hover{border-color:var(--gold,#ffb21e)}
#snd.on{color:var(--gold,#ffb21e);border-color:var(--gold,#ffb21e)}
#snd .eq{display:flex;gap:2px;align-items:flex-end;height:12px}
#snd .eq i{width:2px;height:3px;background:currentColor;border-radius:1px}
#snd.on .eq i{animation:eq .9s ease-in-out infinite alternate}
#snd.on .eq i:nth-child(2){animation-delay:-.3s}#snd.on .eq i:nth-child(3){animation-delay:-.6s}#snd.on .eq i:nth-child(4){animation-delay:-.15s}
@keyframes eq{to{height:12px}}
.ripple{position:fixed;z-index:70;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;border:1px solid var(--gold,#ffb21e);pointer-events:none;animation:rip .9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rip{to{transform:scale(22);opacity:0;border-width:.3px}}
#curlabel{position:fixed;left:0;top:0;z-index:80;pointer-events:none;font:600 10px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#000;background:var(--gold,#ffb21e);padding:4px 9px;border-radius:99px;opacity:0;scale:.6;transition:opacity .2s,scale .25s}
#curlabel.show{opacity:1;scale:1}
@media (pointer:coarse){#curlabel{display:none}}


/* ---------- THE FORGE (Idea -> App) STYLES ---------- */
.forge {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
  max-width: 1200px;
  margin: 2rem auto;
  min-height: 520px;
  position: relative;
  z-index: 10;
}

@media (max-width: 900px) {
  .forge {
    grid-template-columns: 1fr;
  }
}

.forge-stage {
  position: relative;
  width: 100%;
  height: 520px;
  min-height: 500px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.forge-stage canvas.forge-cv {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  pointer-events: auto;
}

.fhud {
  position: absolute;
  top: 1rem;
  left: 1rem;
  right: 1rem;
  display: flex;
  justify-content: space-between;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
  z-index: 5;
  pointer-events: none;
}

#fstate {
  color: #27e39a;
  font-weight: 600;
}

.fsteps {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  display: flex;
  gap: 0.5rem;
  z-index: 5;
  pointer-events: none;
}

.fsteps b {
  font-family: "JetBrains Mono", monospace;
  font-size: 0.7rem;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.4);
}

.fsteps b.on {
  background: #27e39a;
  color: #000;
}

.fsteps b.done {
  color: #27e39a;
}

/* Terminal Box */
.term {
  background: #0d0f12;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6);
  z-index: 10;
}

.term .bar {
  background: #14171c;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-family: "JetBrains Mono", monospace;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
}

.term .bar i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  background: rgba(255, 255, 255, 0.2);
}

.term .bar span {
  margin-left: 8px;
}

.term .body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.chips button {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #eee;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-family: "Space Grotesk", sans-serif;
  cursor: pointer;
  transition: all 0.2s;
}

.chips button:hover {
  background: #27e39a;
  color: #000;
  border-color: #27e39a;
}

.out {
  min-height: 130px;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.82rem;
  color: #a0aec0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.out .cmd {
  color: #27e39a;
}
.out .ok {
  color: #27e39a;
  font-weight: 600;
}
.out .hint {
  color: #ffb21e;
  font-size: 0.75rem;
}

#form {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  padding: 6px 12px;
}

#form span {
  color: #27e39a;
  font-family: "JetBrains Mono", monospace;
}

#inp {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #fff;
  font-family: "JetBrains Mono", monospace;
  font-size: 0.85rem;
}

#form button {
  background: #27e39a;
  color: #000;
  border: none;
  padding: 6px 14px;
  border-radius: 6px;
  font-weight: 600;
  font-family: "Space Grotesk", sans-serif;
  cursor: pointer;
}