:root{--bg:#0b0d12;--panel:#11151d;--border:#1f2533;--accent:#d30d0d;--text:#e6e9ef}
*{box-sizing:border-box;font-family:system-ui,sans-serif}
body{margin:0;background:var(--bg);color:var(--text)}

header{position:sticky;top:0;z-index:10;background:linear-gradient(180deg,#0f1420,#0b0d12);padding:14px;border-bottom:1px solid var(--border);animation:slide .3s ease}
.brand h1{margin:0;color:var(--accent)}
.brand .sub{opacity:.8;font-size:.9rem}
.controls{display:flex;gap:10px;margin-top:10px;align-items:center}
#search{flex:1;padding:12px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px}
#search:focus{border-color:var(--accent)}
.pager{display:flex;gap:6px;align-items:center}
.pager button{background:var(--panel);border:1px solid var(--border);color:var(--text);padding:8px 10px;border-radius:6px;cursor:pointer}
.pager button:hover{border-color:var(--accent)}

.credits{display:flex;gap:16px;flex-wrap:wrap;padding:10px 14px;background:#0f1420;border-bottom:1px solid var(--border);font-size:.85rem}
.credits a{color:var(--accent);text-decoration:none}

#grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding:20px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px;cursor:pointer;opacity:0;transform:translateY(8px);animation:fade .2s ease forwards}
.card img{width:100%;border-radius:6px;margin-bottom:8px}
.card .name{font-weight:600;font-size:.95rem}
.card .hash{font-size:.8rem;opacity:.7}

#status{text-align:center;padding:16px;opacity:.7}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;z-index:50}
.modal.open{display:flex}
.modal-inner{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px;max-width:90vw;max-height:90vh;animation:pop .15s ease}
.modal-inner img{max-width:80vw;max-height:70vh;border-radius:8px}
.meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.meta button{background:var(--panel);border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:6px;cursor:pointer}
.meta button:hover{border-color:var(--accent)}

@keyframes fade{to{opacity:1;transform:none}}
@keyframes slide{from{transform:translateY(-10px);opacity:0}to{transform:none;opacity:1}}
@keyframes pop{from{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}
