*{box-sizing:border-box}
:root{
  --bg:#080b12;--panel:#111621;--panel2:#151b28;--line:#263142;
  --text:#f5f7fb;--muted:#8e9aae;--accent:#35f0ad;--accent2:#19c8ff;
  --danger:#ff5e73;--shadow:0 18px 50px rgba(0,0,0,.35)
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;min-height:100vh;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 80%)}
.aurora{position:fixed;width:480px;height:480px;border-radius:50%;filter:blur(100px);opacity:.12;pointer-events:none}
.aurora-one{background:var(--accent);top:-260px;left:-180px}.aurora-two{background:var(--accent2);right:-240px;top:280px}
.hero{border-bottom:1px solid rgba(53,240,173,.28);background:linear-gradient(180deg,rgba(10,16,25,.92),rgba(8,11,18,.76));position:relative}
.nav{max-width:1320px;margin:auto;padding:22px 28px;display:flex;justify-content:space-between;align-items:center}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06100e;font-weight:900;font-size:21px;box-shadow:0 0 24px rgba(53,240,173,.25)}
.brand strong{display:block;font-size:15px}.brand span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.nav-pill{border:1px solid var(--line);padding:8px 12px;border-radius:999px;color:#b9c4d3;font-size:12px;background:rgba(255,255,255,.025)}.live-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 10px var(--accent);margin-right:7px}
.hero-content{max-width:1320px;margin:auto;padding:58px 28px 42px;text-align:center}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:3px;color:var(--accent);margin-bottom:13px}
h1{font-size:clamp(36px,6vw,68px);line-height:1;margin:0;font-weight:800;letter-spacing:-2.5px}h1 span{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--muted);margin:18px auto 32px;max-width:620px;font-size:15px;line-height:1.6}
.controls{display:flex;gap:10px;max-width:1050px;margin:auto;flex-wrap:wrap;justify-content:center}
.search{height:48px;flex:1 1 350px;display:flex;align-items:center;gap:10px;padding:0 13px 0 16px;border:1px solid #2d394a;border-radius:15px;background:#0f141e;box-shadow:inset 0 0 0 1px rgba(255,255,255,.01);transition:.2s}
.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(53,240,173,.08)}
.search svg{width:18px;stroke:#7e8a9e;fill:none;stroke-width:2}.search input{width:100%;border:0;outline:0;background:none;color:var(--text);font:inherit}.search input::placeholder{color:#687488}.search kbd{border:1px solid #334052;border-radius:6px;color:#687488;padding:3px 7px;font-size:11px}
select{height:48px;border:1px solid #2d394a;border-radius:15px;background:#0f141e;color:#dbe2ec;padding:0 38px 0 14px;font:inherit;cursor:pointer;outline:0}select:focus{border-color:var(--accent)}
main{max-width:1320px;margin:auto;padding:24px 28px 55px}
.stats{display:flex;align-items:center;gap:34px;border:1px solid var(--line);background:rgba(17,22,33,.75);border-radius:16px;padding:15px 18px;margin-bottom:22px}
.stats>div{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:9px;letter-spacing:1.5px;color:#647084;font-weight:800}.stats strong{font-size:13px}.status-legend{margin-left:auto!important;flex-direction:row!important;align-items:center;gap:15px!important;color:#8e9aae;font-size:11px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px}.alive{background:#55dc55;box-shadow:0 0 9px rgba(85,220,85,.4)}.dead{background:#ff596d}.unknown{background:#9ba5b4}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:linear-gradient(180deg,#141a26,#10151f);box-shadow:var(--shadow);cursor:pointer;transition:transform .22s,border-color .22s,box-shadow .22s;animation:rise .35s ease both}
.card:hover{transform:translateY(-6px);border-color:rgba(53,240,173,.65);box-shadow:0 22px 55px rgba(0,0,0,.5),0 0 0 1px rgba(53,240,173,.08)}
.card-img{position:relative;aspect-ratio:1/1;overflow:hidden;background:#0d1119}.card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.card:hover img{transform:scale(1.045)}
.card-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.22))}
.badge{position:absolute;z-index:2;left:11px;top:11px;background:rgba(5,9,14,.78);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700}
.badge i{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px}.badge.alive i{background:#55dc55}.badge.dead i{background:#ff596d}.badge.unknown i{background:#9ba5b4}
.card-body{padding:14px 15px 16px}.card h3{font-size:15px;margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{display:flex;gap:7px;align-items:center;color:#8995a8;font-size:11px}.meta .species{color:#b8c1cf}.meta span+span:before{content:"•";margin-right:7px;color:#475366}
.skeleton{height:315px;border-radius:17px;background:linear-gradient(90deg,#111722 20%,#18202c 40%,#111722 60%);background-size:200% 100%;animation:shimmer 1.2s infinite}
.error{border:1px solid rgba(255,89,109,.35);background:rgba(255,89,109,.07);padding:15px;border-radius:14px;color:#ff9eaa;margin-bottom:20px}
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:28px}.page-btn,.page-numbers button{height:40px;border:1px solid var(--line);background:#111722;color:#c9d1dc;border-radius:11px;padding:0 13px;cursor:pointer}.page-btn:hover:not(:disabled),.page-numbers button:hover{border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.35;cursor:not-allowed}.page-numbers{display:flex;gap:6px}.page-numbers .active{background:rgba(53,240,173,.1);border-color:var(--accent);color:var(--accent)}
.modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:rgba(2,5,9,.78);backdrop-filter:blur(10px)}.modal-card{position:relative;z-index:1;width:min(760px,100%);display:grid;grid-template-columns:320px 1fr;overflow:hidden;background:#111722;border:1px solid #2b3748;border-radius:22px;box-shadow:0 35px 100px #000}.modal-card>img{width:100%;height:100%;object-fit:cover;min-height:340px}.modal-info{padding:34px}.close{position:absolute;right:14px;top:12px;z-index:2;border:0;background:rgba(0,0,0,.55);color:white;width:34px;height:34px;border-radius:50%;font-size:24px;cursor:pointer}.modal-info .badge{position:static;display:inline-block;margin-bottom:15px}.modal-info h2{font-size:32px;margin:0 0 25px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-grid div{padding:13px;border:1px solid var(--line);border-radius:12px}.detail-grid span{display:block;color:#687488;text-transform:uppercase;font-size:9px;letter-spacing:1px;margin-bottom:5px}.detail-grid strong{font-size:12px;word-break:break-word}
footer{max-width:1320px;margin:auto;padding:20px 28px 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#586476;font-size:11px}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{to{background-position:-200% 0}}
@media(max-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:730px){.grid{grid-template-columns:repeat(2,1fr)}.stats{gap:15px;flex-wrap:wrap}.status-legend{margin-left:0!important}.modal-card{grid-template-columns:1fr}.modal-card>img{max-height:330px}.modal-info{padding:22px}}@media(max-width:500px){.nav,.hero-content,main,footer{padding-left:16px;padding-right:16px}.grid{grid-template-columns:1fr}.stats{display:grid;grid-template-columns:1fr 1fr}.controls>*{width:100%;flex-basis:100%}.pagination{flex-wrap:wrap}.page-numbers{order:3;width:100%;justify-content:center}}
