    :root{
      --bg:#0b0f1a;
      --panel:#11172a;
      --panel2:#0f1424;
      --text:#eaf0ff;
      --muted:#a7b1d6;
      --line:rgba(255,255,255,.10);
      --accent:#7c5cff;
      --accent2:#22c55e;
      --danger:#ff4d6d;
      --radius:18px;
      --shadow: 0 20px 60px rgba(0,0,0,.35);
      --max:1100px;
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
      color:var(--text);
      background:
        radial-gradient(1200px 600px at 15% -10%, rgba(124,92,255,.35), transparent 60%),
        radial-gradient(900px 500px at 90% 10%, rgba(34,197,94,.18), transparent 55%),
        radial-gradient(900px 500px at 60% 120%, rgba(255,77,109,.10), transparent 55%),
        var(--bg);
      line-height:1.4;
    }
    a{color:inherit; text-decoration:none}
    .wrap{max-width:var(--max); margin:0 auto; padding:22px}
    .nav{
      position:sticky; top:0; z-index:50;
      backdrop-filter: blur(12px);
      background: linear-gradient(to bottom, rgba(11,15,26,.75), rgba(11,15,26,.35));
      border-bottom:1px solid var(--line);
    }
    .nav-inner{display:flex; align-items:center; justify-content:space-between; gap:14px}
    .brand{display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.2px}
    .logo{
      width:34px; height:34px; border-radius:10px;
      background: linear-gradient(135deg, rgba(124,92,255,1), rgba(34,197,94,1));
      box-shadow: 0 10px 30px rgba(124,92,255,.22);
    }
    .nav-links{display:flex; gap:14px; align-items:center; flex-wrap:wrap}
    .nav-links a{color:var(--muted); font-weight:600; font-size:14px}
    .nav-links a:hover{color:var(--text)}
    .btn{
      display:inline-flex; align-items:center; justify-content:center;
      gap:10px;
      padding:12px 14px;
      border-radius:14px;
      border:1px solid var(--line);
      background: rgba(255,255,255,.04);
      color:var(--text);
      font-weight:700;
      box-shadow: none;
      transition: transform .08s ease, background .2s ease, border-color .2s ease;
      white-space:nowrap;
    }
    .btn:hover{background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18)}
    .btn:active{transform: translateY(1px)}
    .btn.primary{
      background: linear-gradient(135deg, rgba(124,92,255,.95), rgba(124,92,255,.55));
      border-color: rgba(124,92,255,.65);
      box-shadow: 0 20px 40px rgba(124,92,255,.22);
    }
    .btn.green{
      background: linear-gradient(135deg, rgba(34,197,94,.90), rgba(34,197,94,.45));
      border-color: rgba(34,197,94,.6);
      box-shadow: 0 20px 40px rgba(34,197,94,.16);
    }
    .btn.small{padding:10px 12px; font-size:14px; border-radius:12px}
    .hero{
      padding:46px 0 18px;
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:18px;
      align-items:stretch;
    }
    @media (max-width: 900px){
      .hero{grid-template-columns:1fr; padding-top:28px}
    }
    .card{
      background: linear-gradient(180deg, rgba(17,23,42,.80), rgba(17,23,42,.55));
      border:1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      overflow:hidden;
    }
    .hero-left{padding:28px}
    h1{
      margin:0 0 10px;
      font-size: clamp(28px, 4vw, 44px);
      letter-spacing:-.5px;
      line-height:1.1;
    }
    .lead{color:var(--muted); margin:0 0 18px; font-size:16px}
    .pill-row{display:flex; gap:10px; flex-wrap:wrap; margin:14px 0 18px}
    .pill{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background: rgba(255,255,255,.03);
      color:var(--muted);
      font-weight:700;
      font-size:13px;
    }
    .cta-row{display:flex; gap:10px; flex-wrap:wrap}
    .hero-right{
      padding:18px;
      display:flex; flex-direction:column; gap:12px;
    }
    .mini{
      padding:16px;
      background: linear-gradient(180deg, rgba(15,20,36,.85), rgba(15,20,36,.55));
      border:1px solid var(--line);
      border-radius: 16px;
    }
    .mini h3{margin:0 0 8px; font-size:16px}
    .mini p{margin:0; color:var(--muted); font-size:14px}
    .grid3{display:grid; grid-template-columns: repeat(3, 1fr); gap:12px}
    @media (max-width: 900px){ .grid3{grid-template-columns:1fr} }
    .section{padding:20px 0}
    .section h2{margin:0 0 10px; font-size:22px}
    .muted{color:var(--muted)}
    .feature{
      padding:18px;
      border-radius:16px;
      border:1px solid var(--line);
      background: rgba(255,255,255,.03);
      min-height:140px;
    }
    .feature b{display:block; margin-bottom:6px; font-size:15px}
    .kicker{font-weight:800; color:rgba(255,255,255,.86); font-size:13px; letter-spacing:.25px}
    .videos{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:12px;
    }
    @media (max-width: 900px){ .videos{grid-template-columns:1fr} }
    .video{
      display:flex; flex-direction:column; gap:10px;
      padding:14px;
      border:1px solid var(--line);
      border-radius:16px;
      background: rgba(255,255,255,.03);
    }
    .thumb{
      aspect-ratio: 16/9;
      width:100%;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.10);
      background:
        radial-gradient(600px 200px at 20% 30%, rgba(124,92,255,.30), transparent 60%),
        radial-gradient(400px 180px at 80% 70%, rgba(34,197,94,.18), transparent 60%),
        rgba(255,255,255,.02);
      display:flex; align-items:center; justify-content:center;
      color:rgba(255,255,255,.65);
      font-weight:800;
      letter-spacing:.2px;
    }
    .video h3{margin:0; font-size:16px}
    .video p{margin:0; color:var(--muted); font-size:14px}
    details{
      border:1px solid var(--line);
      border-radius:16px;
      background: rgba(255,255,255,.03);
      padding:14px;
    }
    details + details{margin-top:10px}
    summary{cursor:pointer; font-weight:800}
    .footer{
      padding:26px 0 40px;
      border-top:1px solid var(--line);
      margin-top:10px;
      color:var(--muted);
      font-size:14px;
    }
    .footer-row{display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap}
    .small-note{font-size:12px; color:rgba(167,177,214,.85)}
    .input-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
    input{
      flex:1;
      min-width: 220px;
      padding:12px 12px;
      border-radius:14px;
      border:1px solid var(--line);
      background: rgba(0,0,0,.20);
      color:var(--text);
      outline:none;
    }
    input::placeholder{color:rgba(167,177,214,.65)}
    .badge{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 10px;
      border-radius:14px;
      background: rgba(0,0,0,.25);
      border:1px solid var(--line);
      color:rgba(234,240,255,.85);
      font-weight:800;
      font-size:13px;
    }
    /* Logo img (tu HTML lo usa pero no existe la clase) */
.logo-img{
  width:34px; height:34px;
  border-radius:10px;
  object-fit: cover;
  border:1px solid var(--line);
  box-shadow: 0 10px 30px rgba(124,92,255,.18);
}

/* Generador */
.gen{
  padding:18px;
}
.gen h2{margin:0 0 8px; font-size:22px}
.gen .muted{margin:0 0 14px}
.gen-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
}
@media (min-width: 900px){
  .gen-grid{grid-template-columns: 1.1fr .9fr;}
}
.gen-panel{
  padding:16px;
  border-radius:16px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
}
.gen-row2{display:grid; grid-template-columns:1fr 1fr; gap:10px}
@media (max-width: 520px){ .gen-row2{grid-template-columns:1fr} }
.gen-select, .gen-number, .gen-range{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(0,0,0,.20);
  color: var(--text);
  outline:none;
}
.gen-range{padding:10px 12px}
.gen-meta{
  display:flex; gap:10px; flex-wrap:wrap; align-items:center;
  margin-top:10px;
}
.gen-pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(0,0,0,.22);
  color: rgba(234,240,255,.88);
  font-weight:800;
  font-size:13px;
}
.gen-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
.thumb{ padding:0; overflow:hidden; }
.thumb img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:14px; }

