/* Cruto · web pública (landing y páginas de producto). Lo común a todo está en estilo.css. */
section{padding:72px 0 0}
.h2{font:800 clamp(30px,4.6vw,48px)/1.02 var(--display);letter-spacing:-.04em;margin:14px 0 0;text-wrap:balance}
.sub{color:var(--muted);font-size:18px;max-width:58ch;margin:14px 0 0;text-wrap:pretty}

/* Portada */
.hero{padding:56px 0 0;display:grid;gap:40px}
@media (min-width:960px){.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;padding-top:80px}}
.hero h1{font:800 clamp(44px,7.6vw,88px)/.94 var(--display);letter-spacing:-.055em;margin:18px 0 0;text-wrap:balance}
.hero h1 .serif{font-size:1.06em;letter-spacing:-.03em;color:var(--acc-txt)}
.hero p{color:var(--muted);font-size:clamp(17px,2vw,19px);max-width:52ch;margin:20px 0 0;text-wrap:pretty}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.micro{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px;color:var(--dim);font-size:14px}
.micro span{display:inline-flex;align-items:center;gap:7px}
.micro svg{width:15px;height:15px;color:var(--acc-txt)}

/* Demo animada de la línea de tiempo (ilustración del producto) */
.demo{padding:18px;display:grid;gap:14px}
.demo-top{display:flex;align-items:center;gap:10px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.demo-top b{color:var(--ink);font-weight:500}
.demo-top .pt{margin-left:auto;display:flex;gap:6px}
.demo-top .pt i{width:9px;height:9px;border-radius:50%;background:var(--line2)}
.pantalla{aspect-ratio:16/10;border-radius:14px;background:linear-gradient(160deg,#1C2540,#0C1224);position:relative;overflow:hidden}
.pantalla .persona{position:absolute;left:50%;bottom:0;width:42%;aspect-ratio:1/1.15;transform:translateX(-50%);transform-origin:50% 30%}
.pantalla .cabeza{position:absolute;left:50%;top:0;width:44%;aspect-ratio:1;border-radius:50%;transform:translateX(-50%);background:#d9c6ad}
.pantalla .cuerpo{position:absolute;left:0;right:0;bottom:0;height:52%;border-radius:48% 48% 0 0;background:#3a4a5c}
.pantalla .sub-demo{position:absolute;left:0;right:0;bottom:16%;text-align:center;font:900 clamp(16px,2.4vw,24px)/1 Montserrat,var(--display);color:#fff;-webkit-text-stroke:1px #000;paint-order:stroke;text-shadow:0 2px 8px rgba(0,0,0,.6);z-index:2}
.pantalla .sub-demo em{font-style:normal;color:#FFE14D}
.pantalla .mg-demo{position:absolute;top:12%;right:10%;font:800 clamp(18px,2.6vw,28px)/1 var(--display);color:#fff;background:var(--acc);padding:6px 12px;border-radius:10px;transform:rotate(-3deg);z-index:2;box-shadow:0 8px 20px -8px rgba(0,0,0,.6)}
.pantalla .rec{position:absolute;top:12px;left:12px;font:500 11px var(--mono);color:#f3f0e8;display:flex;align-items:center;gap:6px;letter-spacing:.08em}
.pantalla .rec::before{content:"";width:8px;height:8px;border-radius:50%;background:#ff5a36}

.pista{display:flex;align-items:center;height:64px;border-radius:12px;background:var(--bg2);padding:0 10px;overflow:hidden;gap:0}
.bloque{display:flex;align-items:center;gap:3px;height:100%;flex:none}
.bloque i{width:3px;border-radius:2px;background:var(--keep);opacity:.9}
.hueco{height:100%;flex:none;display:flex;align-items:center;justify-content:center;background:var(--cut-soft);border-left:1.5px dashed var(--cut);border-right:1.5px dashed var(--cut);overflow:hidden;animation:cerrar 6s infinite ease-in-out}
.hueco::after{content:"";width:60%;height:2px;background:var(--cut);opacity:.6}
@keyframes cerrar{0%,30%{width:var(--w);opacity:1;margin:0 4px}55%,100%{width:0;opacity:0;margin:0;border-width:0}}
.demo-pie{display:flex;justify-content:space-between;font:500 13px var(--mono);color:var(--dim)}
.demo-pie b{color:var(--acc-txt);font-weight:500}
@media (prefers-reduced-motion:reduce){.hueco,.pantalla .persona{animation:none}}

/* Antes y después */
.demo-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.demo-tabs button{border:1px solid var(--line2);background:transparent;color:var(--muted);border-radius:99px;padding:7px 14px;font:500 14px var(--f);cursor:pointer}
.demo-tabs button[aria-selected="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.antes-despues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;max-width:560px}
.antes-despues figure{margin:0;display:grid;gap:8px}
.antes-despues figcaption{font:600 14px var(--f);display:flex;justify-content:space-between;color:var(--muted)}
.antes-despues .despues figcaption{color:var(--acc-txt)}
.antes-despues video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:16px;background:#000;box-shadow:var(--shadow)}
.antes-despues .despues video{outline:2px solid var(--acc);outline-offset:3px}
.demo-datos{display:flex;flex-wrap:wrap;gap:8px 22px;margin:18px 0 12px;font:500 13px var(--mono);color:var(--muted)}
.demo-datos b{color:var(--ink);font-weight:500}

/* Pasos */
.pasos{display:grid;gap:14px;margin-top:36px}
@media (min-width:820px){.pasos{grid-template-columns:repeat(3,minmax(0,1fr))}}
.paso{padding:22px;display:grid;gap:10px;align-content:start}
.paso .n{font:500 13px var(--mono);color:var(--acc-txt)}
.paso b{font-size:20px;letter-spacing:-.02em}
.paso p{margin:0;color:var(--muted)}

/* Funciones */
.fxs{display:grid;gap:12px;margin-top:32px}
@media (min-width:640px){.fxs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.fxs{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fx{padding:20px;display:grid;gap:8px;align-content:start;border-top:3px solid var(--acc)}
.fx b{font:700 18px/1.2 var(--display);letter-spacing:-.02em}
.fx p{margin:0;color:var(--muted);font-size:15px}

/* Ventajas */
.vent{display:grid;gap:14px;margin-top:36px}
@media (min-width:720px){.vent{grid-template-columns:repeat(2,minmax(0,1fr))}}
.v{padding:24px;display:grid;gap:10px;align-content:start}
.v .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--acc-soft);color:var(--acc-txt)}
.v .ic svg{width:20px;height:20px}
.v b{font-size:19px;letter-spacing:-.02em}
.v p{margin:0;color:var(--muted)}
@media (min-width:720px){.v.grande{grid-column:1/-1}}
.v.grande{background:var(--acc);color:var(--acc-ink);border-color:transparent}
.v.grande p{color:var(--acc-ink);opacity:.78}
.v.grande .ic{background:rgba(0,0,0,.1);color:var(--acc-ink)}

/* Próximamente */
.prox{display:grid;gap:10px;margin-top:32px}
@media (min-width:720px){.prox{grid-template-columns:repeat(2,minmax(0,1fr))}}
.px{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px dashed var(--line2);border-radius:16px}
.px .est{font:500 11px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line2);border-radius:99px;padding:3px 9px;white-space:nowrap;margin-left:auto}
.px b{display:block}
.px span{color:var(--muted);font-size:15px}

/* Precios */
.planes{display:grid;gap:14px;margin-top:36px}
@media (min-width:720px){.planes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.planes{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}}
.anual{margin:-8px 0 0;font-size:13px;color:var(--dim)}
.nota-precios{margin:18px 0 0;font-size:14px}
.plan{padding:26px;display:grid;gap:16px;align-content:start;position:relative}
.plan.dest{border:1.5px solid var(--acc-txt)}
.plan .eti{justify-self:start}
.plan h3{margin:0;font:700 22px var(--f);letter-spacing:-.02em}
.precio{display:flex;align-items:baseline;gap:6px}
.precio b{font:800 46px/1 var(--display);letter-spacing:-.04em}
.precio span{color:var(--dim)}
.plan ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.plan li{display:flex;gap:10px;color:var(--muted)}
.plan li svg{width:17px;height:17px;flex:none;margin-top:3px;color:var(--acc-txt)}
.plan .btn{width:100%;margin-top:auto}

/* Barra de anuncio */
.anuncio{display:block;background:var(--ink);color:var(--bg);text-align:center;font-size:14px;padding:9px 16px;text-decoration:none}
.anuncio b{font-weight:600}
.anuncio span{opacity:.75;margin-left:6px;white-space:nowrap}
.anuncio:hover span{opacity:1}

/* Galería de estilos (dibujada en vivo con el mismo motor del editor) */
.galeria{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,210px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;margin-top:28px;scrollbar-width:thin}
.est{scroll-snap-align:start;display:grid;gap:10px}
.est canvas{width:100%;aspect-ratio:9/16;border-radius:16px;display:block;background:#111}
.est-pie{display:flex;justify-content:space-between;align-items:center;gap:8px}
.est-pie b{font-size:15px}
.est-pie a{font:500 12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--acc-txt);text-decoration:none;white-space:nowrap}
.est-pie a:hover{text-decoration:underline}
.gal-t{margin:34px 0 0;font:600 15px var(--f);color:var(--muted)}

/* Comparativa */
.compara{margin-top:32px;overflow-x:auto}
.compara table{width:100%;border-collapse:collapse;min-width:560px;font-size:15px}
.compara th,.compara td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}
.compara th{font:500 12px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--dim)}
.compara td:first-child{color:var(--ink);font-weight:600}
.compara td{color:var(--muted)}
.compara .si{color:var(--ink)}
.compara .si::before{content:"✓ ";color:var(--acc-txt);font-weight:700}

/* Precios: interruptor y distintivo */
.cab-precios{display:flex;flex-wrap:wrap;gap:16px;align-items:end;justify-content:space-between}
.plan .rec{position:absolute;top:-12px;right:20px;background:var(--acc);color:var(--acc-ink);font:500 11px var(--mono);letter-spacing:.07em;text-transform:uppercase;padding:5px 10px;border-radius:99px}
.garantias{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:20px;color:var(--muted);font-size:14px}
.garantias span{display:inline-flex;gap:7px;align-items:center}
.garantias svg{width:15px;height:15px;color:var(--acc-txt)}
.msg-p{margin:14px 0 0;font-size:15px;color:var(--cut);min-height:1.3em}

/* CTA fijo en móvil */
.cta-movil{position:fixed;left:12px;right:12px;bottom:12px;z-index:30;display:flex;gap:10px;align-items:center;padding:10px 10px 10px 16px;border-radius:16px;background:var(--panel);border:1px solid var(--line2);box-shadow:0 16px 40px -12px rgba(0,0,0,.45);transform:translateY(140%);transition:transform .3s ease}
.cta-movil.ver{transform:none}
.cta-movil span{font-size:14px;color:var(--muted);flex:1;line-height:1.25}
.cta-movil span b{color:var(--ink);display:block}
@media (min-width:820px){.cta-movil{display:none}}
@media (prefers-reduced-motion:reduce){.cta-movil{transition:none}}

/* Cinta de funciones (se mueve sola) y cifras */
.cinta{margin-top:56px;overflow:hidden;border-block:1px solid var(--line);padding:14px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cinta-in{display:flex;gap:10px;width:max-content;animation:cinta 40s linear infinite}
.cinta-in span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font:500 14px var(--f);color:var(--muted);padding:7px 14px;border:1px solid var(--line);border-radius:99px;background:var(--panel)}
.cinta-in span i{width:6px;height:6px;border-radius:50%;background:var(--acc)}
@keyframes cinta{to{transform:translateX(-50%)}}
.cifras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
@media (min-width:820px){.cifras{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cifra{padding:18px 20px;display:grid;gap:4px}
.cifra b{font:800 40px/1 var(--display);letter-spacing:-.04em;color:var(--acc-txt)}
.cifra span{color:var(--muted);font-size:14px}

/* Insignias y enlaces de las tarjetas de funciones */
.fx-cab{display:flex;justify-content:space-between;align-items:start;gap:8px}
.insignia{font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:99px;white-space:nowrap;border:1px solid var(--line2);color:var(--muted)}
.insignia.nuevo{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.insignia.ia{color:var(--idea);border-color:color-mix(in srgb,var(--idea) 45%,transparent)}
.fx .ir{margin-top:4px;font:500 13px var(--mono);letter-spacing:.04em;color:var(--acc-txt);text-decoration:none}
.fx .ir:hover{text-decoration:underline}
.fx{transition:transform .2s,border-color .2s}
.fx:hover{transform:translateY(-3px)}

/* Pestañas (estilos y presets) */
.pestanas{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--panel);margin-top:26px;flex-wrap:wrap}
.pestanas button{border:0;background:transparent;color:var(--muted);font:600 14px var(--f);padding:8px 16px;border-radius:999px;cursor:pointer}
.pestanas button[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.est .top{position:absolute;margin:10px;font:500 10px var(--mono);letter-spacing:.07em;text-transform:uppercase;background:var(--acc);color:#fff;padding:3px 8px;border-radius:99px}
.est{position:relative}

/* Presets por tipo de creador */
.caso{margin-top:22px;padding:22px;display:grid;gap:22px;align-items:center}
@media (min-width:820px){.caso{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}}
.caso h3{margin:0;font:700 26px/1.1 var(--display);letter-spacing:-.03em}
.caso p{margin:10px 0 0;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 20px}
.chips span{font:500 13px var(--f);padding:6px 12px;border-radius:99px;background:var(--acc-soft);color:var(--acc-txt)}
.caso canvas{width:100%;max-width:240px;aspect-ratio:9/16;border-radius:18px;justify-self:center;display:block}

/* Comparar planes */
.comparar{margin-top:22px;max-width:none}
.comparar table{width:100%;border-collapse:collapse;min-width:640px;font-size:14px}
.comparar .tabla{overflow-x:auto;padding-bottom:18px}
.comparar th,.comparar td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line)}
.comparar th{font:500 12px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--dim)}
.comparar td{color:var(--muted)} .comparar td:first-child{color:var(--ink)}
.comparar .no{color:var(--dim)}
.ahorro{color:var(--ok);font-weight:600}

/* Pie con columnas */
.pie2{border-top:1px solid var(--line);margin-top:80px;padding:44px 0 36px;color:var(--dim);font-size:14px}
.pie2 .cols{display:grid;gap:28px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:820px){.pie2 .cols{grid-template-columns:1.4fr repeat(3,minmax(0,1fr))}}
.pie2 h4{margin:0 0 12px;font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.pie2 a{display:block;color:var(--muted);text-decoration:none;padding:4px 0}
.pie2 a:hover{color:var(--ink)}
.pie2 .marca{display:flex;font-size:20px;color:var(--ink);padding:0}
.pie2 .marca img{width:24px;height:24px}
.pie2 .bajo{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:36px;padding-top:20px;border-top:1px solid var(--line)}
@media (max-width:819px){.pie2{padding-bottom:96px}}

/* Aparecer al hacer scroll */
.js .rev{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js .rev.visto{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.cinta-in{animation:none}.js .rev{opacity:1;transform:none;transition:none}}

/* Lista de espera */
.lista{margin-top:28px;padding:26px;display:grid;gap:18px}
@media (min-width:900px){.lista{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center}}
.lista h3{margin:0;font:700 24px/1.15 var(--f);letter-spacing:-.02em}
.lista p{margin:8px 0 0;color:var(--muted)}
form.f{display:grid;gap:12px}
.fila-f{display:flex;gap:10px;flex-wrap:wrap}
.fila-f input[type=email]{flex:1 1 220px;min-width:0}
input[type=email],select{border:1px solid var(--line2);background:var(--bg2);color:var(--ink);border-radius:12px;padding:13px 14px;font:16px var(--f)}
input[type=email]:focus,select:focus{border-color:var(--acc-txt);outline:none}
.ok-c{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.ok-c input{width:18px;height:18px;margin-top:2px;accent-color:var(--acc-txt);flex:none}
.ok-c a{color:var(--ink)}
.msg{font-size:15px;min-height:1.3em;margin:0}
.msg.err{color:var(--cut)} .msg.ok{color:var(--ok)}

/* Preguntas */
.faq{margin-top:28px;display:grid;gap:10px;max-width:820px}
details{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:0 20px}
summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;display:flex;gap:12px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";margin-left:auto;font:400 22px/1 var(--f);color:var(--dim);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:0 0 18px;color:var(--muted)}

.final{margin-top:88px;padding:48px 24px;text-align:center;display:grid;justify-items:center;gap:14px;border-radius:24px;background:var(--acc);color:var(--acc-ink)}
.final h2{font:800 clamp(32px,5vw,56px)/1 var(--display);letter-spacing:-.045em;margin:0;text-wrap:balance}
.final p{margin:0;opacity:.75;max-width:48ch}
.final .btn{background:var(--acc-ink);color:var(--acc)}
.autor{margin-top:56px;display:flex;gap:14px;align-items:center;color:var(--muted);font-size:15px;flex-wrap:wrap}
.autor a{color:var(--ink)}

/* Cabecera de las páginas interiores */
.cab-pag{padding:56px 0 0;max-width:760px}
.cab-pag h1{font:800 clamp(40px,6.4vw,72px)/.96 var(--display);letter-spacing:-.05em;margin:16px 0 0;text-wrap:balance}
.cab-pag p{color:var(--muted);font-size:clamp(17px,2vw,19px);margin:18px 0 0;max-width:58ch}
.mas{margin-top:22px;display:inline-flex}
.nav-l a[aria-current="page"]{color:var(--ink);background:var(--panel2)}
.banda{margin-top:72px;padding:28px;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between}
.banda b{font:800 clamp(24px,3vw,32px)/1.1 var(--display);letter-spacing:-.03em}
.banda p{margin:6px 0 0;color:var(--muted)}
.banda .ctas{margin:0}

/* Menú en móvil */
.menu-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.menu-btn svg{width:18px;height:18px}
.menu-movil{border-top:1px solid var(--line);background:var(--bg);box-shadow:0 20px 40px -20px rgba(0,0,0,.35)}
.nav .menu-movil .w{display:grid;height:auto;gap:0;padding-top:8px;padding-bottom:12px}
.menu-movil a{padding:12px 4px;font:600 17px var(--f);text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}
.menu-movil a:last-child{border-bottom:0}
@media (min-width:820px){.menu-btn,.menu-movil{display:none!important}}
@media (max-width:819px){#nav-cuenta{display:none}}
@media (max-width:400px){.nav .tema{display:none}.nav .w{gap:10px}}
.hero>*,.demo,.pista{min-width:0}
.mas{white-space:normal;text-align:center;max-width:100%}

/* ---------- Estudio: menú de herramientas ---------- */
.nav-l{gap:2px}
.nav-l a{font-size:14.5px;padding:6px 10px;white-space:nowrap}
.pronto{font:500 9.5px var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line2);border-radius:99px;padding:1px 5px;margin-left:6px;vertical-align:2px}
@media (min-width:820px) and (max-width:1179px){.nav-l{display:none}.menu-btn,.menu-movil{display:grid!important}.menu-movil[hidden]{display:none!important}}
@media (min-width:1180px){.menu-btn,.menu-movil{display:none!important}}
.h1-pag{font:800 clamp(40px,6.4vw,72px)/.96 var(--display);letter-spacing:-.05em;margin:16px 0 0;text-wrap:balance}
.precios-pag{padding-top:56px}
.cab-pag .ctas{margin-top:24px}

/* Tarjetas de herramientas (portada) */
.herrs{display:grid;gap:12px;margin-top:30px}
@media (min-width:640px){.herrs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.herrs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.herr{padding:22px;display:grid;gap:8px;align-content:start;text-decoration:none;color:var(--ink);transition:transform .2s,border-color .2s;min-height:170px}
.herr:hover{transform:translateY(-3px);border-color:var(--acc-txt)}
.herr .insignia{justify-self:start}
.herr b{font:700 22px/1.15 var(--display);letter-spacing:-.02em}
.herr span:not(.insignia){color:var(--muted);font-size:15px}
.herr i{font:500 13px var(--mono);font-style:normal;color:var(--acc-txt);margin-top:auto}

/* Generadores (imágenes y audio) */
.gen{margin-top:36px;padding:22px;display:grid;gap:22px}
@media (min-width:960px){.gen{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.gen-form{display:grid;gap:12px}
.gen-l{font-weight:600}
.gen textarea{width:100%;border:1px solid var(--line2);background:var(--bg2);color:var(--ink);border-radius:14px;padding:14px;font:16px/1.5 var(--f);resize:vertical}
.gen textarea:focus,.gen select:focus{border-color:var(--acc-txt);outline:none}
.gen select{border:1px solid var(--line2);background:var(--bg2);color:var(--ink);border-radius:12px;padding:10px 12px;font:15px var(--f);min-width:0;flex:1 1 200px}
.gen-fila{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.gen-fila .btn-a{margin-left:auto}
.gen-cont{font:500 13px var(--mono);color:var(--dim)}
.gen-cuota{margin:0;font-size:13px;color:var(--dim);min-height:1.2em}
.gen-cuota a{color:var(--acc-txt)}
.seg{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--bg2)}
.seg button{border:0;background:transparent;color:var(--muted);font:500 13px var(--mono);padding:7px 11px;border-radius:9px;cursor:pointer}
.seg button[aria-checked="true"]{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}
.gen-res{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-height:220px;border:1px dashed var(--line2);border-radius:16px;padding:12px}
.gen-res.lista{grid-template-columns:1fr}
.gen-vacio{grid-column:1/-1;margin:auto;color:var(--dim);text-align:center}
.gen-item{display:grid;gap:8px;align-content:start}
.gen-item img{width:100%;border-radius:12px;display:block;background:var(--bg2)}
.gen-item audio{width:100%}
.gen-item .fila{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}
.gen-item.cargando{aspect-ratio:9/16;border-radius:12px;background:linear-gradient(90deg,var(--bg2),var(--panel2),var(--bg2));background-size:200% 100%;animation:brillo 1.2s linear infinite;display:grid;place-items:center;color:var(--dim);font-size:13px}
.gen-res.lista .gen-item.cargando{aspect-ratio:auto;height:90px}
@keyframes brillo{to{background-position:-200% 0}}
.gen-aviso{padding:14px;border-radius:14px;background:var(--acc-soft);display:grid;gap:10px}
.gen-aviso p{margin:0}
.gen-aviso form{display:flex;gap:8px;flex-wrap:wrap}
.gen-aviso .err{color:var(--cut)}
.ideas-gen{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.ideas-gen button{border:1px solid var(--line2);background:var(--panel);color:var(--muted);border-radius:12px;padding:10px 14px;font:14px var(--f);cursor:pointer;text-align:left;max-width:100%}
.ideas-gen button:hover{color:var(--ink);border-color:var(--acc-txt)}

/* Aviso de "pronto" */
.lista-av{margin-top:10px;padding:24px;display:grid;gap:16px}
@media (min-width:900px){.lista-av{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center}}
.lista-av b{font:700 24px/1.2 var(--display);letter-spacing:-.02em}
.lista-av p{margin:6px 0 0;color:var(--muted)}
.av-form{display:flex;flex-wrap:wrap;gap:10px}
.av-ok{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--muted);width:100%}
.av-ok input{margin-top:2px;accent-color:var(--acc-txt)}
.av-ok a{color:var(--ink)}
.av-form .msg{width:100%;margin:0}

/* Afiliados */
.tramos{display:grid;gap:12px;margin-top:28px;grid-template-columns:repeat(3,minmax(0,1fr))}
.tramo{padding:22px;display:grid;gap:6px}
.tramo b{font:800 clamp(34px,5vw,54px)/1 var(--display);letter-spacing:-.04em;color:var(--acc-txt)}
.tramo span{color:var(--muted);font-size:14px}
.tramo.dest{border:1.5px solid var(--acc-txt)}
.af-panel{margin-top:22px;padding:24px;display:grid;gap:18px}
.af-panel h3{margin:0;font:700 22px var(--f);letter-spacing:-.02em}
.af-panel p{margin:0;color:var(--muted)}
.af-panel form{display:grid;gap:12px;max-width:560px}
.af-panel label{display:grid;gap:6px;font-weight:600;font-size:14px}
.af-panel input[type=text]{border:1px solid var(--line2);background:var(--bg2);color:var(--ink);border-radius:12px;padding:12px 14px;font:16px var(--f)}
.af-enlace{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--bg2);font:500 15px var(--mono);word-break:break-all}
.af-enlace span{flex:1 1 200px}
.af-datos{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:820px){.af-datos{grid-template-columns:repeat(4,minmax(0,1fr))}}
.af-dato{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:4px}
.af-dato b{font:800 28px/1 var(--display);letter-spacing:-.03em}
.af-dato span{font-size:13px;color:var(--muted)}
.af-tabla{width:100%;border-collapse:collapse;font-size:14px}
.af-tabla th,.af-tabla td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--line)}
.af-tabla th{font:500 11px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--dim)}
.msg{font-size:15px;min-height:1.3em;margin:0}
.msg.err{color:var(--cut)} .msg.ok{color:var(--ok)}
.gen>*,.gen-form>*{min-width:0}.gen select{max-width:100%}

/* Desde 0 y Orador */
.dc{margin-top:36px;padding:22px;display:grid;gap:18px}
.dc-estilos{display:grid;gap:10px}
@media (min-width:640px){.dc-estilos{grid-template-columns:1fr 1fr}}
.dc-est{position:relative;display:grid;gap:4px;padding:16px;border:1.5px solid var(--line2);border-radius:14px;cursor:pointer;background:var(--bg2)}
.dc-est input{position:absolute;opacity:0;pointer-events:none}
.dc-est:has(input:checked){border-color:var(--acc-txt);background:var(--acc-soft)}
.dc-est span{color:var(--muted);font-size:14px}
.dc-campo{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--muted);flex:1 1 160px}
.dc-avatares{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;max-height:380px;overflow:auto;padding:2px}
.av{border:1.5px solid var(--line2);background:var(--bg2);border-radius:12px;padding:6px;display:grid;gap:6px;cursor:pointer;color:var(--muted);font:12px var(--f);text-align:center}
.av img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:var(--panel2)}
.av[aria-pressed="true"]{border-color:var(--acc-txt);color:var(--ink);background:var(--acc-soft)}
.dc-guion{display:grid;gap:10px}
.dc-frase{display:grid;grid-template-columns:70px minmax(0,1fr);gap:4px 10px;align-items:start}
.dc-frase .n{font:500 12px var(--mono);color:var(--acc-txt);padding-top:10px;text-transform:uppercase}
.dc-frase textarea{width:100%;border:1px solid var(--line2);background:var(--bg2);color:var(--ink);border-radius:10px;padding:8px 10px;font:15px/1.4 var(--f);resize:vertical}
.dc-frase .tag{grid-column:2;font:500 11px var(--mono);color:var(--dim);letter-spacing:.04em}
.dc-guion>.btn{justify-self:start}
.dc-res{display:grid;gap:12px;justify-items:center}
.dc-res canvas,.dc-res video{width:min(100%,320px);aspect-ratio:9/16;border-radius:16px;background:#000;display:block}
.dc-res audio{width:min(100%,420px)}
.dc-acciones{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.dc>*{min-width:0}
