/* sections-1.jsx — Navbar, Hero, "Por que Lina é diferente" */
const { useState: useS1, useEffect: useE1, useRef: useR1 } = React;

/* ---------- Wordmark ---------- */
const Logo = ({ size = 22 }) => (
  <a href="#" className="brand-logo" aria-label="Lina Solutions">
    <span className="brand-mark" aria-hidden="true">
      <span>LS</span>
    </span>
    <span className="brand-copy" style={{ lineHeight: 1 }}>
      <span className="brand-title" style={{ fontSize: size }}>
        LINA<span>SOLUTIONS</span>
      </span>
      <span className="brand-subtitle">OPTIMIZER · PERFORMANCE DIRECTOR</span>
    </span>
  </a>
);

/* ---------- Navbar ---------- */
const Navbar = () => {
  const [scrolled, setScrolled] = useS1(false);
  useE1(() => {
    const onScroll = () => setScrolled(window.scrollY > 12);
    window.addEventListener("scroll", onScroll);
    return () => window.removeEventListener("scroll", onScroll);
  }, []);

  const links = [
    ["Recursos",     "#recursos"],
    ["Diferencial",  "#diferencial"],
    ["Antes/Depois", "#antesdepois"],
    ["Tecnologia",   "#tecnologia"],
    ["Preços",       "#precos"],
    ["FAQ",          "#faq"],
  ];

  return (
    <header style={{
      position: "fixed", top: 0, left: 0, right: 0, zIndex: 50,
      borderBottom: scrolled ? "1px solid var(--line)" : "1px solid transparent",
      background: scrolled ? "rgba(7,7,10,0.85)" : "transparent",
      backdropFilter: scrolled ? "blur(10px)" : "none",
      transition: "200ms",
    }}>
      <div className="container row between" style={{ height: 64 }}>
        <Logo />
        <nav className="row gap-6" style={{ fontFamily: "var(--font-mono)", fontSize: 12, letterSpacing: "0.08em", textTransform: "uppercase" }}>
          {links.map(([l, h]) => (
            <a key={h} href={h} style={{ color: "var(--fg-dim)", textDecoration: "none", transition: "150ms" }}
               onMouseEnter={e => e.currentTarget.style.color = "var(--accent-text)"}
               onMouseLeave={e => e.currentTarget.style.color = "var(--fg-dim)"}>
              {l}
            </a>
          ))}
        </nav>
        <div className="row gap-3">
          <a href="#download" className="btn btn-primary cut-corners" style={{ height: 40, fontSize: 11 }}>
            Assinar agora <Icon name="arrow" size={14} className="arrow" />
          </a>
        </div>
      </div>
    </header>
  );
};

/* ---------- Status ticker (scroll-linked + auto-scroll) ---------- */
const TICKER_ITEMS = [
  ["●", "BETA PRIVADA"],
  [null, "WIN 10 / 11 SUPORTADO"],
  ["+", "GAME BOOST REVERSÍVEL"],
  [null, "ROLLBACK NATIVO"],
  ["●", "SEM TELEMETRIA OBRIGATÓRIA"],
  [null, "DIAGNÓSTICO ANTES/DEPOIS"],
  ["+", "LINA PERFORMANCE DIRECTOR"],
  [null, "LINA POWER PLAN"],
  [null, "v3.4 · BUILD 24102"],
  ["●", "BR · PT-BR"],
];

