:root{
  --bg-1:#0b0f14; --bg-2:#10161d;
  --text:#e8edf3; --muted:#a9b4c0;
  --stroke:rgba(255,255,255,.08);
  --card:rgba(255,255,255,.05);
  --primary:#ff4d4f;       /* botón y acentos cálidos */
  --accent:#5ae0a6;        /* acentos fríos */
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; color:var(--text);
  background:
    radial-gradient(1000px 500px at 20% -10%, #1c2f47 0%, transparent 55%),
    radial-gradient(1000px 500px at 120% 10%, #173624 0%, transparent 55%),
    linear-gradient(180deg,var(--bg-1),var(--bg-2));
  font-family:"Inter",system-ui,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.55;
}

/* Header */
.site-header{
  position:sticky; top:0; z-index:10;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 22px; border-bottom:1px solid var(--stroke);
  background:linear-gradient(180deg, rgba(16,22,29,.92), rgba(16,22,29,.7));
  backdrop-filter:saturate(140%) blur(6px);
}
.brand{display:flex; align-items:center; gap:10px; font-weight:800}
.brand .dot{width:10px;height:10px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),#3ac2f3);
  box-shadow:0 0 12px rgba(90,224,166,.7)}
.actions .link{color:var(--muted); text-decoration:none; margin-left:16px; font-weight:600}
.actions .link:hover{color:var(--text)}

/* Hero */
.hero{
  padding:48px 16px 24px;
  text-align:center;
}
.hero-inner{max-width:820px;margin:0 auto}
.hero h1{margin:0 0 8px; font-size:clamp(28px,4vw,44px); letter-spacing:.2px}
.hero p{margin:0; color:var(--muted)}

/* Layout */
.container{max-width:1100px; margin:22px auto 40px; padding:0 20px}

/* Form card */
.card-form{
  display:grid; gap:14px;
  grid-template-columns: 1.5fr repeat(2, minmax(160px, 220px)) auto;
  padding:20px; border:1px solid var(--stroke); border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:0 10px 30px rgba(0,0,0,.35); margin:0 auto 24px; max-width:900px;
}
.card-form label{font-size:.86rem; color:var(--muted)}
.card-form input,.card-form select{
  width:100%; padding:12px 14px; border-radius:12px; border:1px solid var(--stroke);
  background:rgba(255,255,255,.04); color:var(--text); outline:none;
}
.card-form input::placeholder{color:#93a1af}

.btn{
  align-self:end; padding:12px 18px; border-radius:12px; border:0; cursor:pointer;
  font-weight:800; letter-spacing:.2px; color:#0c1218;
  background:linear-gradient(135deg,var(--primary),#ff6b6c);
  box-shadow:0 10px 24px rgba(255,77,79,.25), inset 0 0 0 1px rgba(255,255,255,.12);
  transition:transform .08s ease, filter .15s ease;
}
.btn:hover{filter:saturate(1.05) brightness(1.05)}
.btn:active{transform:translateY(1px)}
.btn.ghost{
  background:transparent; color:var(--text); border:1px solid var(--stroke);
  box-shadow:none;
}

/* Grid */
.grid{
  display:grid; gap:18px;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
}
.card{
  border:1px solid var(--stroke); border-radius:16px; overflow:hidden;
  background:rgba(255,255,255,.04);
  transform:translateZ(0);
  transition:transform .12s ease, box-shadow .2s ease, background .2s ease;
}
.card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(0,0,0,.35);
  background:rgba(255,255,255,.06);
}
.poster{aspect-ratio:2/3; width:100%; object-fit:cover; display:block; background:#0f1620}
.content{padding:12px 12px 14px}
.title{
  font-size:1rem; font-weight:700; margin:0 0 6px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.meta{display:flex; align-items:center; justify-content:space-between; font-size:.9rem}
.muted{color:var(--muted)}
.badge{
  font-weight:800; font-size:.78rem; padding:4px 8px; border-radius:8px;
  color:#061017; background:linear-gradient(135deg,var(--accent),#3ac2f3);
}

/* Pager */
.pager{display:flex; align-items:center; gap:12px; justify-content:center; margin:24px 0}

/* Modal */
.modal{position:fixed; inset:0; display:none; place-items:center; z-index:1000;
  background:rgba(5,10,15,.65); backdrop-filter: blur(6px)}
.modal.open{display:grid}
.modal-content{
  width:min(900px,92vw); max-height:85vh; overflow:auto;
  background:linear-gradient(180deg, rgba(19,25,32,.96), rgba(16,22,29,.96));
  border:1px solid var(--stroke); border-radius:18px; padding:18px;
  box-shadow:0 24px 60px rgba(0,0,0,.6); position:relative;
}
.modal-content .close{
  position:absolute; top:10px; right:10px; border:0; background:transparent;
  color:var(--muted); font-size:20px; cursor:pointer;
}
.modal-content .close:hover{color:var(--text)}

/* Responsive */
@media (max-width:900px){
  .card-form{grid-template-columns:1fr 1fr}
  .btn{grid-column:1/-1}
}