.species-card {
    display:flex;
    flex-direction:column;
    position: relative;
    min-width: 0;
    overflow: hidden;
    clip-path: polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
    border: 1px solid #313a34;
    background: linear-gradient(145deg,#171d19,#0b0f0d);
    color:inherit;
    text-decoration:none;
    transition: transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease;
}
.species-card:hover { transform:translateY(-6px); border-color:var(--orange); box-shadow:0 18px 40px rgba(0,0,0,.5),0 0 22px rgba(199,102,39,.09); }
.species-card .card-main { display:flex; flex:1 1 auto; flex-direction:column; min-height:0; color:inherit; text-decoration:none; }
.card-body { display:flex; flex:1 1 auto; flex-direction:column; padding:18px 18px 20px; }
.card-top { display:flex; align-items:start; justify-content:space-between; gap:10px; }
.card-title { overflow:hidden; margin:0; font-size:1rem; font-weight:650; letter-spacing:.025em; white-space:nowrap; text-overflow:ellipsis; }
.rating { flex:0 0 auto; color:var(--gold); font:700 .72rem/1.4 "Courier New",monospace; }
.card-meta { display:flex; gap:7px; margin-top:11px; flex-wrap:wrap; }
.tag { padding:5px 7px; color:#9db8ae; font-size:.61rem; letter-spacing:.08em; text-transform:uppercase; background:rgba(62,107,95,.15); border:1px solid rgba(82,150,132,.22); }
.tag.orange { color:#d7a16f; border-color:rgba(199,102,39,.25); background:rgba(199,102,39,.08); }
.featured-card { border-color:#78502e; }
.featured-card .portrait { height:210px; }
.featured-card .card-body { min-height:114px; }
.detailed-card-badge { position:absolute; z-index:7; top:14px; right:0; padding:7px 11px; color:#171009; font:800 .58rem/1 "Courier New",monospace; letter-spacing:.12em; text-transform:uppercase; background:var(--gold); }
.featured-details { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:17px 0 0; padding-top:14px; border-top:1px solid #302b25; }
.featured-details div { min-width:0; }
.featured-details dt { margin:0 0 4px; color:#777d76; font:700 .55rem/1 "Courier New",monospace; letter-spacing:.1em; text-transform:uppercase; }
.featured-details dd { overflow:hidden; margin:0; color:#c7c2b8; font-size:.68rem; white-space:nowrap; text-overflow:ellipsis; }
.card-detail-link { display:block; margin-top:auto; padding-top:12px; border-top:1px solid rgba(199,102,39,.18); color:var(--gold); font:700 .62rem "Courier New",monospace; letter-spacing:.1em; text-align:right; text-transform:uppercase; }
.species-card .card-main:focus-visible { outline:2px solid var(--orange-hot); outline-offset:-2px; }
.featured-unavailable { min-height:326px; display:grid; place-items:center; padding:30px; color:var(--muted); text-align:center; }