const StatusTicker = () => {
  const trackRef = useR1(null);
  const offsetRef = useR1(0);
  const lastScrollRef = useR1(0);
  const lastTimeRef = useR1(0);

  useE1(() => {
    let raf = 0;
    const AUTO_PX_PER_SEC = 30;     // base auto-scroll speed
    const SCROLL_BOOST = 0.6;       // additional offset per px scrolled

    const tick = (now) => {
      const dt = lastTimeRef.current ? (now - lastTimeRef.current) / 1000 : 0;
      lastTimeRef.current = now;

      // scroll delta -> extra movement
      const sy = window.scrollY;
      const dy = sy - lastScrollRef.current;
      lastScrollRef.current = sy;

      offsetRef.current += AUTO_PX_PER_SEC * dt + dy * SCROLL_BOOST;

      const track = trackRef.current;
      if (track) {
        // wrap by half-width since we duplicate content once
        const half = track.scrollWidth / 2 || 1;
        const o = ((offsetRef.current % half) + half) % half;
        track.style.transform = `translate3d(${-o}px, 0, 0)`;
      }
      raf = requestAnimationFrame(tick);
    };
    raf = requestAnimationFrame(tick);
    return () => cancelAnimationFrame(raf);
  }, []);

  const Row = ({ k }) => (
    <React.Fragment>
      {TICKER_ITEMS.map(([sym, txt], i) => (
        <span key={`${k}-${i}`} style={{ display: "inline-flex", alignItems: "center", gap: 6, padding: "0 28px", borderRight: "1px solid var(--line)", height: 32, whiteSpace: "nowrap" }}>
          {sym && <span style={{ color: "var(--accent)" }}>{sym}</span>}
          <span>{txt}</span>
        </span>
      ))}
    </React.Fragment>
  );

  return (
    <div style={{
      position: "relative", zIndex: 3,
      borderTop: "1px solid var(--line)",
      borderBottom: "1px solid var(--line)",
      background: "rgba(0,0,0,0.4)",
      overflow: "hidden",
      height: 32,
      display: "flex", alignItems: "center",
      maskImage: "linear-gradient(to right, transparent, #000 6%, #000 94%, transparent)",
      WebkitMaskImage: "linear-gradient(to right, transparent, #000 6%, #000 94%, transparent)",
    }}>
      <div ref={trackRef} style={{
        display: "flex", flexWrap: "nowrap", width: "max-content",
        fontFamily: "var(--font-mono)", fontSize: 11,
        letterSpacing: "0.18em", textTransform: "uppercase",
        color: "var(--fg-mute)",
        willChange: "transform",
      }}>
        <Row k="a"/>
        <Row k="b"/>
      </div>
    </div>
  );
};

/* ---------- Hero ---------- */
const Hero = () => {
  return (
    <section style={{ paddingTop: 120, paddingBottom: 80, overflow: "hidden" }}>
      <div className="container">
        <div style={{ display: "grid", gridTemplateColumns: "minmax(0, 1fr)", gap: 56 }}>
          {/* TOP: copy */}
          <div style={{ maxWidth: 980 }}>
            <div className="row gap-3" style={{ marginBottom: 24, flexWrap: "wrap" }}>
              <span className="tag accent"><span className="dot"></span>v3.4 · build 24102</span>
              <span className="tag"><Icon name="windows" size={11}/> Windows 10 / 11</span>
              <span className="tag"><Icon name="shield" size={11}/> Rollback nativo</span>
              <span className="tag"><Icon name="process" size={11}/> Performance Director</span>

            </div>

            <h1 style={{ maxWidth: 1100 }}>
              Seu PC não precisa ser novo.<br/>
              Ele precisa estar <span style={{ color: "var(--accent)", textShadow: "0 0 24px var(--accent-soft)" }}>limpo, leve</span> e<br/>
              <span style={{ color: "var(--accent)", textShadow: "0 0 24px var(--accent-soft)" }}>focado no jogo</span>.
            </h1>

            <p className="dim" style={{ marginTop: 28, fontSize: 19, lineHeight: 1.55, maxWidth: 720 }}>
              O <strong style={{ color: "var(--fg)" }}>Lina Optimizer</strong> vem com o <strong style={{ color: "var(--fg)" }}>Lina Performance Director</strong>: ele analisa o PC,
              ajusta a performance ao vivo e prepara o Windows para jogar com menos peso em segundo plano —
              com <span className="accent">rollback total</span> em um clique.
            </p>

            <div className="row gap-3" style={{ marginTop: 36, flexWrap: "wrap" }}>
              <a href="#simulador" className="btn btn-primary cut-corners">
                <Icon name="lightning" size={14}/> Quero otimizar meu PC
              </a>

            </div>
          </div>

          {/* BOTTOM: 3D perspective stack of windows */}
          <HeroMockup />
        </div>
      </div>
    </section>
  );
};

