/* Glitch Text Lab v2 — polished dark neon (preview copy, 2026-11-01).
   Same HTML/JS as v1: only this stylesheet changes. No external requests,
   so the site stays fast and fully offline-capable. Neon is restrained:
   glow on the brand, tool panel and primary button only — never on body
   text, so long reading stays comfortable. */
:root{
  --bg:#07070d; --panel:#12121f; --panel2:#191930; --text:#f4f4fa; --muted:#a9a9c4;
  --accent:#c084fc; --accent2:#22d3ee; --accent3:#f472b6; --border:#2c2c4a; --ok:#34d399;
  --glow:0 0 0 1px rgba(34,211,238,.12), 0 18px 50px -18px rgba(168,85,247,.45);
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.65}
/* Faint ambient glow, fixed so it never scrolls messily behind text. */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(560px 260px at 12% -4%, rgba(34,211,238,.14), transparent 70%),
             radial-gradient(560px 260px at 88% -4%, rgba(244,114,182,.12), transparent 70%);}
body > *{position:relative;z-index:1}
a{color:var(--accent2)}
header.site{background:rgba(18,18,31,.88);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:.9rem 1rem;position:sticky;top:0;z-index:10}
header.site nav{max-width:1120px;margin:0 auto;display:flex;gap:1.4rem;flex-wrap:wrap;align-items:center}
header.site .brand{font-weight:800;font-size:1.2rem;letter-spacing:.01em;color:var(--text);text-decoration:none;
  background:linear-gradient(90deg,#e9d5ff,#67e8f9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* The only RGB-split moment: a subtle glitch flicker on brand hover. */
header.site .brand:hover{text-shadow:2px 0 rgba(34,211,238,.55), -2px 0 rgba(244,114,182,.55);-webkit-text-fill-color:var(--text)}
header.site nav a.nl{color:var(--muted);text-decoration:none;font-weight:600}
header.site nav a.nl:hover{color:var(--text)}
main{max-width:1120px;margin:0 auto;padding:2.5rem 1.25rem 4rem}
h1{font-size:clamp(2.1rem,4.5vw,3.1rem);line-height:1.12;letter-spacing:-.02em;margin:.4rem 0 1rem}
h2{margin-top:2.6rem;letter-spacing:-.01em}
.hero{padding:1.25rem 0 .75rem;max-width:56rem}
.hero p.lead{font-size:1.22rem;color:var(--muted);max-width:46rem;line-height:1.6}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin:2rem 0}
.card{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent),var(--panel);border:1px solid var(--border);border-radius:16px;padding:1.5rem;text-decoration:none;color:var(--text);display:block;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--glow)}
.card h3,.card h2{margin:.2rem 0 .5rem;font-size:1.25rem}
.card p{color:var(--muted);margin:0}
.tool{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent),var(--panel);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:var(--glow)}
.tool label{display:block;font-weight:600;margin:.7rem 0 .35rem}
textarea{width:100%;min-height:120px;background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:.9rem;font:inherit;resize:vertical;line-height:1.7}
textarea[readonly]{min-height:140px}
textarea:focus{outline:none;border-color:var(--accent2);box-shadow:0 0 0 3px rgba(34,211,238,.18)}
.controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin:.9rem 0}
.controls .group{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
input[type=range]{accent-color:var(--accent);width:220px}
button{font:inherit;cursor:pointer;border-radius:10px;border:1px solid var(--border);background:var(--panel2);color:var(--text);padding:.6rem 1.15rem;font-weight:600}
button:hover{border-color:var(--accent)}
button.primary,.copy-btn{background:linear-gradient(90deg,#a855f7,#22d3ee);color:#fff;border:none;font-weight:700;box-shadow:0 8px 24px -10px rgba(168,85,247,.7)}
button.copied{background:var(--ok)!important}
.presets button.active{border-color:var(--accent2);color:#fff}
.meta{color:var(--muted);font-size:.9rem}
.style-row{display:flex;gap:.8rem;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:.9rem 1.1rem;margin:.65rem 0;flex-wrap:wrap}
.style-label{font-weight:700;min-width:150px}
.style-value{flex:1;word-break:break-all;font-size:1.08rem}
section.content{max-width:52rem}
.faq details{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:.9rem 1.1rem;margin:.65rem 0}
.faq summary{font-weight:700;cursor:pointer}
.ad-slot{border:1px dashed var(--border);color:var(--muted);text-align:center;padding:1.2rem;margin:2rem 0;border-radius:12px;font-size:.9rem}
footer.site{border-top:1px solid var(--border);background:var(--panel);padding:1.75rem 1.25rem;color:var(--muted)}
footer.site .in{max-width:1120px;margin:0 auto;display:flex;gap:1.5rem;flex-wrap:wrap}
@media(max-width:640px){main{padding:1.5rem 1rem 3rem}.style-label{min-width:110px}.tool{padding:1.1rem}}
