*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:#0f0f13;color:#e8e8ed;line-height:1.5;min-height:100vh}
header{text-align:center;padding:2rem 1rem 1.5rem;background:linear-gradient(180deg,#1a1a24 0%,#0f0f13 100%);border-bottom:1px solid #2a2a35}
header h1{font-size:1.8rem;font-weight:700;letter-spacing:-0.02em}
.subtitle{color:#9898a6;font-size:0.95rem;margin-top:0.35rem}
main{max-width:1200px;margin:0 auto;padding:1.5rem 1rem 3rem}
#loading{text-align:center;padding:3rem;color:#9898a6}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.25rem}
.card{background:#1a1a24;border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border:1px solid #2a2a35}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.45)}
.card img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;background:#2a2a35}
.card .info{padding:.75rem .85rem 1rem}
.card h2{font-size:.95rem;font-weight:600;line-height:1.3;margin-bottom:.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vote{color:#f5c518;font-size:.85rem;font-weight:600;margin-bottom:.35rem}
.overview{font-size:.78rem;color:#9898a6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.empty{grid-column:1/-1;text-align:center;color:#9898a6;padding:2rem}
footer{text-align:center;padding:1.25rem;color:#5a5a6a;font-size:.8rem;border-top:1px solid #2a2a35}
.ui-dialog{border-radius:10px!important;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.6)!important}
.ui-dialog-titlebar{background:#1a1a24!important;color:#e8e8ed!important;border:none!important}
.ui-dialog-content{background:#0f0f13!important;color:#e8e8ed!important;padding:.5rem!important}
.ui-dialog-content iframe{border-radius:6px}