/* ---------- Hero mockup: 3 stacked windows in perspective ---------- */
const HeroMockup = () => {
  return (
    <div id="simulador" style={{ position: "relative", marginTop: 24, scrollMarginTop: 96 }}>
      {/* HUD bracket above */}
      <div className="row between" style={{ marginBottom: 14, fontFamily: "var(--font-mono)", fontSize: 10, color: "var(--fg-mute)", letterSpacing: "0.2em" }}>
        <span>// LINA_OPTIMIZER · LIVE PREVIEW</span>
        <span><span className="dot" style={{ color: "var(--accent)" }}></span> RUNTIME OK</span>
      </div>

      {/* Perspective stage */}
      <div style={{
        position: "relative",
        perspective: "2000px",
        height: 720,
        background: "radial-gradient(ellipse at 50% 30%, rgba(255,46,58,0.12), transparent 60%)",
      }}>
        {/* horizon line */}
        <svg width="100%" height="100%" style={{ position: "absolute", inset: 0, opacity: 0.5 }}>
          <defs>
            <pattern id="floorgrid" x="0" y="0" width="40" height="40" patternUnits="userSpaceOnUse">
              <path d="M 40 0 L 0 0 0 40" fill="none" stroke="var(--accent-soft)" strokeWidth="0.5"/>
            </pattern>
          </defs>
          <g style={{ transform: "perspective(800px) rotateX(60deg)", transformOrigin: "center bottom" }}>
            <rect x="0" y="60%" width="100%" height="40%" fill="url(#floorgrid)"/>
          </g>
        </svg>

        {/* Back-left small window: Diagnostic */}
        <div style={{
          position: "absolute",
          left: "-2%",
          top: "4%",
          width: "44%",
          transform: "rotateY(18deg) rotateX(2deg) translateZ(-100px)",
          transformStyle: "preserve-3d",
          opacity: 0.85,
          filter: "blur(0.4px)",
        }}>
          <SmallWindow title="diagnostico.exe" tab="DIAGNÓSTICO" content={
            <div style={{ padding: 14 }}>
              <div className="mono" style={{ fontSize: 9, color: "var(--fg-mute)", letterSpacing: "0.2em" }}>SYSTEM ANALYSIS</div>
              <div className="row between" style={{ marginTop: 8 }}>
                <span style={{ fontSize: 22, fontWeight: 700 }}>14<span className="dim" style={{ fontSize: 12, marginLeft: 4 }}>achados</span></span>
                <Icon name="search" size={14} style={{ color: "var(--accent)" }}/>
              </div>
              <div style={{ marginTop: 14, display: "flex", flexDirection: "column", gap: 8 }}>
                {[
                  ["CPU idle",  "12%",  "ok"],
                  ["RAM ocup.", "44%",  "ok"],
                  ["Startup",   "19 apps", "warn"],
                  ["Energia",   "Equilibrado", "warn"],
                ].map(([k,v,s], i) => (
                  <div key={i} className="row between" style={{ fontFamily: "var(--font-mono)", fontSize: 10 }}>
                    <span className="dim">{k}</span>
                    <span style={{ color: s === "ok" ? "var(--ok)" : "var(--warn)" }}>● {v}</span>
                  </div>
                ))}
              </div>
            </div>
          }/>
        </div>

        {/* Back-right small window: Power */}
        <div style={{
          position: "absolute",
          right: "-2%",
          top: "8%",
          width: "40%",
          transform: "rotateY(-22deg) rotateX(2deg) translateZ(-120px)",
          transformStyle: "preserve-3d",
          opacity: 0.85,
          filter: "blur(0.4px)",
        }}>
          <SmallWindow title="power_plan.exe" tab="LINA POWER" content={
            <div style={{ padding: 14 }}>
              <div className="mono" style={{ fontSize: 9, color: "var(--fg-mute)", letterSpacing: "0.2em" }}>POWER OUTPUT</div>
              <div style={{ display: "flex", alignItems: "baseline", gap: 6, marginTop: 6 }}>
                <span style={{ fontSize: 38, fontWeight: 800, color: "var(--accent)", textShadow: "0 0 16px var(--accent-soft)" }}>100</span>
                <span className="dim" style={{ fontSize: 12 }}>%</span>
              </div>
              <div style={{ marginTop: 12, display: "flex", flexDirection: "column", gap: 6 }}>
                <Bar value={100} sub="100%" color="var(--accent)" height={4}/>
                <Bar value={92}  sub="92%"  color="var(--accent)" height={4}/>
                <Bar value={78}  sub="78%"  color="var(--accent)" height={4}/>
              </div>
              <div className="row between" style={{ marginTop: 14, fontFamily: "var(--font-mono)", fontSize: 10 }}>
                <span className="dim">USB suspend</span>
                <span style={{ color: "var(--accent-text)" }}>OFF</span>
              </div>
              <div className="row between" style={{ marginTop: 6, fontFamily: "var(--font-mono)", fontSize: 10 }}>
                <span className="dim">PCIe</span>
                <span style={{ color: "var(--accent-text)" }}>MAX</span>
              </div>
            </div>
          }/>
        </div>

        {/* Front center: Main dashboard */}
        <div style={{
          position: "absolute",
          left: "50%",
          top: "0%",
          width: "min(900px, 78%)",
          transform: "translateX(-50%) rotateX(2deg)",
          transformStyle: "preserve-3d",
          boxShadow: "0 60px 120px -20px rgba(0,0,0,0.8), 0 0 60px -20px var(--accent-soft)",
        }}>
          <Dashboard initialTab="boost" autoRotate={true}/>
        </div>

        {/* Bottom-right floating chip badge */}
        <div style={{
          position: "absolute", bottom: "0%", right: "8%",
          padding: "10px 14px",
          background: "var(--bg-2)",
          border: "1px solid var(--accent)",
          fontFamily: "var(--font-mono)",
          fontSize: 11,
          letterSpacing: "0.1em",
          color: "var(--accent-text)",
          boxShadow: "var(--accent-glow)",
          animation: "float-y 4s ease-in-out infinite",
        }}>
          <span className="dot" style={{ color: "var(--accent)", marginRight: 6 }}></span>
          ROLLBACK ENABLED
        </div>
      </div>
    </div>
  );
};

