:root{
  --bg:#0d0d10; --bg2:#16161c; --card:#1b1b22; --line:#26262f;
  --text:#f2f2f4; --muted:#9a9aa6; --accent:#ff4d6d; --accent2:#ff7a93;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--text);text-decoration:none}
a:hover{color:var(--accent2)}
.site-header{display:flex;gap:16px;align-items:center;padding:12px 18px;background:var(--bg2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;flex-wrap:wrap}
.logo{font-size:24px;font-weight:900;letter-spacing:.5px;color:#fff}
.logo span{color:var(--accent)}
.logo small{color:var(--muted);font-size:13px;font-weight:600}
.search{flex:1;display:flex;min-width:200px;max-width:560px}
.search input{flex:1;background:#0a0a0d;border:1px solid var(--line);border-radius:8px 0 0 8px;color:var(--text);padding:9px 12px;font-size:15px}
.search button{background:var(--accent);color:#fff;border:0;border-radius:0 8px 8px 0;padding:9px 16px;font-weight:700;cursor:pointer}
.user-nav{display:flex;gap:14px;align-items:center;font-size:14px}
.btn{background:var(--accent);color:#fff!important;padding:8px 14px;border-radius:8px;font-weight:700;border:0;cursor:pointer;display:inline-block}
.main-nav{display:flex;gap:4px;padding:8px 18px;background:var(--bg2);border-bottom:1px solid var(--line);overflow-x:auto}
.main-nav a{padding:7px 12px;border-radius:20px;font-size:14px;white-space:nowrap;color:var(--muted)}
.main-nav a:hover{background:var(--card);color:#fff}
main{max-width:1340px;margin:0 auto;padding:18px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 16px}
.chip{background:var(--card);border:1px solid var(--line);padding:6px 13px;border-radius:20px;font-size:13px}
.chip.tag{color:var(--accent2)}
.block-title{font-size:20px;margin:22px 0 12px}
.page-title{font-size:26px;margin:8px 0 14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.shorts-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.card{background:var(--card);border-radius:10px;overflow:hidden}
.card .thumb{position:relative;display:block;aspect-ratio:16/9;background:#000}
.card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.card .dur{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.8);padding:2px 6px;border-radius:4px;font-size:12px}
.badge{position:absolute;top:6px;left:6px;background:var(--accent);color:#fff;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:800}
.badge.short{left:auto;right:6px;top:6px;background:#7a4dff}
.card-title{font-size:14px;margin:8px 10px 4px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .meta{display:flex;justify-content:space-between;padding:0 10px 10px;color:var(--muted);font-size:12.5px}
.card .rate{color:#7ddb8a}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.cat-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:6px}
.cat-card span{color:var(--muted);font-size:13px}
.seo-text{color:var(--muted);max-width:820px;line-height:1.55;margin-bottom:14px}
.empty-note,.more-note{color:var(--muted)}
.player-wrap{background:#000;border-radius:12px;overflow:hidden}
.player-wrap video{width:100%;max-height:78vh;display:block}
.video-page h1{font-size:24px;line-height:1.3;margin:14px 0 6px}
.video-meta{color:var(--muted);font-size:14px;display:flex;gap:6px;flex-wrap:wrap}
.video-actions{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap;align-items:center}
.video-actions button{background:var(--card);border:1px solid var(--line);color:var(--text);padding:8px 14px;border-radius:8px;cursor:pointer}
.video-desc{color:#d7d7de;line-height:1.6;max-width:860px}
.short-note{background:var(--card);padding:12px;border-radius:8px}
.comments{margin-top:28px;max-width:860px}
.comments textarea{width:100%;background:#0a0a0d;border:1px solid var(--line);border-radius:8px;color:var(--text);padding:10px;min-height:70px}
.comments button{margin-top:8px;background:var(--accent);color:#fff;border:0;padding:8px 16px;border-radius:8px;font-weight:700;cursor:pointer}
.comment{border-top:1px solid var(--line);padding:10px 0}
.comment time{color:var(--muted);font-size:12px;margin-left:8px}
.auth-form{display:flex;flex-direction:column;gap:12px;max-width:420px}
.auth-form label{display:flex;flex-direction:column;gap:5px;font-size:14px;color:var(--muted)}
.auth-form label.check{flex-direction:row;align-items:flex-start;gap:8px;color:var(--text)}
.auth-form input{background:#0a0a0d;border:1px solid var(--line);border-radius:8px;color:var(--text);padding:10px}
.flash{background:#3a1520;border:1px solid var(--accent);padding:10px 14px;border-radius:8px;max-width:520px}
.legal-body{max-width:860px;line-height:1.65;color:#d7d7de}
.legal-body h3{color:#fff}
.site-footer{border-top:1px solid var(--line);margin-top:40px;padding:22px 18px;color:var(--muted);font-size:13px;text-align:center}
.site-footer nav{display:flex;gap:16px;justify-content:center;margin:10px 0;flex-wrap:wrap}
.age-note{max-width:760px;margin:0 auto}
.error-page{text-align:center;padding:50px 0}
@media (max-width:640px){ .grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px} .logo{font-size:20px} main{padding:12px} }

/* ===== Previews animadas en tarjetas ===== */
.card .thumb video.preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#000}
.card.is-short .thumb{aspect-ratio:9/16}

/* ===== Panel de administración ===== */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:10px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;text-align:center}
.stat strong{display:block;font-size:26px;color:var(--accent2)}
.stat span{color:var(--muted);font-size:13px}
.admin-row{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px}
.admin-row img{width:96px;height:54px;object-fit:cover;border-radius:6px;background:#000}
.admin-nothumb{width:96px;height:54px;background:#000;border-radius:6px;display:block;flex:none}
.admin-row-main{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.admin-row-main small{color:var(--muted)}
.btn-danger{background:#8c1d2f}
.admin-search{display:flex;gap:8px;margin-bottom:14px}
.admin-search input{flex:1;background:#0a0a0d;border:1px solid var(--line);border-radius:8px;color:var(--text);padding:10px}
.auth-form select,.auth-form textarea{background:#0a0a0d;border:1px solid var(--line);border-radius:8px;color:var(--text);padding:10px;font-family:inherit;font-size:14px}

/* ===== Modo Cine ===== */
body.cinema{background:#000}
body.cinema .site-header,body.cinema .main-nav,body.cinema .site-footer,body.cinema .comments,body.cinema .video-desc,body.cinema .chips,body.cinema .short-note{display:none}
body.cinema main{max-width:1080px;padding-top:26px}
body.cinema .player-wrap{box-shadow:0 0 70px rgba(255,77,109,.16)}

/* ===== Móvil: rejilla, tacto y cabecera ===== */
@media (max-width:820px){
  .site-header{gap:10px;padding:10px 12px}
  .search{order:3;flex:1 1 100%;max-width:none}
  .search input{padding:11px 12px}
  .search button{padding:11px 16px}
  .user-nav{margin-left:auto;gap:10px}
  .user-nav a{padding:8px 2px}
  .main-nav{padding:6px 10px}
  .main-nav a{padding:10px 12px}
  .grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .shorts-grid{grid-template-columns:repeat(3,1fr)}
  .card-title{font-size:13px;margin:7px 8px 3px}
  .card .meta{padding:0 8px 8px;font-size:11.5px}
  .btn{min-height:42px;display:inline-flex;align-items:center}
  .video-actions button{min-height:42px;padding:8px 12px}
  .video-page h1{font-size:20px}
  .page-title{font-size:22px}
  main{padding:12px}
  .admin-row img,.admin-nothumb{width:72px;height:44px}
  .stat-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}
}
