/* ============================================================
   INSANOS SHOWCASE — Carrusel 3D, ficha de serie y comunidad
   ============================================================
   Estilos del rediseño de la página principal, la ficha /serie/{id}
   y el bloque de comentarios compartido. Usa los tokens --in-* de
   insanos-app.css; no introduce paletas privadas. */

/* ---------- Encabezado de sección ---------- */
.showcase-head{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}
.showcase-line{flex:1;height:1px}
.showcase-line.left{background:linear-gradient(to right,var(--in-pink),transparent)}
.showcase-line.right{background:linear-gradient(to left,var(--in-cyan),transparent)}
.showcase-title{display:flex;align-items:center;gap:.5rem;font:700 .78rem var(--insanos-display);letter-spacing:.24em;text-transform:uppercase;color:var(--in-pink);white-space:nowrap}
.showcase-title svg{width:14px;height:14px}
.showcase-title .count-chip{background:rgba(255,0,110,.1);border:1px solid var(--in-pink);color:var(--in-pink);font-size:.58rem;padding:.1rem .38rem;letter-spacing:.1em}

/* ---------- Spotlight: encabezado + carrusel 3D ---------- */
.spotlight-header{text-align:center;padding:clamp(2.2rem,5vw,3.4rem) 1rem 1.6rem}
.spotlight-kicker{font:700 .6rem var(--insanos-display);letter-spacing:.5em;color:var(--in-cyan);text-transform:uppercase;margin-bottom:.6rem;opacity:.75}
.spotlight-title{font:900 clamp(1.35rem,3.2vw,2.1rem)/1 var(--insanos-display);color:#fff;text-shadow:0 0 12px var(--in-pink),0 0 32px rgba(255,0,110,.3)}
.car-scene{width:100%;height:420px;perspective:1100px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.car-scene::before,.car-scene::after{content:"";position:absolute;top:0;bottom:0;width:20%;z-index:2;pointer-events:none}
.car-scene::before{left:0;background:linear-gradient(to right,var(--in-ink),transparent)}
.car-scene::after{right:0;background:linear-gradient(to left,var(--in-ink),transparent)}
.car-ring{width:190px;height:280px;position:relative;transform-style:preserve-3d}
.car-card{position:absolute;width:170px;height:250px;top:50%;left:50%;cursor:pointer}
.car-card-inner{width:100%;height:100%;position:relative;overflow:hidden;border:1px solid rgba(255,0,110,.18);transition:border-color .3s,box-shadow .3s;background:var(--in-card-2)}
.car-card.is-front .car-card-inner{border-color:var(--in-pink);box-shadow:0 0 24px rgba(255,0,110,.4),0 0 50px rgba(255,0,110,.14)}
.car-card img{width:100%;height:100%;object-fit:cover;display:block}
.car-card .type-fallback{width:100%;height:100%;display:grid;place-items:center;font:900 3rem var(--insanos-display);color:rgba(255,255,255,.85)}
.car-card.is-front .type-fallback{color:#fff}
.car-card-bottom{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(3,3,10,.97) 55%,transparent);padding:.85rem .6rem .55rem}
.car-card-title{font-size:.75rem;font-weight:700;color:var(--in-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.28rem}
.type-tag{font:700 .52rem var(--insanos-display);letter-spacing:.12em;text-transform:uppercase;padding:.12rem .35rem;border:1px solid;display:inline-block}
.type-tag.manga{color:var(--in-manga);border-color:var(--in-manga)}
.type-tag.manhwa{color:var(--in-manhwa);border-color:var(--in-manhwa)}
.type-tag.manhua{color:var(--in-manhua);border-color:var(--in-manhua)}
.car-card-new{position:absolute;top:.45rem;right:.45rem;background:var(--in-pink);color:#fff;font-size:.5rem;font-weight:700;padding:.12rem .35rem;letter-spacing:.06em;text-transform:uppercase}
.car-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:.6rem;margin-bottom:2.2rem}
.car-btn{background:transparent;border:1px solid var(--in-line-soft);color:var(--in-muted);width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .2s,background .2s}
.car-btn:hover{border-color:var(--in-pink);color:var(--in-pink);box-shadow:0 0 12px rgba(255,0,110,.2)}
.car-btn svg{width:16px;height:16px}
.car-dots{display:flex;gap:.45rem;align-items:center}
.car-dot{width:18px;height:2px;background:rgba(255,0,110,.18);cursor:pointer;transition:color .3s,border-color .3s,box-shadow .3s,transform .3s,opacity .3s,background .3s;border:0;padding:0}
.car-dot.on{width:30px;background:var(--in-pink);box-shadow:0 0 6px var(--in-pink)}
/* Fallback plano: reduced-motion y pantallas táctiles pequeñas */
.car-scene.is-flat{perspective:none;height:auto;padding:1rem 1.2rem;gap:1rem;overflow-x:auto;display:flex;justify-content:flex-start}
.car-scene.is-flat .car-ring{transform-style:flat!important;transform:none!important;width:auto;height:auto;display:flex;gap:1rem}
.car-scene.is-flat .car-card{position:relative;top:0;left:0;transform:none!important;flex:0 0 150px;width:150px;height:225px}
.car-scene.is-flat::before,.car-scene.is-flat::after{display:none}

/* ---------- Chips de filtro del catálogo ---------- */
.catalog-chips{display:flex;gap:.6rem;margin-bottom:1.4rem;flex-wrap:wrap;align-items:center}
.catalog-chip{background:rgba(255,0,110,.06);border:1px solid rgba(255,0,110,.12);color:var(--in-muted);padding:.42rem .8rem;min-height:44px;font:700 .68rem Rajdhani,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:color .18s,border-color .18s,box-shadow .18s,transform .18s,opacity .18s,background .18s;display:inline-flex;align-items:center;gap:.3rem}
.catalog-chip svg{width:13px;height:13px}
.catalog-chip.on,.catalog-chip:hover{background:rgba(255,0,110,.13);border-color:var(--in-pink);color:var(--in-pink)}
.catalog-chip.on.t-manga{border-color:var(--in-manga);color:var(--in-manga);background:rgba(255,0,110,.1)}
.catalog-chip.on.t-manhwa{border-color:var(--in-manhwa);color:var(--in-manhwa);background:rgba(0,229,255,.08)}
.catalog-chip.on.t-manhua{border-color:var(--in-manhua);color:var(--in-manhua);background:rgba(255,214,0,.08)}

/* Acento por tipo en tarjetas del catálogo */
.reader-catalog .series-card{position:relative}
.reader-catalog .series-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;z-index:2}
.reader-catalog .series-card.t-manga::before{background:var(--in-manga);box-shadow:0 0 6px var(--in-manga)}
.reader-catalog .series-card.t-manhwa::before{background:var(--in-manhwa);box-shadow:0 0 6px var(--in-manhwa)}
.reader-catalog .series-card.t-manhua::before{background:var(--in-manhua);box-shadow:0 0 6px var(--in-manhua)}
.series-card-type{font:700 .5rem var(--insanos-display);letter-spacing:.12em;text-transform:uppercase}

/* ---------- Ficha de serie /serie/{id} ---------- */
.ficha-hero{position:relative;padding:calc(74px + clamp(2rem,5vw,4rem)) clamp(1rem,4vw,2.5rem) clamp(2rem,4vw,3rem);overflow:hidden;border-bottom:1px solid var(--in-line)}
.ficha-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 65% 85% at 72% 45%,color-mix(in srgb,var(--ficha-accent,var(--in-pink)) 22%,transparent) 0%,transparent 70%),radial-gradient(ellipse 50% 70% at 15% 85%,rgba(255,0,110,.08) 0%,transparent 60%),linear-gradient(135deg,var(--in-ink) 0%,rgba(8,8,15,.9) 100%);pointer-events:none}
.ficha-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,0,110,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,0,110,.04) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.6) 30%,rgba(0,0,0,.6) 70%,transparent);mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.6) 30%,rgba(0,0,0,.6) 70%,transparent);pointer-events:none}
.ficha-backdrop{position:absolute;inset:0;background-size:cover;background-position:center 20%;filter:blur(30px) saturate(1.1);opacity:.16;transform:scale(1.15);pointer-events:none}
.ficha-stage{position:relative;z-index:1;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(1.6rem,4vw,3.4rem);align-items:center}
.ficha-badges{display:flex;align-items:center;gap:.55rem;margin-bottom:1.1rem;flex-wrap:wrap}
.ficha-badge{font:700 .58rem var(--insanos-display);letter-spacing:.14em;padding:.2rem .55rem;border:1px solid;text-transform:uppercase}
.ficha-badge.manga{color:var(--in-manga);border-color:var(--in-manga);background:rgba(255,0,110,.09)}
.ficha-badge.manhwa{color:var(--in-manhwa);border-color:var(--in-manhwa);background:rgba(0,229,255,.08)}
.ficha-badge.manhua{color:var(--in-manhua);border-color:var(--in-manhua);background:rgba(255,214,0,.08)}
.ficha-badge.status{color:var(--in-green);border-color:var(--in-green);background:rgba(0,255,136,.07)}
.ficha-badge.age{color:var(--in-muted);border-color:var(--in-line-soft)}
.ficha-title{font:900 clamp(1.9rem,4.5vw,3.6rem)/0.95 var(--insanos-display);color:#fff;letter-spacing:-.02em;margin:0 0 .6rem;text-shadow:0 0 10px var(--ficha-accent,var(--in-pink)),0 0 30px color-mix(in srgb,var(--ficha-accent,var(--in-pink)) 40%,transparent)}
.ficha-rating-row{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.ficha-rating-big{font:900 1.5rem var(--insanos-display);color:var(--in-gold);text-shadow:0 0 14px rgba(255,214,0,.45)}
.ficha-rating-stars{display:inline-flex;gap:2px}
.ficha-star{width:16px;height:16px;color:rgba(255,255,255,.16)}
.ficha-star.on{color:var(--in-gold);fill:var(--in-gold)}
.ficha-rating-count{font-size:.72rem;color:var(--in-muted)}
.ficha-genres{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem}
.ficha-gtag{font-size:.62rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.22rem .6rem;background:rgba(144,0,255,.1);border:1px solid rgba(144,0,255,.25);color:rgba(190,110,255,.95)}
.ficha-synopsis{max-width:560px;margin-bottom:1.6rem}
.ficha-synopsis p{font-size:.92rem;line-height:1.6;color:rgba(221,225,240,.82);margin:0}
.ficha-synopsis p.clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ficha-syn-more{color:var(--in-pink);cursor:pointer;font:700 .78rem Rajdhani,system-ui,sans-serif;border:0;background:none;padding:.35rem 0 0;margin-top:.2rem}
.ficha-syn-more:hover{opacity:.75}
.ficha-ctas{display:flex;align-items:center;gap:.7rem;margin-bottom:1.8rem;flex-wrap:wrap}
.ficha-btn-read{display:inline-flex;align-items:center;gap:.55rem;background:var(--in-pink);border:0;color:#fff;padding:.78rem 1.9rem;font:700 .72rem var(--insanos-display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 22px rgba(255,0,110,.45),inset 0 1px 0 rgba(255,255,255,.18);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);text-decoration:none;transition:box-shadow .25s,transform .25s}
.ficha-btn-read:hover{box-shadow:0 0 36px rgba(255,0,110,.65);transform:translateY(-2px)}
.ficha-btn-read svg{width:15px;height:15px}
.ficha-btn-follow{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--ficha-accent,var(--in-pink));color:var(--ficha-accent,var(--in-pink));padding:.76rem 1.4rem;font:700 .74rem Rajdhani,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .25s,border-color .25s,box-shadow .25s,transform .25s,opacity .25s,background .25s;min-height:44px}
.ficha-btn-follow svg{width:14px;height:14px}
.ficha-btn-follow:hover,.ficha-btn-follow.following{background:color-mix(in srgb,var(--ficha-accent,var(--in-pink)) 16%,transparent)}
.ficha-btn-icon{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--in-muted);width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .2s,background .2s}
.ficha-btn-icon:hover{border-color:var(--in-pink);color:var(--in-pink)}
.ficha-btn-icon svg{width:16px;height:16px}
.ficha-save{display:inline-flex;align-items:center;gap:.5rem;color:var(--in-muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.ficha-save select{background:var(--in-card);border:1px solid var(--in-line-soft);color:var(--in-text);font-family:Rajdhani,system-ui,sans-serif;font-size:.76rem;padding:.5rem .6rem;min-height:44px}
.ficha-stats-strip{display:flex;gap:clamp(1.2rem,3vw,2.4rem);padding-top:1.4rem;border-top:1px solid rgba(255,0,110,.1);flex-wrap:wrap}
.ficha-stat b{display:block;font:700 1.15rem var(--insanos-display);color:var(--in-text)}
.ficha-stat b.soft{color:var(--in-green)}
.ficha-stat small{font-size:.6rem;color:var(--in-muted);letter-spacing:.12em;text-transform:uppercase}
/* Portada con perspectiva */
.ficha-right{position:relative;display:flex;align-items:center;justify-content:center}
.ficha-cover-glow{position:absolute;width:min(360px,90%);aspect-ratio:7/10;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,color-mix(in srgb,var(--ficha-accent,var(--in-pink)) 35%,transparent) 0%,transparent 65%);filter:blur(32px);pointer-events:none;z-index:0}
.ficha-cover-wrapper{position:relative;transform:perspective(900px) rotateY(-7deg) rotateX(2deg);transform-style:preserve-3d;transition:transform .6s ease;z-index:1}
.ficha-cover-wrapper:hover{transform:perspective(900px) rotateY(-2deg) rotateX(0deg)}
.ficha-cover{position:relative;width:min(280px,64vw);aspect-ratio:7/10;overflow:hidden;border:1px solid rgba(255,255,255,.06);box-shadow:-20px 20px 60px rgba(0,0,0,.7),-4px 0 0 0 var(--ficha-accent,var(--in-pink)),4px 0 40px color-mix(in srgb,var(--ficha-accent,var(--in-pink)) 35%,transparent);background:var(--in-card-2)}
.ficha-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ficha-cover .type-fallback{width:100%;height:100%;display:grid;place-items:center;font:900 4rem var(--insanos-display);color:rgba(255,255,255,.75)}
.ficha-cover::after{content:"INSANOS SCAN";position:absolute;bottom:.6rem;right:.7rem;font:700 .48rem var(--insanos-display);color:rgba(255,255,255,.35);letter-spacing:.12em;pointer-events:none}
.ficha-cover-spine{position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--ficha-accent,var(--in-pink));box-shadow:0 0 14px color-mix(in srgb,var(--ficha-accent,var(--in-pink)) 45%,transparent);z-index:2}
.ficha-cover-newbadge{position:absolute;top:.8rem;right:-.9rem;background:var(--in-pink);color:#fff;font:700 .55rem var(--insanos-display);padding:.22rem .6rem;letter-spacing:.12em;box-shadow:0 0 12px rgba(255,0,110,.5);transform:rotate(2deg);z-index:2}
.ficha-cover-chapters{position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);background:var(--in-card);border:1px solid var(--in-line);display:flex;align-items:center;gap:.45rem;padding:.42rem 1rem;white-space:nowrap;font-size:.72rem;color:var(--in-muted);z-index:2}
.ficha-cover-chapters svg{width:12px;height:12px}
.ficha-cover-chapters strong{color:var(--in-text);font:700 .78rem var(--insanos-display)}
/* Cuerpo: capítulos + sidebar */
.ficha-body{max-width:1240px;margin:0 auto;padding:clamp(1.6rem,4vw,2.6rem) clamp(1rem,4vw,2.5rem) clamp(2rem,5vw,3.4rem);display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(1.4rem,3vw,2.4rem);align-items:start}
.ficha-aside{position:sticky;top:86px;display:grid;gap:1.2rem}
.ficha-panel{background:var(--in-card);border:1px solid var(--in-line);padding:1.1rem 1.15rem}
.showcase-head.compact{margin-bottom:.7rem}
.showcase-head.compact .showcase-title{font-size:.66rem}
.showcase-title.gold{color:var(--in-gold)}
.showcase-title.cyan{color:var(--in-cyan)}
.ficha-rating-bignum{font:900 2.6rem/1 var(--insanos-display);color:var(--in-gold);text-shadow:0 0 20px rgba(255,214,0,.4)}
.ficha-rating-of{font-size:.7rem;color:var(--in-muted);margin:.25rem 0 .7rem}
.ficha-distribution{display:grid;gap:.4rem;margin-bottom:.8rem}
.ficha-rb-row{display:flex;align-items:center;gap:.55rem}
.ficha-rb-label{font-size:.62rem;color:var(--in-muted);width:14px;text-align:right}
.ficha-rb-track{flex:1;height:4px;background:rgba(255,255,255,.06);overflow:hidden}
.ficha-rb-fill{display:block;height:100%;background:var(--in-gold);box-shadow:0 0 6px rgba(255,214,0,.35)}
.ficha-rb-pct{font-size:.6rem;color:var(--in-muted);width:30px;text-align:right}
.ficha-rate-label{font-size:.66rem;color:var(--in-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem}
.ficha-panel .stars{display:flex;gap:.2rem;margin-bottom:.4rem}
.ficha-panel .stars button{background:none;border:0;cursor:pointer;color:rgba(255,255,255,.16);padding:.15rem;min-width:44px;min-height:44px;transition:color .15s,transform .15s}
.ficha-panel .stars button svg{width:20px;height:20px}
.ficha-panel .stars button.active{color:var(--in-gold)}
.ficha-panel .stars button.active svg{fill:var(--in-gold)}
.ficha-panel .stars button:hover{transform:scale(1.12)}
.ficha-panel #rating-status{color:var(--in-muted);font-size:.72rem}
.ficha-meta-table{display:grid;gap:.6rem}
.ficha-meta-table>div{display:flex;align-items:flex-start;gap:.6rem;font-size:.8rem}
.ficha-meta-table span{color:var(--in-muted);font-weight:600;min-width:88px;flex-shrink:0}
.ficha-meta-table b{color:var(--in-text);font-weight:600}
.ficha-meta-table b.ok{color:var(--in-green)}
.ficha-scan-credit{display:inline-flex;align-items:center;gap:.4rem}
.ficha-scan-credit i{width:6px;height:6px;border-radius:50%;background:var(--in-pink);box-shadow:0 0 5px var(--in-pink)}
.ficha-prog-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}
.ficha-prog-info span:first-child{font-size:.74rem;color:var(--in-muted)}
.ficha-prog-info #ficha-prog-val{font:700 .66rem var(--insanos-display);color:var(--in-cyan)}
.ficha-prog-track{height:6px;background:rgba(255,255,255,.06);margin-bottom:.7rem}
.ficha-prog-fill{position:relative;height:100%;background:linear-gradient(to right,var(--in-pink),var(--in-cyan));box-shadow:0 0 8px var(--in-cyan);transition:width .5s ease;min-width:2px}
.ficha-prog-thumb{position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--in-cyan);border:2px solid var(--in-ink);box-shadow:0 0 8px var(--in-cyan)}
.ficha-prog-continue{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:100%;background:rgba(0,229,255,.08);border:1px solid rgba(0,229,255,.2);color:var(--in-cyan);padding:.55rem;font:700 .72rem Rajdhani,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .2s,background .2s}
.ficha-prog-continue:hover{background:rgba(0,229,255,.15);box-shadow:0 0 14px rgba(0,229,255,.2)}
.ficha-prog-continue svg{width:13px;height:13px}
.ficha-quiet{color:var(--in-muted);font-size:.76rem;margin:0}
.ficha-advisory{border:1px dashed var(--in-line);background:rgba(255,214,0,.05);color:var(--in-ink-soft);padding:.8rem 1rem;font-size:.86rem;line-height:1.5;margin-top:1.4rem}
.ficha-advisory svg{width:15px;height:15px;color:var(--in-gold);vertical-align:-2px;margin-right:.3rem}
/* Barra de capítulos */
.ficha-ch-bar{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;flex-wrap:wrap}
.ficha-ch-search{display:flex;align-items:center;gap:.4rem;flex:1;min-width:160px;max-width:280px;background:var(--in-card);border:1px solid var(--in-line);padding:.42rem .8rem;min-height:44px}
.ficha-ch-search svg{width:13px;height:13px;color:var(--in-muted)}
.ficha-ch-search input{background:none;border:0;color:var(--in-text);font-family:Rajdhani,system-ui,sans-serif;font-size:.82rem;outline:none;flex:1;min-width:0}
.ficha-ch-chips{display:flex;gap:.4rem;flex-wrap:wrap}
.ficha-ch-sort{background:var(--in-card);border:1px solid var(--in-line);color:var(--in-muted);font:600 .74rem Rajdhani,system-ui,sans-serif;padding:.42rem .8rem;cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .2s,background .2s;min-height:44px}
.ficha-ch-sort:hover{border-color:var(--in-pink);color:var(--in-pink)}
.ficha-ch-sort svg{width:13px;height:13px}
.ficha-ch-list{display:grid;gap:2px}
.ficha-ch-row{display:flex;align-items:center;gap:1rem;padding:.68rem .95rem;background:var(--in-card);border:1px solid transparent;cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .2s,background .2s;position:relative;overflow:hidden;text-decoration:none}
.ficha-ch-row:hover{background:rgba(255,0,110,.05);border-color:rgba(255,0,110,.15)}
.ficha-ch-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ficha-accent,var(--in-pink));opacity:0;transition:opacity .2s}
.ficha-ch-row:hover::before{opacity:1}
.ficha-ch-num{font:700 .72rem var(--insanos-display);color:var(--in-muted);width:46px;flex-shrink:0}
.ficha-ch-row.is-new .ficha-ch-num{color:var(--in-pink)}
.ficha-ch-title{flex:1;font-size:.86rem;font-weight:600;color:var(--in-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ficha-ch-badge-new{background:var(--in-pink);color:#fff;font:700 .48rem var(--insanos-display);padding:.1rem .32rem;letter-spacing:.1em;margin-left:.45rem;vertical-align:middle;display:inline-block}
.ficha-ch-badge-read{border:1px solid var(--in-line-soft);color:var(--in-muted);font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;padding:.1rem .35rem;margin-left:.45rem;vertical-align:middle;display:inline-block}
.ficha-ch-lock{display:inline-block;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--in-gold);border:1px solid rgba(255,214,0,.3);background:rgba(255,214,0,.05);padding:.12rem .45rem;margin-left:.5rem}
.ficha-ch-meta{display:flex;align-items:center;gap:1rem;flex-shrink:0}
.ficha-ch-views{font-size:.66rem;color:var(--in-muted);display:inline-flex;align-items:center;gap:.25rem}
.ficha-ch-views svg{width:11px;height:11px}
.ficha-ch-date{font-size:.64rem;color:var(--in-muted);width:74px;text-align:right}
.ficha-ch-readbtn{position:absolute;right:.9rem;background:var(--in-pink);color:#fff;font:700 .56rem var(--insanos-display);letter-spacing:.1em;padding:.3rem .7rem;opacity:0;transform:translateX(8px);transition:color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .2s,background .2s;pointer-events:none}
.ficha-ch-row:hover .ficha-ch-readbtn{opacity:1;transform:translateX(0)}
.ficha-ch-row:hover .ficha-ch-date{opacity:0}
.ficha-ch-row.locked .ficha-ch-lock,.ficha-ch-row.locked .ficha-ch-num{color:var(--in-gold)}
.ficha-ch-row.locked .ficha-ch-title{color:var(--in-ink-soft)}
.ficha-ch-row.is-read .ficha-ch-title{color:var(--in-muted)}
/* Relacionadas */
.ficha-related{max-width:1240px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem) clamp(2rem,5vw,3rem)}
.ficha-related-rail{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.8rem;scrollbar-width:thin;scrollbar-color:var(--in-pink) var(--in-card)}
.ficha-rel-card{width:158px;flex-shrink:0;background:var(--in-card);border:1px solid rgba(255,0,110,.1);cursor:pointer;transition:color .28s,border-color .28s,box-shadow .28s,transform .28s,opacity .28s,background .28s;text-decoration:none;display:block}
.ficha-rel-card:hover{border-color:var(--in-pink);transform:translateY(-5px);box-shadow:0 12px 30px rgba(255,0,110,.18)}
.ficha-rel-cov{width:100%;aspect-ratio:3/4;display:grid;place-items:center;font:900 2.4rem var(--insanos-display);object-fit:cover;overflow:hidden}
.ficha-rel-cov.type-fallback{color:rgba(255,255,255,.8)}
.ficha-rel-inf{padding:.6rem .75rem;display:grid;gap:.3rem}
.ficha-rel-tit{font-size:.78rem;font-weight:700;color:var(--in-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ficha-rel-meta{font-size:.62rem;color:var(--in-muted);display:flex;justify-content:space-between}
.ficha-rel-meta .gold{color:var(--in-gold)}
.ficha-community{max-width:860px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) clamp(2.4rem,5vw,3.4rem)}
.ficha-cmt-wrap{display:grid;gap:1rem}
.ficha-crumb-current{color:var(--in-text);font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Botón flotante */
.ficha-float-read{position:fixed;bottom:2rem;right:2rem;z-index:900;display:inline-flex;align-items:center;gap:.55rem;background:var(--in-pink);border:0;color:#fff;padding:.78rem 1.6rem;font:700 .7rem var(--insanos-display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 24px rgba(255,0,110,.5),0 4px 20px rgba(0,0,0,.4);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);opacity:0;transform:translateY(10px);transition:color .3s,border-color .3s,box-shadow .3s,transform .3s,opacity .3s,background .3s;pointer-events:none;text-decoration:none}
.ficha-float-read.visible{opacity:1;transform:translateY(0);pointer-events:all}
.ficha-float-read:hover{box-shadow:0 0 38px rgba(255,0,110,.7);transform:translateY(-2px)}
.ficha-float-read svg{width:14px;height:14px}
@media(max-width:980px){.ficha-stage{grid-template-columns:1fr}.ficha-right{order:-1}.ficha-body{grid-template-columns:1fr}.ficha-aside{position:static}}
@media(max-width:620px){.ficha-ch-views{display:none}.ficha-ch-date{width:auto}.ficha-cover-chapters{position:static;transform:none;margin-top:1rem;justify-content:center}.ficha-float-read{bottom:1rem;right:1rem}}

/* ---------- Comunidad: bloque de comentarios compartido ---------- */
.cmt-wrap{display:grid;gap:1rem}
.cmt-count{font:700 .8rem var(--insanos-display);letter-spacing:.1em;color:var(--in-muted)}
.cmt-composer{background:var(--in-card);border:1px solid var(--in-line);padding:1rem}
.cmt-composer-top{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}
.cmt-av{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border:1px solid;font:800 .74rem var(--insanos-display)}
.cmt-av.pink{background:rgba(255,0,110,.12);border-color:var(--in-pink);color:var(--in-pink)}
.cmt-av.cyan{background:rgba(0,229,255,.1);border-color:var(--in-cyan);color:var(--in-cyan)}
.cmt-av.purple{background:rgba(144,0,255,.1);border-color:var(--in-purple);color:var(--in-purple)}
.cmt-av.gold{background:rgba(255,214,0,.1);border-color:var(--in-gold);color:var(--in-gold)}
.cmt-who b{color:var(--in-text);font-size:.82rem}
.cmt-who small{display:block;color:var(--in-muted);font-size:.62rem}
.cmt-field{background:var(--in-surface);border:1px solid rgba(255,0,110,.12);transition:border-color .2s}
.cmt-field:focus-within{border-color:var(--in-pink);box-shadow:0 0 10px rgba(255,0,110,.08)}
.cmt-field textarea{width:100%;background:none;border:0;color:var(--in-text);font-family:Rajdhani,system-ui,sans-serif;font-size:.9rem;padding:.65rem;resize:vertical;min-height:76px;outline:none}
.cmt-bar{display:flex;justify-content:space-between;align-items:center;padding:.45rem .65rem;border-top:1px solid rgba(255,0,110,.07);gap:.6rem;flex-wrap:wrap}
.cmt-spoiler{display:flex;align-items:center;gap:.35rem;color:var(--in-muted);font-size:.72rem;cursor:pointer}
.cmt-spoiler input{accent-color:var(--in-pink)}
.cmt-counter{color:var(--in-faint);font-size:.66rem}
.cmt-send{display:inline-flex;align-items:center;gap:.4rem;background:var(--in-pink);border:0;color:#fff;padding:.45rem 1.05rem;font:700 .72rem Rajdhani,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 16px rgba(255,0,110,.28);transition:box-shadow .2s}
.cmt-send:hover{box-shadow:0 0 26px rgba(255,0,110,.5)}
.cmt-send svg{width:13px;height:13px}
.cmt-sortbar{display:flex;align-items:center;gap:.8rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:.65rem;flex-wrap:wrap}
.cmt-sortbar .info{font-size:.76rem;color:var(--in-muted);flex:1}
.cmt-sortbar .info strong{color:var(--in-text)}
.cmt-sort{background:none;border:0;cursor:pointer;color:var(--in-muted);font:700 .68rem Rajdhani,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid transparent;padding:.25rem 0;transition:color .18s}
.cmt-sort.on{color:var(--in-cyan);border-bottom-color:var(--in-cyan)}
.cmt-sort:hover{color:var(--in-text)}
.cmt-card{background:var(--in-card);border:1px solid rgba(255,0,110,.07);padding:.9rem;position:relative;overflow:hidden;transition:border-color .2s}
.cmt-card:hover{border-color:rgba(255,0,110,.2)}
.cmt-card.is-pinned{border-color:rgba(255,214,0,.35);background:linear-gradient(135deg,rgba(255,214,0,.05),var(--in-card) 40%)}
.cmt-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--in-pink),transparent);opacity:0;transition:opacity .2s}
.cmt-card:hover::before{opacity:1}
.cmt-card.is-pinned::before{background:var(--in-gold);opacity:1}
.cmt-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.5rem;flex-wrap:wrap}
.cmt-head .cmt-av{width:30px;height:30px;font-size:.64rem}
.cmt-name{font-size:.8rem;font-weight:700;color:var(--in-text)}
.cmt-badge{font:700 .5rem var(--insanos-display);letter-spacing:.1em;padding:.09rem .32rem;border:1px solid;text-transform:uppercase}
.cmt-badge.staff{color:var(--in-purple);border-color:var(--in-purple);background:rgba(144,0,255,.07)}
.cmt-badge.vip{color:var(--in-gold);border-color:var(--in-gold);background:rgba(255,214,0,.07)}
.cmt-badge.mod{color:var(--in-pink);border-color:var(--in-pink);background:rgba(255,0,110,.07)}
.cmt-pinflag{display:inline-flex;align-items:center;gap:.25rem;font-size:.52rem;color:var(--in-gold);letter-spacing:.12em;text-transform:uppercase}
.cmt-pinflag svg{width:10px;height:10px}
.cmt-time{font-size:.6rem;color:var(--in-muted);margin-left:auto}
.cmt-body{font-size:.88rem;line-height:1.55;color:rgba(221,225,240,.9);margin-bottom:.65rem;white-space:pre-wrap;overflow-wrap:anywhere}
.cmt-spoiler-veil{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,0,110,.06);border-left:2px solid var(--in-pink);padding:.3rem .7rem;font-size:.78rem;color:rgba(221,225,240,.75);cursor:pointer;font-family:Rajdhani,system-ui,sans-serif}
.cmt-spoiler-veil svg{width:12px;height:12px}
.cmt-card.spoiler-open .cmt-body{display:block}
.cmt-card.spoiler-closed .cmt-body{display:none}
.cmt-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.cmt-react{display:inline-flex;align-items:center;gap:.3rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);color:var(--in-muted);padding:.25rem .55rem;min-height:36px;font:600 .7rem Rajdhani,system-ui,sans-serif;cursor:pointer;transition:color .15s,border-color .15s,box-shadow .15s,transform .15s,opacity .15s,background .15s}
.cmt-react svg{width:13px;height:13px}
.cmt-react:hover{border-color:rgba(255,0,110,.25);color:var(--in-pink)}
.cmt-react.mine{border-color:rgba(255,0,110,.35);color:var(--in-pink);background:rgba(255,0,110,.08)}
.cmt-react.mine svg{fill:var(--in-pink)}
.cmt-replybtn{background:none;border:0;cursor:pointer;color:var(--in-muted);font:600 .68rem Rajdhani,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:.3rem;min-height:36px;transition:color .18s}
.cmt-replybtn:hover{color:var(--in-cyan)}
.cmt-right{margin-left:auto;display:flex;gap:.2rem}
.cmt-iconbtn{background:none;border:0;cursor:pointer;color:var(--in-muted);display:flex;padding:.3rem;transition:color .18s}
.cmt-iconbtn svg{width:13px;height:13px}
.cmt-iconbtn:hover{color:var(--in-cyan)}
.cmt-threads{margin-left:1.6rem;margin-top:.4rem;padding-left:.9rem;border-left:1px solid rgba(255,0,110,.09)}
.cmt-thread-toggle{display:inline-flex;align-items:center;gap:.35rem;background:none;border:0;color:var(--in-muted);font:600 .7rem Rajdhani,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;margin:.35rem 0;padding:.25rem;transition:color .2s}
.cmt-thread-toggle:hover{color:var(--in-cyan)}
.cmt-thread-toggle svg{width:12px;height:12px}
.cmt-reply{background:rgba(13,13,27,.55);border:1px solid rgba(255,255,255,.04);padding:.7rem;margin-bottom:.5rem}
.cmt-replyform{margin-top:.45rem;padding:.7rem;background:rgba(7,7,15,.7);border:1px solid rgba(255,0,110,.08)}
.cmt-replyform textarea{width:100%;background:var(--in-surface);border:1px solid rgba(255,0,110,.12);color:var(--in-text);font-family:Rajdhani,system-ui,sans-serif;font-size:.84rem;padding:.55rem;resize:none;outline:none;min-height:56px}
.cmt-replyform textarea:focus{border-color:var(--in-pink)}
.cmt-replyform .row{display:flex;justify-content:flex-end;gap:.45rem;margin-top:.45rem}
.cmt-cancel{background:none;border:1px solid rgba(255,255,255,.08);color:var(--in-muted);padding:.35rem .8rem;font:700 .66rem Rajdhani,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .2s,background .2s;min-height:36px}
.cmt-cancel:hover{border-color:var(--in-muted);color:var(--in-text)}
.cmt-empty{border:1px dashed var(--in-line-soft);color:var(--in-muted);padding:1.4rem;text-align:center;font-size:.86rem}
.cmt-error{color:var(--in-danger,#ff477e);font-size:.8rem}
.cmt-more{display:block;margin:1rem auto 0;background:none;border:1px solid var(--in-line-soft);color:var(--in-muted);padding:.5rem 1.4rem;font:700 .72rem Rajdhani,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s,transform .2s,opacity .2s,background .2s}
.cmt-more:hover{border-color:var(--in-cyan);color:var(--in-cyan)}

/* ---------- Portada: actividad en vivo y rankings con medallas ---------- */
.activity-panel{background:var(--in-card);border:1px solid rgba(0,229,255,.14);padding:1rem;position:sticky;top:84px}
.activity-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem;font:700 .64rem var(--insanos-display);color:var(--in-cyan);letter-spacing:.16em;text-transform:uppercase}
.activity-head i{width:7px;height:7px;border-radius:50%;background:var(--in-cyan);box-shadow:0 0 8px var(--in-cyan);animation:activity-pulse 1.4s infinite}
@keyframes activity-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}
.activity-item{display:flex;align-items:center;gap:.55rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.03);font-size:.74rem;color:var(--in-muted)}
.activity-item b{color:var(--in-text);font-weight:600}
.activity-item .dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.activity-item .dot.chapter{background:var(--in-pink);box-shadow:0 0 5px var(--in-pink)}
.activity-item .dot.comment{background:var(--in-cyan);box-shadow:0 0 5px var(--in-cyan)}
.activity-item .dot.join{background:var(--in-purple);box-shadow:0 0 5px var(--in-purple)}
.rank-medal{font:800 .84rem var(--insanos-display);width:24px;text-align:center;flex-shrink:0}
.rank-medal.m1{color:#FFD600;text-shadow:0 0 10px #FFD600}
.rank-medal.m2{color:#C0C0C0;text-shadow:0 0 8px rgba(192,192,192,.4)}
.rank-medal.m3{color:#CD7F32;text-shadow:0 0 8px rgba(205,127,50,.4)}
.rank-medal.mn{color:var(--in-muted)}

@media(max-width:760px){
  .car-scene{height:340px}
  .ficha-stats{gap:1.2rem}
  .cmt-threads{margin-left:.6rem;padding-left:.6rem}
  .activity-panel{position:static}
}
@media(prefers-reduced-motion:reduce){
  .car-card-inner,.car-dot,.cmt-react,.cmt-iconbtn{transition:none!important}
  .activity-head i{animation:none!important}
}

/* ============================================================
   PÁGINA DE ACCESO (/login) — unificada, sin pistas de panel
   ============================================================ */
.acceso-page{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;padding:clamp(1rem,4vh,3rem) 1rem;position:relative;background:var(--in-ink);overflow-x:hidden;overflow-y:auto}
#acceso-canvas{position:fixed;inset:0;z-index:0}
.acceso-fondo-texto{position:fixed;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;pointer-events:none}
.acceso-fondo-texto span{font:900 clamp(6rem,22vw,18rem)/1 var(--insanos-display);color:transparent;-webkit-text-stroke:1px rgba(255,0,110,.06);letter-spacing:-.04em;user-select:none;animation:acceso-pulso 6s ease-in-out infinite}
@keyframes acceso-pulso{0%,100%{-webkit-text-stroke-color:rgba(255,0,110,.06)}50%{-webkit-text-stroke-color:rgba(255,0,110,.1)}}
.acceso-glow{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(255,0,110,.07) 0%,transparent 65%);z-index:1;pointer-events:none}
.acceso-page::after{content:"";position:fixed;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(0,0,0,.06) 3px,rgba(0,0,0,.06) 4px)}
.acceso-card{position:relative;z-index:10;width:min(420px,100%);flex:none;background:rgba(5,5,14,.94);backdrop-filter:blur(28px);border:1px solid rgba(255,0,110,.18);box-shadow:0 0 60px rgba(255,0,110,.1),0 24px 64px rgba(0,0,0,.6);padding:2.4rem 2rem 1.8rem}
.acceso-card .bracket{position:absolute;width:18px;height:18px;border-color:var(--in-pink);border-style:solid;pointer-events:none}
.acceso-card .tl{top:-1px;left:-1px;border-width:2px 0 0 2px}
.acceso-card .tr{top:-1px;right:-1px;border-width:2px 2px 0 0}
.acceso-card .bl{bottom:-1px;left:-1px;border-width:0 0 2px 2px}
.acceso-card .br{bottom:-1px;right:-1px;border-width:0 2px 2px 0}
.acceso-logo{text-align:center;margin-bottom:1.4rem}
.acceso-logo-nombre{font:900 1.6rem var(--insanos-display);color:var(--in-pink);letter-spacing:.18em;display:block;text-shadow:0 0 14px var(--in-pink),0 0 30px rgba(255,0,110,.35);animation:acceso-logo-flicker 8s infinite}
@keyframes acceso-logo-flicker{0%,17%,19%,100%{text-shadow:0 0 14px var(--in-pink),0 0 30px rgba(255,0,110,.35)}18%{text-shadow:none;color:var(--in-pink)}}
.acceso-logo-sub{font-size:.6rem;letter-spacing:.45em;color:var(--in-muted);text-transform:uppercase;margin-top:.4rem;display:block}
.acceso-divisor{height:1px;background:linear-gradient(to right,transparent,var(--in-pink),transparent);margin-bottom:1.4rem;opacity:.4}
.acceso-etiqueta{font:700 .58rem var(--insanos-display);letter-spacing:.35em;color:var(--in-muted);text-align:center;text-transform:uppercase;margin:0 0 1.3rem;display:flex;align-items:center;gap:.6rem}
.acceso-etiqueta::before,.acceso-etiqueta::after{content:"";flex:1;height:1px;background:rgba(255,0,110,.2)}
.acceso-campo{margin-bottom:1rem;position:relative}
.acceso-campo-label{font:700 .62rem Rajdhani,system-ui,sans-serif;letter-spacing:.2em;color:var(--in-muted);text-transform:uppercase;margin-bottom:.4rem;display:flex;align-items:center;gap:.3rem}
.acceso-campo-label svg{width:11px;height:11px}
.acceso-campo-wrap{position:relative;display:flex;align-items:center;background:rgba(7,7,20,.8);border:1px solid rgba(255,255,255,.08);transition:border-color .2s,box-shadow .2s}
.acceso-campo-wrap:focus-within{border-color:var(--in-pink);box-shadow:0 0 12px rgba(255,0,110,.15),inset 0 0 8px rgba(255,0,110,.04)}
.acceso-campo-icono{padding:0 .65rem;color:var(--in-muted);display:flex;flex-shrink:0;pointer-events:none;transition:color .2s}
.acceso-campo-icono svg{width:15px;height:15px}
.acceso-campo-wrap:focus-within .acceso-campo-icono{color:var(--in-pink)}
.acceso-input{flex:1;background:none;border:0;outline:none;color:var(--in-text);font-family:Rajdhani,system-ui,sans-serif;font-size:1rem;padding:.65rem .7rem .65rem 0;min-width:0;min-height:44px}
.acceso-input::placeholder{color:var(--in-muted)}
.acceso-ojo{background:none;border:0;cursor:pointer;color:var(--in-muted);padding:.4rem .65rem;display:flex;align-items:center;transition:color .2s}
.acceso-ojo:hover{color:var(--in-text)}
.acceso-ojo svg{width:15px;height:15px}
.acceso-error{font-size:.68rem;color:var(--in-danger);margin:.35rem 0 0;display:none}
.acceso-error.show{display:block}
.acceso-campo-wrap.error{border-color:var(--in-danger);animation:acceso-shake .35s ease-out}
@keyframes acceso-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.acceso-recordar{display:flex;align-items:center;gap:.45rem;margin:0 0 1.3rem;font-size:.75rem;color:var(--in-muted);cursor:pointer}
.acceso-recordar input{accent-color:var(--in-pink);min-width:16px;min-height:16px;cursor:pointer}
.acceso-boton{width:100%;position:relative;background:var(--in-pink);border:0;color:#fff;padding:.8rem;font:700 .78rem var(--insanos-display);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 20px rgba(255,0,110,.4),inset 0 1px 0 rgba(255,255,255,.15);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:box-shadow .25s;overflow:hidden}
.acceso-boton::before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.12) 50%,transparent 70%);transform:translateX(-100%);transition:transform .4s}
.acceso-boton:hover::before{transform:translateX(100%)}
.acceso-boton:hover{box-shadow:0 0 32px rgba(255,0,110,.6)}
.acceso-boton:active{transform:scale(.98)}
.acceso-boton.loading{pointer-events:none;opacity:.8}
.acceso-boton.loading::after{content:"";position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:acceso-spin .7s linear infinite}
@keyframes acceso-spin{to{transform:translateY(-50%) rotate(360deg)}}
.acceso-pie{margin-top:1.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem}
.acceso-enlace{font-size:.72rem;color:var(--in-muted);text-decoration:none;transition:color .2s}
.acceso-enlace:hover{color:var(--in-text)}
.acceso-sep{width:1px;height:12px;background:rgba(255,255,255,.1)}
.acceso-marca{position:relative;flex:none;max-width:100%;text-align:center;font-size:.62rem;color:var(--in-muted);letter-spacing:.15em;z-index:10;margin:0;pointer-events:none}
.acceso-boton,.acceso-recordar,.acceso-ojo,.acceso-enlace{min-height:44px}
.acceso-ojo{min-width:44px;justify-content:center}
.acceso-enlace{display:inline-flex;align-items:center;justify-content:center}
.acceso-exito{position:fixed;inset:0;z-index:100;background:rgba(0,255,136,.07);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.acceso-exito.show{opacity:1}
.acceso-exito-texto{font:700 1rem var(--insanos-display);color:var(--in-green);letter-spacing:.2em;text-shadow:0 0 20px rgba(0,255,136,.6)}
@media(prefers-reduced-motion:reduce){.acceso-fondo-texto span,.acceso-logo-nombre,.acceso-boton::before{animation:none!important}.acceso-exito,.acceso-campo-wrap{transition:none!important}}

/* ============================================================
   PANEL DE CONTROL (/ctrlpanel) — dashboard, staff y seguridad
   ============================================================ */
.stat-card.stat-pink{border-left:2px solid var(--in-pink)}.stat-card.stat-pink .sc-val{color:var(--in-pink);text-shadow:0 0 14px rgba(255,0,110,.4)}
.stat-card.stat-cyan{border-left:2px solid var(--in-cyan)}.stat-card.stat-cyan .sc-val{color:var(--in-cyan);text-shadow:0 0 14px rgba(0,229,255,.35)}
.stat-card.stat-purple{border-left:2px solid var(--in-purple)}.stat-card.stat-purple .sc-val{color:var(--in-purple);text-shadow:0 0 14px rgba(144,0,255,.4)}
.stat-card.stat-gold{border-left:2px solid var(--in-gold)}.stat-card.stat-gold .sc-val{color:var(--in-gold);text-shadow:0 0 14px rgba(255,214,0,.35)}
.stat-card .sc-label{font:700 .58rem var(--insanos-display);letter-spacing:.18em;text-transform:uppercase;color:var(--in-muted);display:block;margin-bottom:.35rem}
.stat-card .sc-val{font:900 1.8rem var(--insanos-display);color:var(--in-text);display:block}
.stat-card .sc-sub{font-size:.65rem;color:var(--in-muted);margin-top:.25rem;display:block}
.panel-dashboard-grid{margin-bottom:1.2rem}
.dashboard-chart svg{display:block}
.chart-labels{display:flex;justify-content:space-between;padding:.3rem 0 0;font-size:.58rem;color:var(--in-muted)}
.system-health .health-row{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.03);font-size:.75rem}
.system-health .health-name{flex:1;color:var(--in-text)}
.system-health .health-val{font-size:.66rem;color:var(--in-muted)}
.hbadge{font:700 .55rem var(--insanos-display);padding:.1rem .4rem;letter-spacing:.06em;border:1px solid}
.hbadge.ok{background:rgba(0,255,136,.1);border-color:rgba(0,255,136,.2);color:var(--in-green)}
.hbadge.warn{background:rgba(255,176,32,.1);border-color:rgba(255,176,32,.2);color:var(--in-amber)}
.hbadge.err{background:rgba(255,51,85,.1);border-color:rgba(255,51,85,.2);color:var(--in-danger)}
/* Staff & Roles */
.staff-hierarchy{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.4rem}
.rh-card{background:var(--in-card);border:1px solid;padding:1rem;position:relative;overflow:hidden}
.rh-card.admin{border-color:rgba(255,0,110,.3)}.rh-card.admin::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--in-pink);box-shadow:0 0 8px var(--in-pink)}
.rh-card.coadmin{border-color:rgba(144,0,255,.3)}.rh-card.coadmin::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--in-purple);box-shadow:0 0 8px var(--in-purple)}
.rh-card.collaborator{border-color:rgba(0,229,255,.25)}.rh-card.collaborator::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--in-cyan);box-shadow:0 0 8px var(--in-cyan)}
.rh-count{position:absolute;top:.7rem;right:.8rem;font:700 .58rem var(--insanos-display);padding:.12rem .4rem;border:1px solid;color:inherit}
.rh-title{font:700 .72rem var(--insanos-display);letter-spacing:.15em;display:block;margin-bottom:.35rem}
.rh-sub{font-size:.68rem;color:var(--in-muted);line-height:1.4;margin:0}
.staff-creators{display:flex;gap:.6rem;flex-wrap:wrap}
.btn-purple{background:var(--in-purple)!important;box-shadow:0 0 16px rgba(144,0,255,.35)!important}
.staff-cell{display:flex;align-items:center;gap:.55rem}
.staff-av{width:30px;height:30px;display:grid;place-items:center;font:800 .68rem var(--insanos-display);border:1px solid;flex-shrink:0}
.staff-av.av-admin{background:rgba(255,0,110,.1);border-color:var(--in-pink);color:var(--in-pink)}
.staff-av.av-coadmin{background:rgba(144,0,255,.1);border-color:var(--in-purple);color:var(--in-purple)}
.staff-av.av-collaborator{background:rgba(0,229,255,.1);border-color:var(--in-cyan);color:var(--in-cyan)}
.rbadge{font:700 .55rem var(--insanos-display);letter-spacing:.09em;padding:.12rem .4rem;border:1px solid;text-transform:uppercase}
.rbadge.admin{color:var(--in-pink);border-color:rgba(255,0,110,.35);background:rgba(255,0,110,.08)}
.rbadge.coadmin{color:var(--in-purple);border-color:rgba(144,0,255,.3);background:rgba(144,0,255,.07)}
.rbadge.collaborator{color:var(--in-cyan);border-color:rgba(0,229,255,.28);background:rgba(0,229,255,.06)}
.staff-quiet{font-size:.72rem;color:var(--in-muted)}
.staff-status{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.staff-status.on{color:var(--in-green)}
.staff-status.off{color:var(--in-danger)}
.row-acts{display:flex;gap:.25rem}
.ra-btn{background:none;border:0;cursor:pointer;color:var(--in-muted);padding:.25rem;display:flex;transition:color .15s}
.ra-btn:hover{color:var(--in-pink)}
.ra-btn.danger:hover{color:var(--in-danger)}
.ra-btn svg{width:14px;height:14px}
.staff-matrix-wrap{margin-top:1.6rem}
.section-label{font:700 .65rem var(--insanos-display);letter-spacing:.28em;text-transform:uppercase;color:var(--in-pink);margin:0 0 1rem;display:flex;align-items:center;gap:.6rem}
.section-label::after{content:"";flex:1;height:1px;background:linear-gradient(to right,rgba(255,0,110,.3),transparent)}
.section-label svg{width:12px;height:12px}
.mtbl td,.mtbl th{text-align:center}
.mtbl td:first-child,.mtbl th:first-child{text-align:left}
.pchk.ok{color:var(--in-green)}
.pchk.no{color:rgba(255,255,255,.14)}
.role-preview{display:flex;gap:.5rem;margin-bottom:.9rem}
.rp-opt{flex:1;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:.5rem .3rem;display:grid;place-items:center;gap:.25rem;cursor:pointer;transition:color .18s,border-color .18s,background .18s;color:var(--in-muted);font:700 .62rem var(--insanos-display);text-transform:uppercase;letter-spacing:.1em}
.rp-opt svg{width:16px;height:16px}
.rp-opt.selected{background:rgba(0,229,255,.07);border-color:rgba(0,229,255,.3);color:var(--in-cyan)}
.creds-box{background:rgba(0,255,136,.05);border:1px solid rgba(0,255,136,.2);padding:.9rem 1rem;display:grid;gap:.2rem}
.creds-box .creds-key{font:700 .58rem var(--insanos-display);letter-spacing:.14em;color:var(--in-muted)}
.creds-box strong{font-family:ui-monospace,Menlo,monospace;color:var(--in-green);font-size:.85rem}
.creds-box strong#staff-cred-password{color:var(--in-pink);font-size:1rem}
.copy-row{display:flex;margin-top:.7rem}
.warning-note{background:rgba(255,176,32,.06);border:1px solid rgba(255,176,32,.2);padding:.6rem .8rem;display:flex;gap:.5rem;align-items:flex-start;margin:.7rem 0 0;font-size:.72rem;color:rgba(221,225,240,.75);line-height:1.5}
.warning-note svg{width:14px;height:14px;color:var(--in-amber);flex-shrink:0;margin-top:.1rem}
.mf-input{width:100%;background:rgba(7,7,20,.9);border:1px solid rgba(255,255,255,.08);color:var(--in-text);font-family:Rajdhani,system-ui,sans-serif;font-size:.88rem;padding:.55rem .8rem;outline:none;transition:border-color .2s;margin-bottom:.7rem}
.mf-input:focus{border-color:var(--in-pink);box-shadow:0 0 8px rgba(255,0,110,.1)}
/* Lanzador de subida */
.upload-launcher{display:grid;grid-template-columns:1fr 320px;gap:1.2rem;align-items:start}
.upload-launcher-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.upload-worker-note{font-size:.72rem;margin-top:.8rem}
.upload-launcher .form-row{margin-bottom:.9rem}
.upload-launcher .form-label{font:700 .6rem var(--insanos-display);letter-spacing:.18em;text-transform:uppercase;color:var(--in-muted);margin-bottom:.35rem}
.upload-launcher .form-input,.upload-launcher .form-select{width:100%;background:var(--in-card-2);border:1px solid var(--in-line-soft);color:var(--in-text);font-family:Rajdhani,system-ui,sans-serif;font-size:.9rem;padding:.55rem .8rem;outline:none}
.upload-launcher .form-input:focus,.upload-launcher .form-select:focus{border-color:var(--in-pink)}
.upload-launcher .fp-title{font:700 .68rem var(--insanos-display);letter-spacing:.22em;color:var(--in-pink);text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.upload-launcher .fp-title::after{content:"";flex:1;height:1px;background:linear-gradient(to right,rgba(255,0,110,.3),transparent)}
.upload-launcher .form-actions{margin-top:1.2rem}
/* Guía de seguridad */
.security-guide{max-width:760px}
.guide-block{background:var(--in-card);border:1px solid rgba(255,0,110,.12);padding:1.2rem;margin-bottom:1.2rem}
.guide-block h3{font:700 .72rem var(--insanos-display);color:var(--in-pink);letter-spacing:.2em;text-transform:uppercase;margin:0 0 .9rem;display:flex;align-items:center;gap:.5rem}
.guide-block h3::after{content:"";flex:1;height:1px;background:linear-gradient(to right,rgba(255,0,110,.3),transparent)}
.guide-block h3 svg{width:13px;height:13px}
.guide-block p{font-size:.84rem;color:rgba(221,225,240,.8);line-height:1.6;margin:0 0 .7rem}
.guide-code{background:#030308;border:1px solid rgba(0,229,255,.15);border-left:3px solid var(--in-cyan);padding:.9rem 1rem;margin:.7rem 0;font-family:ui-monospace,Menlo,monospace;font-size:.72rem;line-height:1.65;color:#a8c0d6;overflow-x:auto}
.guide-summary{background:rgba(0,255,136,.06);border:1px solid rgba(0,255,136,.18);padding:.7rem .9rem;font-size:.78rem;color:rgba(221,225,240,.85);margin:.5rem 0 0}
@media(max-width:1100px){.staff-hierarchy{grid-template-columns:1fr}.upload-launcher{grid-template-columns:1fr}}

/* ============================================================
   F0 — CIMIENTOS: neutraliza reglas heredadas que pisaban el
   diseño INSANOS. Cada entrada corresponde a un bug auditado.
   ============================================================ */

/* F0.1 Tokens que insanos-showcase usa pero la landing no cargaba
      (solo vivían en insanos-app.css): rankings/actividad/avatars
      perdían Orbitron al no resolver var(--insanos-display). */
:root{--insanos-display:var(--in-font-display,Orbitron),system-ui,sans-serif;--in-manga:#FF006E;--in-manhwa:#00E5FF;--in-manhua:#FFD600}

/* F0.2 La ficha heredaba Inter desde main.css .reader-catalog; */
body.ficha-page,body.ficha-page button,body.ficha-page input,body.ficha-page select,body.ficha-page textarea{font-family:Rajdhani,system-ui,sans-serif!important}

/* F0.3 Badges de tipo/estado del panel (admin.js los emite pero
      ninguna hoja los definía: quedaban texto plano). */
.tbadge{font:700 .55rem var(--insanos-display);letter-spacing:.08em;padding:.12rem .38rem;border:1px solid;text-transform:uppercase;display:inline-block}
.tbadge.manga{color:var(--in-manga);border-color:rgba(255,0,110,.35)}
.tbadge.manhwa{color:var(--in-manhwa);border-color:rgba(0,229,255,.3)}
.tbadge.manhua{color:var(--in-manhua);border-color:rgba(255,214,0,.3)}
.tbadge.pub,.tbadge.pub-status{color:var(--in-green,#00FF88);border-color:rgba(0,255,136,.3);background:rgba(0,255,136,.07)}
.tbadge.draft,.tbadge.archived{color:#FFB020;border-color:rgba(255,176,32,.3);background:rgba(255,176,32,.06)}

/* F0.4 Des-encajona los .ra-btn: theme-system.css 378-385 les metía
      fondo/borde/color !important y salían como chips con marco. */
.admin-page .admin-table .ra-btn{background:none!important;border:0!important;padding:.25rem!important;color:var(--in-muted)!important;font-size:0!important}
.admin-page .admin-table .ra-btn svg{width:14px!important;height:14px!important}
.admin-page .admin-table .ra-btn:hover{color:var(--in-pink)!important}
.admin-page .admin-table .ra-btn.danger:hover{color:var(--in-danger,#ff477e)!important}

/* F0.5 Tablas del panel rectas: main.css 544/1521 imponía radius
      9-10px de la era anterior al diseño neón. */
.admin-page .admin-table,.admin-page .table-wrapper,.admin-page .adm-table-wrap{border-radius:0!important}
.admin-page .admin-table th{font:700 .6rem var(--insanos-display);letter-spacing:.15em;text-transform:uppercase}
.admin-page .admin-table td{font-size:.8rem}
.admin-page .admin-table tr:hover td{background:rgba(255,0,110,.025)!important}

/* F0.6 Focus rosa dentro del diálogo de staff: insanos-app.css
      forzaba cian en TODOS los .app-dialog inputs. */
#staff-create-dialog input:focus{border-color:var(--in-pink)!important;box-shadow:0 0 8px rgba(255,0,110,.1)!important}
#staff-create-dialog{width:min(480px,94vw)!important}
#staff-create-dialog .dialog-heading h2{color:var(--in-pink)!important;font-size:1rem!important}

/* ============================================================
   F1 — PANEL DE CONTROL: tabla de series y vista Nueva Serie
   ============================================================ */

/* Topbar: chip Worker + botón Nueva Serie */
.tb-status-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.tb-status{display:flex;align-items:center;gap:.35rem;font:600 .68rem Rajdhani,system-ui,sans-serif;color:var(--in-muted)}
.tstatus-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.tstatus-dot.ok{background:var(--in-green,#00FF88);box-shadow:0 0 5px var(--in-green,#00FF88);animation:pulse-g 2s infinite}
.tstatus-dot.warn{background:#FFB020;box-shadow:0 0 5px #FFB020}
@keyframes pulse-g{0%,100%{opacity:1}50%{opacity:.5}}
.tb-action{display:inline-flex;align-items:center;gap:.3rem;background:var(--in-pink);border:0;color:#fff;padding:.38rem .95rem;font:700 .7rem Rajdhani,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 12px rgba(255,0,110,.3);transition:box-shadow .2s;min-height:44px}
.tb-action:hover{box-shadow:0 0 22px rgba(255,0,110,.5)}
.tb-action svg{width:13px;height:13px}
@media(max-width:760px){.tb-status span:last-child{display:none}}

/* Dashboard: stat-row a 4 columnas con acento superior por color */
.admin-page .stats-grid{grid-template-columns:repeat(4,1fr)!important}
@media(max-width:1100px){.admin-page .stats-grid{grid-template-columns:repeat(2,1fr)!important}}
.admin-page .stat-card{border:1px solid rgba(255,0,110,.1);border-radius:0!important;position:relative;overflow:hidden;background:var(--in-card)!important;padding:1rem 1.1rem!important}
.admin-page .stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px}
.admin-page .stat-card.stat-pink::before{background:var(--in-pink);box-shadow:0 0 8px var(--in-pink)}
.admin-page .stat-card.stat-cyan::before{background:var(--in-cyan);box-shadow:0 0 8px var(--in-cyan)}
.admin-page .stat-card.stat-purple::before{background:#9000FF;box-shadow:0 0 8px #9000FF}
.admin-page .stat-card.stat-gold::before{background:#FFD600;box-shadow:0 0 8px #FFD600}
/* Los valores coloreados ganan a theme-system.css dark que los forzaba a ink */
:root[data-theme="dark"] .admin-page .stat-card .sc-val,
.admin-page .stat-card .sc-val{color:var(--in-text)!important;font:900 1.8rem var(--insanos-display)!important;text-shadow:0 0 14px rgba(255,0,110,.4)}
.admin-page .stat-card.stat-cyan .sc-val{color:var(--in-cyan)!important;text-shadow:0 0 14px rgba(0,229,255,.35)!important}
.admin-page .stat-card.stat-purple .sc-val{color:#b47aff!important;text-shadow:0 0 14px rgba(144,0,255,.4)!important}
.admin-page .stat-card.stat-gold .sc-val{color:#FFD600!important;text-shadow:0 0 14px rgba(255,214,0,.35)!important}
.admin-page .stat-card .sc-label{font:700 .58rem var(--insanos-display);letter-spacing:.18em;text-transform:uppercase;color:var(--in-muted);display:block;margin-bottom:.35rem}
.admin-page .stat-card .sc-sub{font-size:.65rem;color:var(--in-muted);margin-top:.25rem;display:block}

/* Barra de herramientas de la tabla */
.table-bar{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;flex-wrap:wrap}
.tsearch{display:flex;align-items:center;gap:.4rem;flex:1;min-width:160px;max-width:280px;background:var(--in-card);border:1px solid var(--in-line);padding:.42rem .8rem;min-height:44px}
.tsearch svg{width:13px;height:13px;color:var(--in-muted)}
.tsearch input{background:none;border:0;color:var(--in-text);font-family:Rajdhani,system-ui,sans-serif;font-size:.82rem;outline:none;flex:1;min-width:0}
.tsearch input::placeholder{color:var(--in-muted)}
.tfilter{background:rgba(255,0,110,.06);border:1px solid rgba(255,0,110,.12);color:var(--in-muted);padding:.42rem .72rem;font:700 .68rem Rajdhani,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:color .18s,border-color .18s,background .18s;min-height:44px}
.tfilter.on,.tfilter:hover{background:rgba(255,0,110,.14);border-color:var(--in-pink);color:var(--in-pink)}
.tspace{flex:1}
.tbulk{display:flex;align-items:center;gap:.3rem;background:rgba(255,51,85,.08);border:1px solid rgba(255,51,85,.2);color:#FF3355;padding:.42rem .7rem;font:700 .68rem Rajdhani,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;opacity:.4;min-height:44px}
.tbulk.enabled{opacity:1}
.tbulk svg{width:12px;height:12px}
.tbulk:disabled{cursor:default}

/* Tabla de series */
.adm-table-wrap{background:var(--in-card);border:1px solid rgba(255,0,110,.1);overflow-x:auto;border-radius:0!important}
table.adm-tbl{width:100%;border-collapse:collapse;min-width:800px}
table.adm-tbl th{padding:.6rem 1rem;font:700 .6rem var(--insanos-display);letter-spacing:.15em;text-transform:uppercase;color:var(--in-muted);background:var(--in-card-2,#0A0A18);border-bottom:1px solid rgba(255,0,110,.12);text-align:left;white-space:nowrap}
table.adm-tbl th:first-child{width:36px}
table.adm-tbl td{padding:.65rem 1rem;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.03);color:var(--in-text);vertical-align:middle}
table.adm-tbl tr:hover td{background:rgba(255,0,110,.03)!important}
table.adm-tbl tr.selected td{background:rgba(255,0,110,.06)!important}
table.adm-tbl tr.is-archived .tbl-title{color:var(--in-muted)}
.tbl-check{width:14px;height:14px;accent-color:var(--in-pink);cursor:pointer}
.tbl-cover{width:32px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.06);overflow:hidden}
.tbl-cover img{width:100%;height:100%;object-fit:cover}
.tbl-cover svg{width:14px;height:14px;color:var(--in-muted)}
.tbl-title{font-weight:700;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tbl-sub{font-size:.62rem;color:var(--in-muted);margin-top:.1rem}
.tbl-num{font-family:ui-monospace,Menlo,monospace;font-size:.72rem}
.tbl-views{font-size:.75rem;color:var(--in-cyan)}
.tbl-date{font-size:.7rem;color:var(--in-muted);white-space:nowrap}
.tbl-empty{text-align:center;color:var(--in-muted);padding:2.5rem 1rem!important}
.chapter-expansion{display:none}
.chapter-expansion.open{display:table-row}
.chapter-expansion-cell{padding:0 1rem 1rem!important;background:rgba(255,0,110,.02)!important}

/* Toggle switch (30×16) */
.tgl{position:relative;display:inline-block;width:30px;height:16px}
.tgl input{opacity:0;width:0;height:0}
.tgl-track{position:absolute;inset:0;background:rgba(255,255,255,.1);cursor:pointer;border:1px solid rgba(255,255,255,.12);transition:background .2s,border-color .2s;border-radius:0!important}
.tgl-track::before{content:"";position:absolute;width:10px;height:10px;background:var(--in-muted);top:2px;left:2px;transition:transform .2s,background .2s}
.tgl input:checked+.tgl-track{background:rgba(0,255,136,.15);border-color:rgba(0,255,136,.35)}
.tgl input:checked+.tgl-track::before{transform:translateX(14px);background:var(--in-green,#00FF88)}
.tgl input:disabled+.tgl-track{opacity:.4;cursor:default}

/* ============================================================
   VISTA NUEVA SERIE — form-grid 1fr/320px del mockup
   ============================================================ */
.form-grid{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start}
.form-panel{background:var(--in-card);border:1px solid rgba(255,0,110,.1);padding:1.2rem;border-radius:0!important}
.upload-launcher .form-panel{background:var(--in-card);border:1px solid rgba(255,0,110,.1);padding:1.2rem;border-radius:0!important}
.fp-title{font:700 .68rem var(--insanos-display);letter-spacing:.22em;color:var(--in-pink);text-transform:uppercase;margin-bottom:1.2rem;display:flex;align-items:center;gap:.5rem}
.fp-title::after{content:"";flex:1;height:1px;background:linear-gradient(to right,rgba(255,0,110,.3),transparent)}
.fp-title svg{width:12px;height:12px}
.form-row{margin-bottom:1rem}
.form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.form-label{font:700 .62rem var(--insanos-display);letter-spacing:.15em;text-transform:uppercase;color:var(--in-muted);margin-bottom:.4rem}
.form-input{width:100%;background:var(--in-card-2,#0A0A18);border:1px solid rgba(255,255,255,.08);color:var(--in-text);font-family:Rajdhani,system-ui,sans-serif;font-size:.88rem;padding:.55rem .8rem;outline:none;transition:border-color .2s}
.form-input:focus{border-color:var(--in-pink);box-shadow:0 0 8px rgba(255,0,110,.1)}
.form-input::placeholder{color:var(--in-muted)}
.form-select{width:100%;background:var(--in-card-2,#0A0A18);border:1px solid rgba(255,255,255,.08);color:var(--in-text);font-family:Rajdhani,system-ui,sans-serif;font-size:.88rem;padding:.55rem .8rem;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7299' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center}
.form-select:focus{border-color:var(--in-pink)}
.form-textarea{width:100%;background:var(--in-card-2,#0A0A18);border:1px solid rgba(255,255,255,.08);color:var(--in-text);font-family:Rajdhani,system-ui,sans-serif;font-size:.88rem;padding:.55rem .8rem;outline:none;resize:vertical;min-height:100px;line-height:1.5}
.form-textarea:focus{border-color:var(--in-pink)}
.genre-wrap{display:flex;flex-wrap:wrap;gap:.4rem}
.gchip{font:700 .62rem Rajdhani,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .55rem;background:rgba(144,0,255,.08);border:1px solid rgba(144,0,255,.2);color:var(--in-muted);cursor:pointer;transition:color .18s,border-color .18s,background .18s;user-select:none;appearance:none;outline-offset:2px;min-height:44px}
.gchip.on{background:rgba(144,0,255,.18);border-color:rgba(144,0,255,.5);color:rgba(190,110,255,.95)}
.upload-zone{border:1px dashed rgba(255,0,110,.35);padding:2.5rem 1rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:rgba(255,0,110,.03);outline:none}
.upload-zone:hover,.upload-zone.drag{border-color:var(--in-pink);background:rgba(255,0,110,.07)}
.upload-zone-icon{color:var(--in-pink);opacity:.5;display:block;margin-bottom:.6rem}
.upload-zone-icon svg{width:2rem!important;height:2rem!important}
.upload-zone-text{font-size:.78rem;color:var(--in-muted)}
.upload-zone-hint{font-size:.62rem;color:var(--in-muted)}
.upload-zone-preview{font-size:.7rem;color:var(--in-cyan);margin:.5rem 0 0;word-break:break-all}
.form-actions{display:flex;gap:.7rem;margin-top:1.5rem;flex-wrap:wrap}
.btn-green{background:var(--in-green,#00FF88)!important;color:#02020A!important;box-shadow:0 0 16px rgba(0,255,136,.3)!important}
.btn-green svg{width:13px;height:13px}
.btn-primary svg{width:13px;height:13px}
.btn-primary.btn-sm{padding:.38rem .85rem;font-size:.66rem}
.vip-row{display:flex;align-items:center;gap:.8rem;background:rgba(255,214,0,.04);border:1px solid rgba(255,214,0,.12);padding:.7rem .9rem}
.vip-label{font-size:.75rem;color:#FFD600;flex:1}
.vip-input{background:var(--in-card-2,#0A0A18);border:1px solid rgba(255,214,0,.2);color:#FFD600;font-family:var(--insanos-display);font-size:.75rem;padding:.28rem .6rem;width:70px;text-align:center;outline:none}
.vip-note{margin-top:.7rem;font-size:.68rem;color:var(--in-muted)}
.opt-stack{display:flex;flex-direction:column;gap:.7rem}
.opt-row{display:flex;align-items:center;gap:.6rem;font-size:.78rem;cursor:pointer;color:var(--in-text)}
.opt-note{margin-top:.5rem;font-size:.62rem;color:var(--in-muted)}

/* Security: highlighting + warning/success boxes del mockup */
.guide-code .hl-k{color:#FF006E}
.guide-code .hl-s{color:#00E5FF}
.guide-code .hl-c{color:#4a5568;font-style:italic}
.guide-code .hl-n{color:#FFD600}
.guide-code .hl-f{color:#9000FF}
.warning-box{background:rgba(255,176,32,.07);border:1px solid rgba(255,176,32,.22);padding:.7rem .9rem;display:flex;gap:.6rem;align-items:flex-start;margin:.5rem 0}
.warning-box-icon{color:#FFB020;flex-shrink:0;margin-top:.05rem}
.warning-box-icon svg{width:14px;height:14px}
.warning-box-text{font-size:.78rem;color:rgba(221,225,240,.8);line-height:1.5}
.success-box{background:rgba(0,255,136,.06);border:1px solid rgba(0,255,136,.18);padding:.7rem .9rem;display:flex;gap:.6rem;align-items:flex-start;margin:.5rem 0}
.success-box-icon{color:var(--in-green,#00FF88);flex-shrink:0;margin-top:.05rem}
.success-box-icon svg{width:14px;height:14px}
.success-box-text{font-size:.78rem;color:rgba(221,225,240,.8);line-height:1.5}
.success-box-text code,.warning-box-text code,.guide-block code{background:rgba(255,255,255,.06);padding:.05rem .3rem;font-family:ui-monospace,Menlo,monospace;font-size:.72rem;color:var(--in-cyan)}

/* Upload launcher: form-panel ya cubierto arriba */
@media(max-width:1100px){.form-grid{grid-template-columns:1fr}.admin-page .stats-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:620px){.form-row-2col{grid-template-columns:1fr}.admin-page .stats-grid{grid-template-columns:1fr!important}.table-bar .tsearch{max-width:100%}}

/* ============================================================
   F3 — FICHA: detalles del mockup
   ============================================================ */

/* Estrellas vacías doradas al 50% (mockup .star-h) */
.ficha-star.off{color:var(--in-gold);opacity:.5;fill:none}

/* Géneros clicables */
.ficha-gtag{transition:background .18s,border-color .18s,box-shadow .18s;cursor:pointer;text-decoration:none}
.ficha-gtag:hover{background:rgba(144,0,255,.18);border-color:rgba(144,0,255,.5);box-shadow:0 0 10px rgba(144,0,255,.25)}

/* Rating: número grande 3rem (mockup) */
.ficha-rating-bignum{font:900 3rem/1 var(--insanos-display)!important;color:var(--in-gold);text-shadow:0 0 20px rgba(255,214,0,.45)}

/* Distribución: animación de width .6s (el JS pone data-target y anima) */
.ficha-rb-fill{display:block;height:100%;transition:width .6s ease;min-width:0}
.ficha-rb-track{overflow:hidden;display:block}

/* Sección Sinopsis completa en el cuerpo */
.ficha-body-synopsis{margin-bottom:1.4rem}
.ficha-synopsis-full{font-size:.92rem;line-height:1.7;color:rgba(221,225,240,.85);margin:0;white-space:pre-wrap}

/* Botones icono: hover rosa más glow */
.ficha-btn-icon:hover{border-color:var(--in-pink);color:var(--in-pink);box-shadow:0 0 12px rgba(255,0,110,.2)}

/* Load-more con hover rosa (comparte con ficha-chapters-more) */
.cmt-more:hover{border-color:var(--in-pink)!important;color:var(--in-pink)!important}

/* ============================================================
   F4 — LANDING: tendencias, top lectores, footer del mockup
   ============================================================ */

/* Indicador de tendencia ▲▼ en rankings (iconos, sin emoji) */
.rup,.rdw,.rsm{display:inline-flex;align-items:center;font-size:.68rem;flex-shrink:0}
.rup{color:var(--in-green,#00FF88)}
.rup svg,.rdw svg{width:11px;height:11px}
.rdw{color:var(--in-pink)}
.rsm{color:var(--in-muted);opacity:.6}
.ranking-item{gap:.4rem}
.ranking-item svg:last-child{width:14px;height:14px;color:var(--in-muted);margin-left:auto}

/* Badge NUEVO en tarjetas de tendencia */
.series-badge-new{background:var(--in-pink)!important;color:#fff!important;font:700 .57rem var(--insanos-display);letter-spacing:.1em!important}

/* Top Lectores dentro del panel de actividad */
.top-readers-block{margin-top:1.2rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.06)}
.top-readers-title{font:700 .6rem var(--insanos-display);color:var(--in-gold,#FFD600);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.6rem;display:flex;align-items:center;gap:.35rem}
.top-readers-title svg{width:12px;height:12px}
.top-reader-row{display:flex;align-items:center;gap:.55rem;padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.03);font-size:.74rem}
.top-reader-num{font:700 .68rem var(--insanos-display);width:18px;text-align:center;flex-shrink:0}
.top-reader-name{font-weight:600;color:var(--in-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-reader-reads{font-size:.62rem;color:var(--in-muted)}

/* Footer: tagline con tracking del mockup + links con hover rosa */
.footer-tagline{letter-spacing:.22em;text-transform:uppercase}
.footer-links{display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap}
.footer-links a{font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--in-muted);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--in-pink)}

/* ============================================================
   F5 — STAFF: jerarquía, steps, copy verde del mockup
   ============================================================ */

.rh-icon{display:inline-flex;margin-bottom:.5rem}
.rh-icon svg{width:1.8rem;height:1.8rem}
.rh-perms{display:flex;flex-direction:column;gap:.3rem;margin-top:.6rem}
.rp{display:flex;align-items:center;gap:.4rem;font-size:.68rem}
.rp-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.dot-ok{background:var(--in-green,#00FF88)}
.dot-no{background:rgba(255,255,255,.12)}
.rp-text.ok{color:rgba(221,225,240,.8)}
.rp-text.no{color:rgba(107,114,153,.5);text-decoration:line-through}

/* Steps del modal (mockup) */
.steps{display:flex;align-items:center;gap:.3rem;margin-bottom:1.3rem}
.step{display:flex;align-items:center;gap:.3rem}
.step-num{width:22px;height:22px;border-radius:50%;border:1px solid;display:flex;align-items:center;justify-content:center;font:700 .58rem var(--insanos-display);flex-shrink:0}
.step.done .step-num{background:rgba(0,255,136,.1);border-color:var(--in-green,#00FF88);color:var(--in-green,#00FF88)}
.step.active .step-num{background:rgba(255,0,110,.1);border-color:var(--in-pink);color:var(--in-pink)}
.step.wait .step-num{border-color:rgba(255,255,255,.12);color:var(--in-muted)}
.step-text{font-size:.65rem;color:var(--in-muted)}
.step.active .step-text{color:var(--in-text)}
.step-line{flex:1;height:1px;background:rgba(255,255,255,.08)}

/* Botón copiar verde del mockup */
.btn-copy{display:inline-flex;align-items:center;gap:.35rem;background:rgba(0,255,136,.07)!important;border:1px solid rgba(0,255,136,.2)!important;color:var(--in-green,#00FF88)!important;padding:.38rem .9rem;font:700 .72rem Rajdhani,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .18s;box-shadow:none!important;clip-path:none!important;min-height:44px}
.btn-copy:hover{background:rgba(0,255,136,.14)!important}
.btn-copy.copied{background:rgba(0,255,136,.18)!important}
.copy-hint{font-size:.65rem;color:var(--in-muted)}

/* Role preview: tinte por rol en labels */
.rp-opt[data-role="coadmin"] .rp-opt-lbl,.rp-opt[data-role="coadmin"] svg{color:#b47aff}
.rp-opt[data-role="coadmin"].selected{background:rgba(144,0,255,.07)!important;border-color:rgba(144,0,255,.3)!important}
.rp-opt[data-role="coadmin"].selected svg{color:#9000FF}

/* ============================================================
   F5 — LOGIN: forgot-link y zap del mockup
   ============================================================ */
.acceso-rem-row{display:flex;align-items:center;justify-content:space-between;margin:0 0 1.3rem}
.acceso-recordar{margin:0}
.acceso-forgot{font-size:.72rem;color:var(--in-muted);text-decoration:none;transition:color .2s}
.acceso-forgot:hover{color:var(--in-pink)}
.acceso-logo-nombre svg{width:1.1rem;height:1.1rem;vertical-align:-2px;margin-right:2px}

/* gchip como <button>: focus visible del sistema */
.gchip:focus-visible{outline:2px solid var(--in-cyan);outline-offset:2px}