const SmallWindow = ({ title, tab, content }) => (
  <div className="hud" style={{ width: "100%", boxShadow: "0 30px 60px -20px rgba(0,0,0,0.6)" }}>
    <div className="hud-titlebar">
      <div className="lights"><span></span><span></span><span></span></div>
      <span style={{ color: "var(--fg-dim)" }}>{title}</span>
    </div>
    <div style={{ padding: "8px 12px", borderBottom: "1px solid var(--line)", background: "var(--bg-2)", fontFamily: "var(--font-mono)", fontSize: 10, letterSpacing: "0.15em", color: "var(--accent-text)" }}>
      {tab}
    </div>
    <div style={{ background: "var(--bg-1)" }}>{content}</div>
  </div>
);

/* ---------- Section: Por que Lina é diferente ---------- */
const SectionDiferencial = () => {
  const common = [
    "Botões mágicos sem explicação",
    "Promessas exageradas (\"+300 FPS!\")",
    "Ajustes placebo invisíveis",
    "Difícil saber o que mudou",
    "Sem rollback ou rollback parcial",
    "Mesma receita pra qualquer hardware",
  ];
  const lina = [
    "Diagnóstico antes e depois real",
    "Cada ajuste explica: o quê, porquê, risco",
    "Otimizações marcadas por risco e impacto",
    "Rollback de 1 clique, sempre",
    "Foco no rotineiro do gamer",
    "Presets por perfil de uso",
  ];

  return (
    <section id="diferencial">
      <div className="container">
        <SectionHead
          id="// 02 · DIFERENCIAL"
          eyebrow="Otimização sem achismo"
          title='Por que o <span class="accent">Lina</span> é diferente?'
          lead="A maioria dos otimizadores promete o impossível e esconde o que faz. O Lina mostra cada mudança, explica por quê, e devolve o controle pra você."
        />

        <div style={{ display: "grid", gridTemplateColumns: "1fr 1fr", gap: 24 }}>
          {/* Otimizadores comuns */}
          <Brackets4 className="card" style={{ padding: 28, background: "linear-gradient(180deg, #14060a, #0a0a10)", borderColor: "var(--line-2)" }}>
            <div className="row between" style={{ marginBottom: 14 }}>
              <div>
                <div className="mono" style={{ fontSize: 10, color: "var(--fg-mute)", letterSpacing: "0.2em" }}>// PADRÃO</div>
                <h3 style={{ fontSize: 22, marginTop: 6 }}>Otimizadores comuns</h3>
              </div>
              <div className="tag bad">caixa-preta</div>
            </div>
            <div style={{ display: "flex", flexDirection: "column", gap: 12, marginTop: 16 }}>
              {common.map((c, i) => (
                <div key={i} className="row gap-3" style={{ padding: "10px 0", borderTop: "1px dashed var(--line)" }}>
                  <Icon name="x" size={16} style={{ color: "var(--bad)", flexShrink: 0 }}/>
                  <span style={{ fontSize: 14, color: "var(--fg-dim)" }}>{c}</span>
                </div>
              ))}
            </div>
          </Brackets4>

          {/* Lina */}
          <Brackets4 className="card" style={{ padding: 28, background: "linear-gradient(180deg, #1a070b, #0a0a10)", borderColor: "var(--accent)", boxShadow: "0 0 0 1px var(--accent-soft), 0 24px 48px -24px var(--accent-soft)" }}>
            <div className="row between" style={{ marginBottom: 14 }}>
              <div>
                <div className="mono" style={{ fontSize: 10, color: "var(--accent-text)", letterSpacing: "0.2em" }}>// LINA OPTIMIZER</div>
                <h3 style={{ fontSize: 22, marginTop: 6 }}>Performance com explicação</h3>
              </div>
              <div className="tag accent">transparente</div>
            </div>
            <div style={{ display: "flex", flexDirection: "column", gap: 12, marginTop: 16 }}>
              {lina.map((c, i) => (
                <div key={i} className="row gap-3" style={{ padding: "10px 0", borderTop: "1px dashed var(--line)" }}>
                  <Icon name="check" size={16} style={{ color: "var(--accent)", flexShrink: 0 }}/>
                  <span style={{ fontSize: 14, color: "var(--fg)" }}>{c}</span>
                </div>
              ))}
            </div>
          </Brackets4>
        </div>

        {/* Quote line */}
        <div className="row" style={{ justifyContent: "center", marginTop: 56, padding: "32px 24px", borderTop: "1px solid var(--line)", borderBottom: "1px solid var(--line)" }}>
          <div style={{ fontFamily: "var(--font-display)", fontSize: 24, fontWeight: 600, letterSpacing: "-0.02em", textAlign: "center", maxWidth: 800 }}>
            <span style={{ color: "var(--accent)" }}>“</span>Nada de botão mágico.<br/>
            <span className="accent glow-text">O Lina mostra o motivo.</span><span style={{ color: "var(--accent)" }}>”</span>
          </div>
        </div>
      </div>
    </section>
  );
};

Object.assign(window, { Logo, Navbar, StatusTicker, Hero, SectionDiferencial });
