/**
 * Discovery of Nature 0.2.76 — approved cinematic visual language on /turler/.
 * Only the directory; single-species taxonomy, editorial pages and Core are unchanged.
 * No sample images, species, translated labels or fabricated routes.
 */
body.dn-dark-species {
  --don-cinema-bg: #07140c;
  --don-cinema-panel: #102017;
  --don-cinema-elevated: #182e20;
  --don-cinema-ink: #f8f9f4;
  --don-cinema-muted: #d3dfcc;
  --don-cinema-green: var(--don-accent);
  --don-cinema-line: var(--don-line);
  --don-cinema-shadow: var(--don-shadow-elevated);
  background: var(--don-cinema-bg);
}
body.dn-dark-species .species-directory {
  padding-block: clamp(9px,1.1vw,17px) clamp(48px,7vw,94px);
  color: var(--don-cinema-ink);
  background: var(--don-cinema-bg);
}
body.dn-dark-species .species-directory :is(.species-directory__hero,.species-directory__controls,.species-directory__fallback,.species-directory__empty) { min-width: 0; }
/* Small photographic entrance, not a full-viewport banner. Existing media only. */
body.dn-dark-species .species-directory__hero {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: clamp(210px,22vw,286px);
  overflow: hidden;
  padding: clamp(23px,3.5vw,42px);
  border: 1px solid var(--don-cinema-line);
  border-radius: 14px;
  background: radial-gradient(ellipse at 83% 25%,#264a2c 0%,#14281a 37%,#0b170f 76%);
  box-shadow: var(--don-shadow-elevated), inset 0 1px 0 rgba(219,255,202,.045);
}
body.dn-dark-species .species-directory__hero-media {
  position: absolute;
  z-index: -2;
  inset: 0;
  overflow: hidden;
}
body.dn-dark-species .species-directory__hero-media img {
  width: 100%;height: 100%;object-fit: cover;object-position: 65% 45%;
  filter: saturate(1.08) contrast(1.07);
}
body.dn-dark-species .species-directory__hero--with-image::after {
  position: absolute;
  content: '';
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg,rgba(3,14,7,.96) 0%,rgba(3,14,7,.87) 36%,rgba(3,14,7,.28) 78%),linear-gradient(0deg,rgba(3,14,7,.48),transparent 70%);
  pointer-events: none;
}
body.dn-dark-species .species-directory__hero-content{position:relative;max-width: 750px;min-width:0;}
body.dn-dark-species .species-directory__hero .breadcrumbs {margin-bottom: clamp(8px,1vw,14px);color:#d0e2cc;}
body.dn-dark-species .species-directory__hero .breadcrumbs a {color:#e5f2df;}
body.dn-dark-species .species-directory__hero .eyebrow {color:var(--don-cinema-green);font-size:.66rem;letter-spacing:.15em;}
body.dn-dark-species .species-directory__hero h1 {
  max-width: 15ch;
  margin-top: 5px;
  color: var(--don-cinema-ink);
  font-family: var(--wpia-serif);
  font-size: clamp(2.35rem,3.6vw,3.95rem);
  letter-spacing: -.038em;
  line-height: 1.04;
  text-shadow: 0 3px 18px rgba(0,0,0,.37);
}
body.dn-dark-species .species-directory__hero > .species-directory__hero-content > p:not(.eyebrow) {
  max-width: 56ch;
  margin-top: 10px;
  color: #e5f0df;
  font-size: clamp(.82rem,1vw,.96rem);
  line-height: 1.55;
  text-shadow: 0 1px 8px rgba(0,0,0,.62);
}
body.dn-dark-species .species-directory__count {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  max-width: 100%;
  margin-top: 15px;
  padding: 6px 12px;
  border: 1px solid var(--don-line-strong);
  border-radius: 999px;
  background: rgba(6,25,11,.62);
  color: #d5ffc8;
  font-size: .7rem;
  letter-spacing: .035em;
}
body.dn-dark-species .species-directory__controls {
  margin-top: clamp(19px,2.4vw,28px);
  padding: clamp(17px,2vw,24px);
  border: 1px solid var(--don-cinema-line);
  border-radius: 13px;
  background: linear-gradient(145deg,rgba(22,44,28,.97),rgba(10,28,15,.98));
  box-shadow: var(--don-cinema-shadow);
}
body.dn-dark-species .species-directory__control-heading {margin-bottom: 12px;}
body.dn-dark-species .species-directory__control-heading h2,
body.dn-dark-species .species-directory__fallback .section-heading h2,
body.dn-dark-species .species-letter-group__heading h2 {
  color: var(--don-cinema-ink);
  font-family: var(--wpia-serif);
  font-weight: 700;
  letter-spacing: -.025em;
}
body.dn-dark-species .species-directory__control-heading h2 {font-size:clamp(1.45rem,2vw,2rem);}
body.dn-dark-species .species-directory__search {max-width:none;gap:8px;}
body.dn-dark-species .species-directory__search > label {color:#cce3c1;}
body.dn-dark-species .species-directory__search-row {
  overflow: hidden;
  border: 1px solid var(--don-line-strong);
  border-radius: 9px;
  background: #0b1b11;
}
body.dn-dark-species .species-directory__search-row:focus-within {
  border-color:var(--don-line-focus);
  box-shadow:0 0 0 2px rgba(183,232,158,.09);
}
body.dn-dark-species .species-directory__search-row input {min-height:48px;color:#f6faf2;}
body.dn-dark-species .species-directory__search-row input::placeholder {color:#aebead;opacity:1;}
body.dn-dark-species .species-directory__search-row button,
body.dn-dark-species .species-directory__reset {
  border: 1px solid var(--don-accent);
  border-radius: 7px;
  background: var(--don-accent);
  color:#102417;
  box-shadow:0 4px 14px rgba(0,0,0,.15);
  font-weight:800;
}
body.dn-dark-species .species-directory__search-row button {border-radius:0 7px 7px 0;min-width:78px;}
body.dn-dark-species .species-class-strip {margin-top:14px;padding-block:2px 6px;}
body.dn-dark-species .species-class-strip a,
body.dn-dark-species .species-alphabet :is(a,span) {
  border:1px solid var(--don-line);
  border-radius:8px;
  background:#10231a;
  color:#d3e5ce;
  text-decoration:none;
}
body.dn-dark-species .species-class-strip a:is(:hover,:focus-visible,.is-current),
body.dn-dark-species .species-alphabet a:is(:hover,:focus-visible) {
  border-color:#b6f8a4;
  background:#b6f8a4;
  color:#102417;
}
body.dn-dark-species .species-class-strip a.is-current {font-weight:850;}
body.dn-dark-species .species-alphabet {
  display:flex;flex-wrap:wrap;gap:7px;
  padding:0;margin:clamp(18px,2vw,25px) 0 clamp(16px,2vw,26px);
  border:0;
}
body.dn-dark-species .species-alphabet :is(a,span) {
  flex: 0 0 40px;
  min-height:44px;
  font-size:.76rem;
}
body.dn-dark-species .species-alphabet span[aria-disabled="true"] {
  color:#839482;opacity:1;background:#0a170f;border-color:rgba(195,232,180,.13);
}
body.dn-dark-species .species-directory__result-summary {margin:0 0 19px;color:var(--don-cinema-muted);}
body.dn-dark-species .species-directory__groups {gap:clamp(24px,3.4vw,44px);}
body.dn-dark-species .species-letter-group {scroll-margin-top:115px;}
body.dn-dark-species .species-letter-group__heading {
  align-items:center;
  margin-bottom:15px;
  padding-bottom:11px;
  border-bottom:1px solid var(--don-cinema-line);
}
body.dn-dark-species .species-letter-group__heading h2 {font-size:clamp(1.65rem,2.5vw,2.45rem);}
body.dn-dark-species .species-grid--directory {grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;}
body.dn-dark-species .species-grid--directory .species-card {
  display:flex;flex-direction:column;
  min-width:0;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(195,232,180,.23);
  border-radius:12px;
  background:var(--don-cinema-panel);
  box-shadow:var(--don-cinema-shadow);
}
body.dn-dark-species .species-grid--directory .species-card__media {width:100%;aspect-ratio: 4/3;margin:0;background:#1c3524;}
body.dn-dark-species .species-grid--directory .species-card__media img {width:100%;height:100%;object-fit:cover;}
body.dn-dark-species .species-grid--directory .species-card__body {min-width:0;padding:11px 12px 14px;}
body.dn-dark-species .species-grid--directory .species-card__name {font-size:clamp(.86rem,1.05vw,1.03rem);line-height:1.2;letter-spacing:-.015em;overflow-wrap:anywhere;}
body.dn-dark-species .species-grid--directory .species-card__name a {color:#f7fbf4;}
body.dn-dark-species .species-grid--directory .species-card__scientific {color:#c8d6c3;font-size:.72rem;line-height:1.3;overflow-wrap:anywhere;}
body.dn-dark-species .species-grid--directory .species-card--spotlight {
  position:relative;grid-column:span 2;grid-row:span 2;
  min-height:325px;
  border-color:rgba(189,249,165,.46);
  background:#0b1a10;
  box-shadow:0 17px 38px rgba(0,0,0,.42),0 0 24px rgba(127,235,114,.11);
}
body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__media {
  position:absolute;inset:0;z-index:0;width:100%;height:100%;aspect-ratio:auto;
}
body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__media::after {
  position:absolute;inset:0;content:'';pointer-events:none;
  background:linear-gradient(0deg,rgba(3,13,7,.98),rgba(3,13,7,.52) 38%,rgba(3,13,7,.04) 75%);
}
body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__body {
  position:relative;z-index:1;
  margin-top:auto;padding:clamp(16px,2vw,23px);
  pointer-events:none;
}
body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__body a {pointer-events:auto;}
body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__name {
  max-width:19ch;font-family:var(--wpia-serif);
  font-size:clamp(1.45rem,2.3vw,2.3rem);line-height:1.08;
  text-shadow:0 2px 14px rgba(0,0,0,.65);
}
body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__scientific {margin-top:7px;color:#e0ebdc;font-size:.85rem;}
body.dn-dark-species .species-card__spotlight-link {
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;margin-top:17px;padding:9px 15px;
  border:1px solid var(--don-accent);border-radius:var(--don-radius-control);
  background:var(--don-accent);
  color:#102417;font:.8rem/1.2 var(--wpia-sans);font-weight:800;
  text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.15);
}
body.dn-dark-species .species-directory__fallback {
  padding-block:clamp(20px,3vw,36px) clamp(36px,5vw,60px);
}
body.dn-dark-species .species-directory__fallback .section-heading {border-color:var(--don-cinema-line);}
body.dn-dark-species .species-directory__fallback-copy {color:var(--don-cinema-muted);}
body.dn-dark-species .species-grid--content-groups .species-card__media {aspect-ratio:1/1;}
body.dn-dark-species .species-grid--content-groups .species-card__name {font-size:clamp(.85rem,1.1vw,1.03rem);}
body.dn-dark-species .species-grid--content-groups .species-card__discovery-label {color:#bbd5b5;}
body.dn-dark-species .species-directory__empty {max-width:100%;padding:clamp(25px,5vw,56px);border:1px solid var(--don-cinema-line);border-radius:12px;background:#102017;}
body.dn-dark-species .species-directory :is(a,button,input):focus-visible {outline:2px solid var(--don-focus-ring);outline-offset:3px;}
@media (hover:hover) and (pointer:fine) {
  body.dn-dark-species .species-grid--directory .species-card {transition:border-color .24s ease,box-shadow .24s ease;}
  body.dn-dark-species .species-grid--directory .species-card:hover {border-color:var(--don-line-focus);box-shadow:0 18px 34px rgba(0,0,0,.30);}
}
@media (max-width:1023px) {
  body.dn-dark-species .species-grid--directory {grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:767px) {
  body.dn-dark-species .species-directory {padding-top:8px;}
  body.dn-dark-species .species-directory__hero {min-height:235px;padding:clamp(19px,5vw,27px);}
  body.dn-dark-species .species-directory__hero h1 {font-size:clamp(2rem,8.4vw,2.65rem);}
  body.dn-dark-species .species-directory__hero > .species-directory__hero-content > p:not(.eyebrow) {max-width:36ch;font-size:.8rem;line-height:1.44;}
  body.dn-dark-species .species-directory__hero--with-image::after {background:linear-gradient(90deg,rgba(3,14,7,.94),rgba(3,14,7,.74) 59%,rgba(3,14,7,.3)),linear-gradient(0deg,rgba(3,14,7,.66),transparent 66%);}
  body.dn-dark-species .species-directory__controls {padding:16px 13px;margin-top:16px;}
  body.dn-dark-species .species-directory__control-heading {align-items:center;gap:10px;}
  body.dn-dark-species .species-directory__control-heading h2 {font-size:1.43rem;}
  body.dn-dark-species .species-class-strip {margin-inline:0;padding-inline:0;}
  body.dn-dark-species .species-alphabet {gap:6px;margin-top:15px;margin-bottom:18px;}
  body.dn-dark-species .species-alphabet :is(a,span) {flex-basis:calc((100% - 5 * 6px) / 6);min-width:0;}
  body.dn-dark-species .species-directory__result-summary {margin:0 0 15px;}
  body.dn-dark-species .species-grid--directory {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
  body.dn-dark-species .species-grid--directory .species-card--spotlight {min-height:clamp(250px,76vw,340px);grid-column:span 2;grid-row:auto;}
  body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__name {font-size:clamp(1.6rem,7vw,2.15rem);}
  body.dn-dark-species .species-grid--content-groups {grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  body.dn-dark-species .species-grid--content-groups .species-card__body {padding:9px;}
  body.dn-dark-species .species-grid--content-groups .species-card__name {font-size:.8rem;}
  body.dn-dark-species .species-grid--content-groups .species-card__discovery-label {font-size:.65rem;}
}
@media (max-width:359px) {
  body.dn-dark-species .species-alphabet :is(a,span) {flex-basis:calc((100% - 4 * 6px) / 5);}
  body.dn-dark-species .species-grid--content-groups {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (prefers-reduced-motion:reduce) {
  body.dn-dark-species .species-grid--directory .species-card {transition:none;}
}

/* Discovery of Nature 0.2.98 — adaptive A–Z catalogue balance.
 * Sparse letters become compact editorial groups; dense letters keep the full-width grid.
 * The alphabetical index is deliberately balanced instead of leaving an orphan final letter.
 */
body.dn-dark-species .species-directory {
  padding-bottom: clamp(38px,4.6vw,62px);
}
body.dn-dark-species .species-alphabet {
  display:grid;
  grid-template-columns:repeat(15,minmax(0,1fr));
  gap:6px;
  margin:clamp(17px,1.8vw,23px) 0 clamp(14px,1.7vw,22px);
}
body.dn-dark-species .species-alphabet :is(a,span) {
  min-width:0;
  min-height:40px;
  padding-inline:2px;
  font-size:.72rem;
}
body.dn-dark-species .species-directory__result-summary {
  margin:0 0 14px;
}
body.dn-dark-species .species-directory__groups {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 26px;
  align-items:start;
}
body.dn-dark-species .species-letter-group {
  min-width:0;
  scroll-margin-top:115px;
  padding:16px;
  border:1px solid rgba(195,232,180,.18);
  border-radius:13px;
  background:linear-gradient(145deg,rgba(15,35,22,.76),rgba(7,22,12,.88));
  box-shadow:0 10px 26px rgba(0,0,0,.16);
}
body.dn-dark-species .species-letter-group--wide {
  grid-column:1 / -1;
}
body.dn-dark-species .species-letter-group__heading {
  margin-bottom:12px;
  padding-bottom:9px;
}
body.dn-dark-species .species-letter-group__heading h2 {
  font-size:clamp(1.55rem,2vw,2.05rem);
}
body.dn-dark-species .species-letter-group--compact .species-grid--directory {
  grid-template-columns:minmax(0,1fr);
  gap:10px;
}
body.dn-dark-species .species-letter-group--compact .species-grid--directory .species-card {
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  min-height:100px;
  align-items:stretch;
}
body.dn-dark-species .species-letter-group--compact .species-grid--directory .species-card__media {
  width:132px;
  height:100%;
  min-height:100px;
  aspect-ratio:auto;
  margin:0;
  border-radius:0;
}
body.dn-dark-species .species-letter-group--compact .species-grid--directory .species-card__body {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:13px 14px;
}
body.dn-dark-species .species-letter-group--compact .species-card__name {
  font-size:clamp(.94rem,1vw,1.06rem);
}
body.dn-dark-species .species-letter-group--compact .species-card__scientific {
  margin-top:4px;
  font-size:.73rem;
}
body.dn-dark-species .species-letter-group--wide .species-grid--directory {
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
/* A–Z is an index, so all cards are peers. Do not re-introduce the old oversized first-card treatment. */
body.dn-dark-species .species-grid--directory .species-card--spotlight {
  position:static;
  display:flex;
  grid-column:auto;
  grid-row:auto;
  min-height:0;
  border-color:rgba(195,232,180,.23);
  background:var(--don-cinema-panel);
  box-shadow:var(--don-cinema-shadow);
}
body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__media {
  position:static;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
}
body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__media::after,
body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__spotlight-link {
  display:none;
}
body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__body {
  position:static;
  margin-top:0;
  padding:11px 12px 14px;
}
body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__name {
  max-width:none;
  font-family:inherit;
  font-size:clamp(.86rem,1.05vw,1.03rem);
  line-height:1.2;
  text-shadow:none;
}
body.dn-dark-species .species-grid--directory .species-card--spotlight .species-card__scientific {
  margin-top:0;
  color:#c8d6c3;
  font-size:.72rem;
}
@media (min-width:1200px) {
  body.dn-dark-species .species-alphabet {
    grid-template-columns:repeat(29,minmax(0,1fr));
    gap:5px;
  }
  body.dn-dark-species .species-alphabet :is(a,span) {
    min-height:38px;
    font-size:.68rem;
  }
}
@media (max-width:1023px) {
  body.dn-dark-species .species-directory__groups {
    grid-template-columns:minmax(0,1fr);
    gap:18px;
  }
  body.dn-dark-species .species-letter-group--wide {
    grid-column:auto;
  }
  body.dn-dark-species .species-letter-group--wide .species-grid--directory {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:767px) {
  body.dn-dark-species .species-alphabet {
    display:flex;
    flex-wrap:nowrap;
    gap:6px;
    overflow-x:auto;
    margin-inline:calc(-1 * var(--wpia-gutter));
    padding:0 var(--wpia-gutter) 6px;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  body.dn-dark-species .species-alphabet :is(a,span) {
    flex:0 0 44px;
    min-width:44px;
    min-height:44px;
    font-size:.72rem;
    scroll-snap-align:start;
  }
  body.dn-dark-species .species-directory__groups {
    gap:14px;
  }
  body.dn-dark-species .species-letter-group {
    padding:12px;
    border-radius:11px;
  }
  body.dn-dark-species .species-letter-group__heading {
    margin-bottom:9px;
    padding-bottom:7px;
  }
  body.dn-dark-species .species-letter-group--compact .species-grid--directory .species-card {
    grid-template-columns:108px minmax(0,1fr);
    min-height:88px;
  }
  body.dn-dark-species .species-letter-group--compact .species-grid--directory .species-card__media {
    width:108px;
    min-height:88px;
  }
  body.dn-dark-species .species-letter-group--compact .species-grid--directory .species-card__body {
    padding:10px 11px;
  }
  body.dn-dark-species .species-letter-group--wide .species-grid--directory {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
}
@media (max-width:359px) {
  body.dn-dark-species .species-letter-group--compact .species-grid--directory .species-card {
    grid-template-columns:94px minmax(0,1fr);
  }
  body.dn-dark-species .species-letter-group--compact .species-grid--directory .species-card__media {
    width:94px;
  }
}
