:root {
  --ink: #17333d;
  --ink-soft: #47636b;
  --paper: #fffaf0;
  --paper-strong: #ffffff;
  --ocean: #bfe8e8;
  --ocean-deep: #7fc9cd;
  --land: #f4d9a6;
  --land-edge: #d3a76d;
  --teal: #167d7a;
  --teal-dark: #0f555e;
  --coral: #f36f62;
  --yellow: #ffd166;
  --violet: #7567b8;
  --leaf: #73a36b;
  --line: rgba(23, 51, 61, .16);
  --shadow: 0 18px 50px rgba(26, 71, 79, .14);
  --radius: 28px;
  --game-focus: #8b3d5c;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --display: "Trebuchet MS", "Avenir Next", Avenir, var(--sans);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 18%, rgba(255, 209, 102, .36), transparent 18rem),
    radial-gradient(circle at 92% 7%, rgba(243, 111, 98, .22), transparent 22rem),
    linear-gradient(180deg, #ecf9f7 0 38rem, var(--paper) 75rem);
  font-family: var(--sans);
  line-height: 1.5;
  overflow-x: hidden;
}

button, summary { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 3px solid var(--game-focus);
  outline-offset: 3px;
}
a { color: var(--teal-dark); }

.skip-link {
  position: absolute;
  left: 16px;
  top: -80px;
  z-index: 100;
  border-radius: 999px;
  padding: 10px 16px;
  background: var(--paper-strong);
  color: var(--ink);
  box-shadow: var(--shadow);
}
.skip-link:focus { top: 12px; }

.topbar {
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 28px 4px;
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
  align-items: center;
  gap: 14px;
}
.back-link {
  justify-self: start;
  text-decoration: none;
  font-weight: 700;
}
.back-link:hover { text-decoration: underline; }
.brand { text-align: center; }
.part-label, .eyebrow {
  display: block;
  color: var(--teal);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.brand h1 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2rem, 3.8vw, 3.05rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.atlas-emblem-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
.explored {
  position: relative;
  justify-self: end;
  width: 58px;
  height: 58px;
  overflow: hidden;
  display: grid;
  place-content: center;
  border: 0;
  padding: 0;
  text-align: center;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--ink);
  box-shadow: 0 5px 0 rgba(222, 165, 48, .24);
  transform: rotate(3deg);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.explored:disabled { opacity: 1; }
.explored-copy { display: block; }
.explored-copy strong { display: block; font-family: var(--display); font-size: 1.25rem; line-height: 1; }
.explored-copy > span { display: block; font-size: .68rem; font-weight: 800; }
.explored-emblem,
.explored-complete-count { opacity: 0; pointer-events: none; }
.explored-emblem {
  position: absolute;
  top: 1px;
  left: 2px;
  width: 54px;
  height: 43px;
  transform: scale(.68) rotate(-8deg);
  transition: opacity .2s ease, transform .34s cubic-bezier(.2,.9,.25,1.25);
}
.explored-complete-count {
  position: absolute;
  left: 50%;
  bottom: 2px;
  min-width: 27px;
  border: 1px solid color-mix(in srgb, var(--land-edge) 72%, var(--ink));
  border-radius: 999px;
  padding: 1px 4px;
  background: color-mix(in srgb, var(--yellow) 74%, white);
  color: var(--ink);
  font-size: .52rem;
  font-weight: 950;
  line-height: 1.1;
  transform: translateX(-50%) translateY(3px);
  transition: opacity .2s ease .1s, transform .2s ease .1s;
}
.explored.is-complete {
  isolation: isolate;
  overflow: visible;
  width: 84px;
  height: 78px;
  border: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  transform: rotate(0);
  animation: atlas-complete-arrive .5s cubic-bezier(.2,.9,.25,1.15) both;
}
.explored.is-complete::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 5px 3px 0;
  border: 1px solid color-mix(in srgb, var(--land-edge) 46%, transparent);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,209,102,.24), transparent 68%);
}
.explored.is-complete:hover {
  transform: translateY(-2px) rotate(-2deg);
  box-shadow: none;
}
.explored.is-complete .explored-copy { opacity: 0; transform: scale(.72); }
.explored.is-complete .explored-emblem {
  top: 0;
  left: -1px;
  width: 86px;
  height: 68px;
  opacity: 1;
  transform: scale(1) rotate(0);
}
.explored.is-complete .explored-complete-count {
  bottom: 15px;
  min-width: 31px;
  border: 0;
  padding: 0;
  background: transparent;
  font-size: .56rem;
  letter-spacing: .035em;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.atlas-seal-shadow { fill: rgba(23,51,61,.22); }
.atlas-seal-bail { fill: #d9a448; stroke: var(--ink); stroke-width: 3; stroke-linejoin: round; }
.atlas-seal-case { fill: #b9792f; stroke: var(--ink); stroke-width: 3.2; }
.atlas-seal-bevel { fill: #f4cd73; stroke: #7b5526; stroke-width: 2.4; }
.atlas-seal-field { fill: #0f5d66; stroke: var(--ink); stroke-width: 3; }
.atlas-seal-glint { fill: none; stroke: rgba(255,249,222,.78); stroke-width: 3; stroke-linecap: round; }
.atlas-seal-engraving { fill: none; stroke: rgba(255,244,206,.5); stroke-width: 1.8; stroke-linecap: round; }
.atlas-seal-compass path { stroke: var(--ink); stroke-width: 2.1; stroke-linejoin: round; }
.atlas-seal-compass-shadow { fill: rgba(10,37,45,.72); }
.atlas-seal-compass-gold { fill: #f8d47f; }
.atlas-seal-compass-berry { fill: #c95370; }
.atlas-seal-compass-emerald { fill: #42a894; }
.atlas-seal-compass-ivory { fill: #fff3cf; }
.atlas-seal-compass-centre { fill: #f6d173; stroke: var(--ink); stroke-width: 2.4; }
.atlas-seal-compass-pin { fill: #c94f6c; stroke: #fff3cf; stroke-width: 1.2; }
.atlas-seal-pin-highlight { fill: none; stroke: white; stroke-width: 1.5; stroke-linecap: round; }
.atlas-seal-marker-setting { fill: #f2c764; stroke: var(--ink); stroke-width: 2.1; }
.atlas-seal-marker-gem { stroke: rgba(255,255,255,.8); stroke-width: 1.2; }
.atlas-seal-marker path { fill: none; stroke: rgba(255,255,255,.76); stroke-width: 1.3; stroke-linecap: round; }
.atlas-seal-marker--elegans .atlas-seal-marker-gem { fill: #bd7c45; }
.atlas-seal-marker--inopinata .atlas-seal-marker-gem { fill: #c95670; }
.atlas-seal-marker--briggsae .atlas-seal-marker-gem { fill: #347d68; }
.atlas-seal-marker--nigoni .atlas-seal-marker-gem { fill: #d75c3d; }
.atlas-seal-marker--tropicalis .atlas-seal-marker-gem { fill: #16818b; }
.atlas-seal-marker--wallacei .atlas-seal-marker-gem { fill: #6254aa; }
.atlas-seal-hinge { fill: #cf933d; stroke: var(--ink); stroke-width: 2.6; stroke-linejoin: round; }
.atlas-seal-plaque-shadow { fill: rgba(23,51,61,.25); }
.atlas-seal-plaque { fill: #f4cc70; stroke: var(--ink); stroke-width: 3; stroke-linejoin: round; }
.atlas-seal-plaque-highlight { fill: none; stroke: rgba(255,249,222,.78); stroke-width: 2; stroke-linecap: round; }

@keyframes atlas-complete-arrive {
  0% { transform: rotate(3deg) scale(.88); }
  64% { transform: rotate(-3deg) scale(1.08); }
  100% { transform: rotate(0) scale(1); }
}


main { max-width: 1180px; margin: 0 auto; padding: 4px 28px 70px; }
.section-heading {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: end;
  margin-bottom: 16px;
}
.section-heading.compact { display: block; margin-top: 8px; }
.section-heading h2 {
  margin: 4px 0 0;
  max-width: 700px;
  font-family: var(--display);
  font-size: clamp(1.7rem, 3.5vw, 2.65rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}
.section-heading > p {
  max-width: 390px;
  margin: 0;
  color: var(--ink-soft);
  text-align: right;
}
.species-heading-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.species-heading-copy p {
  max-width: 780px;
  margin: 0;
  color: var(--ink-soft);
}
.family-info-toggle {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 10px;
  min-height: 42px;
  margin-top: 4px;
  border: 1px solid color-mix(in srgb, var(--land-edge) 72%, var(--teal-dark));
  border-radius: 14px 22px 14px 19px;
  padding: 10px 16px;
  background: var(--teal-dark);
  color: var(--paper-strong);
  cursor: pointer;
  box-shadow: 0 3px 0 color-mix(in srgb, var(--land-edge) 48%, transparent), 0 7px 16px rgba(26,71,79,.12);
  font-size: .82rem;
  font-weight: 900;
  line-height: 1;
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
}
.family-info-toggle-arrow {
  color: var(--yellow);
  font-size: 1rem;
  transition: transform .14s ease;
}
.family-info-toggle:hover {
  transform: translateY(-2px);
  background: color-mix(in srgb, var(--teal-dark) 86%, var(--ink));
  box-shadow: 0 5px 0 color-mix(in srgb, var(--land-edge) 42%, transparent), 0 10px 20px rgba(26,71,79,.15);
}
.family-info-toggle:hover .family-info-toggle-arrow { transform: translateX(2px); }
.family-info-toggle:active { transform: translateY(1px); box-shadow: 0 2px 0 color-mix(in srgb, var(--land-edge) 44%, transparent); }

@media (min-width: 681px) {
  .species-heading-copy {
    width: 100%;
    grid-template-columns: max-content max-content;
    column-gap: 18px;
    align-items: center;
    justify-content: space-between;
  }
  .species-heading-copy .family-info-toggle { margin-top: 0; }
}

.map-section { margin-top: clamp(30px, 4vw, 44px); }
.map-wrap {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border: 5px solid rgba(255, 255, 255, .78);
  border-radius: 38px;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.5), transparent 20rem),
    linear-gradient(155deg, var(--ocean), var(--ocean-deep));
  box-shadow: var(--shadow);
}
#world-map { display: block; width: 100%; height: 100%; min-height: 430px; }
.map-sphere { fill: rgba(255,255,255,.16); stroke: rgba(23,51,61,.16); stroke-width: 1.2; }
.map-graticule { fill: none; stroke: rgba(255,255,255,.38); stroke-width: .75; }
.map-countries path { fill: var(--land); stroke: var(--land-edge); stroke-width: .75; vector-effect: non-scaling-stroke; }
.map-leaders { pointer-events: none; }
.map-leader { color: var(--violet); }
.map-leader.selfing { color: var(--coral); }
.map-leader line {
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  opacity: .86;
  vector-effect: non-scaling-stroke;
}
.map-loading {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  margin: 0;
  font-weight: 800;
  color: var(--teal-dark);
}
.map-wrap.map-ready .map-loading { display: none; }
.map-markers { position: absolute; inset: 0; pointer-events: none; }
.map-marker {
  position: absolute;
  z-index: 1;
  width: 14px;
  height: 14px;
  transform: translate(-50%, -50%);
  border: 2px solid var(--paper-strong);
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
  opacity: .84;
  pointer-events: auto;
  box-shadow: 0 0 0 2px rgba(23,51,61,.12), 0 4px 9px rgba(23,51,61,.22);
  transition: transform .16s ease, box-shadow .16s ease;
}
.map-marker::before {
  content: "";
  position: absolute;
  inset: -15px;
}
.map-marker.selfing { background: var(--coral); color: var(--coral); }
.map-marker.outcrossing {
  border-radius: 6px;
  background: var(--violet);
  color: var(--violet);
}
.map-marker:hover, .map-marker:focus-visible { transform: translate(-50%, -50%) scale(1.28); }
.map-marker.is-species-selected {
  z-index: 2;
  width: 20px;
  height: 20px;
  border-width: 3px;
  transform: translate(-50%, -50%) scale(1.12);
  opacity: 1;
  box-shadow: 0 0 0 4px rgba(255,255,255,.45), 0 7px 15px rgba(23,51,61,.25);
}
.map-marker.is-selected {
  z-index: 3;
  transform: translate(-50%, -50%) scale(1.35);
  box-shadow: 0 0 0 7px rgba(255,255,255,.56), 0 8px 18px rgba(23,51,61,.3);
}
.map-marker.is-selected::after {
  content: "";
  position: absolute;
  inset: -9px;
  border: 2px solid currentColor;
  border-radius: 50%;
  animation: marker-pulse 1.8s ease-out infinite;
}
.map-marker.outcrossing.is-selected::after { border-radius: 5px; }
@keyframes marker-pulse { from { opacity: .8; transform: scale(.65); } to { opacity: 0; transform: scale(1.35); } }
.map-tooltip {
  position: absolute;
  z-index: 8;
  width: max-content;
  max-width: 220px;
  padding: 10px 12px;
  border: 1px solid rgba(23,51,61,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  color: var(--ink);
  box-shadow: 0 10px 25px rgba(23,51,61,.22);
  pointer-events: none;
  transform: translate(-50%, calc(-100% - 16px));
}
.map-tooltip[hidden] { display: none; }
.map-tooltip.below { transform: translate(-50%, 20px); }
.map-tooltip span, .map-tooltip strong, .map-tooltip small { display: block; }
.map-tooltip span { color: var(--ink-soft); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.map-tooltip strong { margin-top: 2px; font-size: 1rem; }
.map-tooltip small { margin-top: 3px; color: var(--ink-soft); font-size: .72rem; }

.map-legend {
  position: absolute;
  right: 18px;
  top: 18px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(8px);
  color: var(--ink-soft);
  font-size: .76rem;
  font-weight: 700;
}
.map-legend span { display: inline-flex; align-items: center; gap: 6px; }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; }
.legend-dot.selfing { background: var(--coral); }
.legend-dot.outcrossing { border-radius: 2px; background: var(--violet); }
.map-selection {
  position: absolute;
  left: 18px;
  bottom: 18px;
  max-width: min(470px, calc(100% - 36px));
  padding: 12px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(9px);
  box-shadow: 0 10px 26px rgba(23,51,61,.12);
}
.map-selection span { display: block; color: var(--ink-soft); font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.map-selection strong { display: block; margin-top: 2px; font-size: 1.05rem; }

.species-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  min-height: 147px;
  margin: 16px 0 20px;
}
.sister-pair {
  position: relative;
  display: grid;
  align-items: stretch;
  border: 1px solid rgba(22,125,122,.2);
  border-radius: 22px;
  padding: 25px 8px 8px;
  background: linear-gradient(180deg, rgba(191,232,232,.42), rgba(255,255,255,.34));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.sister-label {
  position: absolute;
  top: 7px;
  left: 50%;
  transform: translateX(-50%);
  color: var(--teal-dark);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.sister-label::before, .sister-label::after { content: ""; position: absolute; top: 50%; width: 23px; height: 1px; background: rgba(22,125,122,.34); }
.sister-label::before { right: calc(100% + 7px); }
.sister-label::after { left: calc(100% + 7px); }
.sister-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; height: 100%; }
.species-tab {
  display: grid;
  align-content: center;
  justify-items: center;
  min-height: 76px;
  border: 2px solid transparent;
  border-radius: 18px;
  padding: 10px 8px;
  background: rgba(255,255,255,.74);
  color: var(--ink);
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(26,71,79,.08);
  transition: transform .14s ease, border-color .14s ease, background .14s ease;
}
.species-tab:hover { border-color: rgba(22,125,122,.36); transform: translateY(-2px); }
.species-tab.is-selected {
  border-color: var(--teal);
  background: var(--paper-strong);
  box-shadow: inset 0 -3px 0 rgba(255,209,102,.72), 0 8px 0 rgba(22,125,122,.13);
}
.species-tab i { display: block; font-weight: 800; }
.species-tab small { display: inline-block; margin-top: 5px; border-radius: 999px; padding: 2px 7px; font-size: .68rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.species-tab small.selfing { color: #a94347; background: rgba(243,111,98,.14); }
.species-tab small.outcrossing { color: #51438f; background: rgba(117,103,184,.14); }
.play-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
  gap: 22px;
  align-items: start;
}
.worm-playground, .species-story {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.78);
  box-shadow: var(--shadow);
}
.worm-playground { overflow: hidden; }
.habitat {
  --worm-color: #f2b0a8;
  --worm-deep: #c85d68;
  --habitat-one: #f8c98b;
  --habitat-two: #e98f7a;
  --worm-scale: 1;
  --local-primary: #f36f62;
  --local-secondary: #ffd166;
  --scene-sky: #cdeff0;
  --scene-ground: #8fbd88;
  --scene-water: #70c7d2;
  --scene-highlight: #ffd166;
  --scene-detail: #496f63;
  position: relative;
  min-height: 0;
  aspect-ratio: 600 / 430;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: color-mix(in srgb, var(--scene-sky) 70%, white);
}
.habitat::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.2), transparent 43%),
    linear-gradient(to bottom, rgba(255,255,255,.1), transparent 55%, rgba(24,58,54,.09));
  box-shadow: inset 0 -34px 55px rgba(29,65,57,.08);
}
.regional-backdrop { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; opacity: .94; }
.regional-backdrop > [data-scene], .regional-backdrop > [data-place-scene] { display: none; }
.regional-backdrop > #location-scene { display: inline; }
.habitat[data-local-style="okinawa"] [data-scene="okinawa"],
.habitat[data-local-style="kauai"] [data-scene="kauai"],
.habitat[data-local-style="field"] [data-scene="field"],
.habitat[data-local-style="rainforest"] [data-scene="rainforest"],
.habitat[data-local-style="woodland"] [data-scene="woodland"],
.habitat[data-local-style="ocean"] [data-scene="ocean"] { display: inline; }
.habitat[data-place-scene="ahmedabad"] .regional-backdrop > [data-scene] { display: none; }
.habitat[data-place-scene="ahmedabad"] [data-place-scene="ahmedabad"] { display: inline; }
.habitat[data-place-scene="dynamic"] .regional-backdrop > [data-scene],
.habitat[data-place-scene="dynamic"] .regional-backdrop > [data-place-scene] { display: none; }
.environment-scene { isolation: isolate; }
.environment-far { opacity: .86; }
.environment-near { opacity: .96; }
.environment-composition-middle { opacity: .72; }
.environment-water { opacity: .94; }
.environment-water.blackwater, .environment-water.whitewater { opacity: 1; }
.environment-ground { opacity: .94; }
.environment-composition-route {
  fill: none;
  stroke: color-mix(in srgb, var(--environment-water) 70%, var(--paper-strong));
  stroke-width: 7;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .78;
}
.environment-composition-foreground .environment-cue {
  filter: drop-shadow(0 7px 7px rgba(25,57,54,.2));
}
.environment-sun { opacity: .88; filter: drop-shadow(0 0 14px rgba(255,216,118,.38)); animation: sun-breathe 5.8s ease-in-out infinite; }
.environment-clouds { fill: rgba(255,255,255,.58); filter: drop-shadow(0 5px 10px rgba(48,91,91,.08)); animation: cloud-drift 16s ease-in-out infinite alternate; }
.environment-clouds.mist { opacity: .44; }
.environment-clouds.cloudbank { opacity: .72; }
.environment-rain path { fill: none; stroke: rgba(255,255,255,.7); stroke-width: 5; stroke-linecap: round; }
.environment-cue { filter: drop-shadow(0 4px 5px rgba(25,57,54,.13)); }
.env-trunk { fill: #795640; stroke: color-mix(in srgb, #795640 68%, var(--environment-detail)); stroke-width: 3; stroke-linejoin: round; }
.env-leaf { fill: color-mix(in srgb, var(--environment-land) 78%, var(--environment-detail)); stroke: var(--environment-detail); stroke-width: 2; stroke-linejoin: round; }
.env-accent { fill: var(--environment-accent); stroke: var(--environment-detail); stroke-width: 2; }
.env-building { fill: color-mix(in srgb, var(--environment-ground) 55%, #e8caa0); stroke: var(--environment-detail); stroke-width: 2; }
.env-roof { fill: color-mix(in srgb, var(--environment-detail) 78%, #9c5f4d); stroke: var(--environment-detail); stroke-width: 2; }
.env-rock { fill: color-mix(in srgb, var(--environment-land) 48%, #b9a68d); stroke: var(--environment-detail); stroke-width: 2.5; stroke-linejoin: round; }
.env-rock.dark { fill: color-mix(in srgb, var(--environment-detail) 78%, #3e3e42); }
.env-detail, .env-water-line, .env-plant-stroke, .env-coral, .env-stroke { fill: none; stroke: var(--environment-detail); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.env-water-line { stroke: color-mix(in srgb, var(--environment-water) 58%, white); stroke-width: 6; }
.env-waterfall { fill: none; stroke: rgba(239,253,250,.9); stroke-width: 8; stroke-linecap: round; filter: drop-shadow(0 2px 2px rgba(34,83,82,.18)); }
.env-plant-stroke { stroke: color-mix(in srgb, var(--environment-land) 70%, var(--environment-detail)); stroke-width: 5; }
.env-coral { stroke: color-mix(in srgb, var(--environment-accent) 68%, #d35f63); stroke-width: 6; }
.env-field { fill: color-mix(in srgb, var(--environment-land) 70%, var(--environment-accent)); stroke: var(--environment-detail); stroke-width: 2; }
.env-ground { fill: color-mix(in srgb, var(--environment-ground) 72%, #8a6548); stroke: var(--environment-detail); stroke-width: 2; }
.env-wood, .env-boat { fill: #9b704c; stroke: var(--environment-detail); stroke-width: 3; stroke-linejoin: round; }
.env-boat.env-stroke { fill: none; }
.bristol-sky { fill: color-mix(in srgb, var(--environment-water) 14%, var(--paper-strong)); }
.bristol-clouds { opacity: .5; }
.bristol-clouds path { fill: color-mix(in srgb, var(--paper-strong) 80%, var(--environment-water)); }
.bristol-terrace-back { fill: color-mix(in srgb, var(--environment-detail) 18%, var(--paper-strong)); opacity: .72; }
.bristol-terrace-house { fill: color-mix(in srgb, var(--paper-strong) 76%, #c9ad8b); stroke: color-mix(in srgb, var(--environment-detail) 72%, #654f45); stroke-width: 1.5; }
.bristol-terrace-roof { fill: color-mix(in srgb, var(--environment-detail) 54%, #8e5647); }
.bristol-terrace-window { fill: color-mix(in srgb, var(--environment-water) 62%, var(--environment-detail)); }
.bristol-terrace-sash,
.bristol-terrace-wall-line { fill: none; stroke: color-mix(in srgb, var(--paper-strong) 52%, var(--environment-detail)); stroke-width: 1; stroke-linecap: round; opacity: .72; }
.bristol-terrace-wall-line { stroke-width: 1.7; opacity: .5; }
.bristol-gorge { stroke: none; }
.bristol-gorge-wooded { fill: color-mix(in srgb, var(--environment-land) 80%, #355e48); }
.bristol-gorge-limestone { fill: color-mix(in srgb, var(--environment-land) 42%, #d7cfb4); }
.bristol-gorge-rim { fill: none; stroke: var(--environment-detail); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bristol-cliff-face { stroke: none; }
.bristol-cliff-face.left { fill: color-mix(in srgb, var(--environment-land) 47%, #9c927a); }
.bristol-cliff-face.right { fill: color-mix(in srgb, var(--paper-strong) 47%, #a8a18d); }
.bristol-cliff-outline { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 72%, #6f6758); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.bristol-cliff-strata { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 68%, #b6aa8d); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; opacity: .72; }
.bristol-cliff-hatching { fill: none; stroke: color-mix(in srgb, var(--paper-strong) 35%, var(--environment-detail)); stroke-width: 2; stroke-linecap: round; opacity: .38; }
.bristol-tidal-bed { fill: color-mix(in srgb, var(--environment-ground) 52%, #b6aa91); opacity: .72; }
.bristol-avon { fill: color-mix(in srgb, var(--environment-water) 68%, #71817c); stroke: color-mix(in srgb, var(--environment-detail) 25%, var(--environment-water)); stroke-width: 1.5; }
.bristol-river-glint { fill: none; stroke: color-mix(in srgb, var(--paper-strong) 65%, var(--environment-water)); stroke-width: 2.5; stroke-linecap: round; opacity: .52; }
.bristol-river-current { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 34%, var(--environment-water)); stroke-width: 1.8; stroke-linecap: round; opacity: .42; }
.bristol-foreground-floor { fill: color-mix(in srgb, var(--environment-ground) 34%, var(--paper-strong)); }
.bristol-bridge-chain, .bristol-bridge-hanger, .bristol-bridge-rail { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 86%, #242a2a); stroke-linecap: round; stroke-linejoin: round; }
.bristol-bridge-chain { stroke-width: 5; }
.bristol-bridge-chain.fine { stroke-width: 2; opacity: .8; }
.bristol-bridge-hanger { stroke-width: 1.8; }
.bristol-bridge-tower { fill: color-mix(in srgb, #8b614d 72%, var(--environment-detail)); stroke: color-mix(in srgb, var(--environment-detail) 85%, #4d3631); stroke-width: 3; fill-rule: evenodd; }
.bristol-bridge-cap { fill: color-mix(in srgb, var(--paper-strong) 58%, #b7ab92); stroke: var(--environment-detail); stroke-width: 2; }
.bristol-bridge-openings { fill: color-mix(in srgb, var(--environment-water) 13%, var(--paper-strong)); stroke: color-mix(in srgb, var(--environment-detail) 82%, #4b3833); stroke-width: 2; }
.bristol-bridge-deck { fill: color-mix(in srgb, var(--environment-detail) 88%, #313738); stroke: color-mix(in srgb, var(--paper-strong) 42%, var(--environment-detail)); stroke-width: 1.5; }
.bristol-woodland path:first-child { fill: color-mix(in srgb, var(--environment-land) 84%, #2e5b45); stroke: var(--environment-detail); stroke-width: 2; }
.bristol-woodland-detail { fill: none; stroke: color-mix(in srgb, var(--environment-land) 54%, var(--paper-strong)); stroke-width: 9; stroke-linecap: round; opacity: .48; }
.bristol-gorge-tree-trunk { fill: color-mix(in srgb, var(--environment-ground) 58%, #4f3e32); stroke: color-mix(in srgb, var(--environment-detail) 72%, #3f352e); stroke-width: 1.6; }
.bristol-gorge-tree-crown { fill: color-mix(in srgb, var(--environment-land) 78%, #2f5c43); stroke: color-mix(in srgb, var(--environment-detail) 72%, #31493a); stroke-width: 1.8; }
.bristol-gorge-tree-crown.muted { fill: color-mix(in srgb, var(--environment-land) 65%, #476948); }
.bristol-garden-ground { fill: color-mix(in srgb, var(--environment-ground) 78%, #766248); }
.bristol-garden-path { fill: color-mix(in srgb, var(--paper-strong) 32%, #8f8066); opacity: .86; }
.bristol-garden-bed { fill: color-mix(in srgb, var(--environment-land) 52%, #4f6043); stroke: color-mix(in srgb, var(--environment-detail) 55%, #4a4b3b); stroke-width: 1.7; opacity: .82; }
.bristol-garden-wall path:first-child { fill: color-mix(in srgb, #b9785f 58%, var(--environment-ground)); stroke: var(--environment-detail); stroke-width: 2; }
.bristol-brick-line { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 58%, #7f5145); stroke-width: 2; opacity: .72; }
.bristol-compost-shadow { fill: rgba(29,45,38,.22); }
.bristol-compost-bin-back,
.bristol-compost-bin-front,
.bristol-compost-bin-side { fill: color-mix(in srgb, #a1744e 72%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 79%, #4c3a30); stroke-width: 2.4; stroke-linejoin: round; }
.bristol-compost-bin-front { fill: color-mix(in srgb, #8d6345 78%, var(--environment-ground)); }
.bristol-compost-bin-side { fill: color-mix(in srgb, #75553f 72%, var(--environment-ground)); }
.bristol-compost-board-line { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 72%, #46362d); stroke-width: 1.7; stroke-linecap: round; opacity: .72; }
.bristol-compost-mound { fill: color-mix(in srgb, var(--environment-ground) 55%, #4f4631); stroke: color-mix(in srgb, var(--environment-detail) 82%, #3a342a); stroke-width: 3; }
.bristol-compost-green-layer { fill: color-mix(in srgb, var(--environment-land) 62%, #536845); stroke: color-mix(in srgb, var(--environment-detail) 72%, #394236); stroke-width: 2; stroke-linejoin: round; }
.bristol-compost-layer { fill: none; stroke: color-mix(in srgb, var(--environment-accent) 24%, #6e5a37); stroke-width: 6; stroke-linecap: round; opacity: .72; }
.bristol-compost-leaf { fill: color-mix(in srgb, var(--environment-accent) 48%, #8b6541); stroke: var(--environment-detail); stroke-width: 1.5; }
.bristol-compost-leaf.damp { fill: color-mix(in srgb, var(--environment-land) 48%, #6f5738); }
.bristol-compost-stem { fill: none; stroke: color-mix(in srgb, var(--paper-strong) 55%, #8a7457); stroke-width: 5; stroke-linecap: round; }
.bristol-compost-fungi { fill: color-mix(in srgb, var(--environment-accent) 64%, #b87358); stroke: var(--environment-detail); stroke-width: 2; }
.bristol-compost-fork { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 82%, #4a3c32); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.bristol-leaf-litter path { fill: color-mix(in srgb, var(--environment-accent) 36%, #a36c45); stroke: var(--environment-detail); stroke-width: 1.5; }
.bristol-leaf-litter .bristol-leaf-vein { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 68%, #6d543b); stroke-width: 1; opacity: .6; }
.santeuil-sky { fill: color-mix(in srgb, var(--environment-water) 12%, var(--paper-strong)); }
.santeuil-sun { fill: color-mix(in srgb, var(--environment-accent) 72%, #fff1b8); opacity: .72; filter: drop-shadow(0 0 13px rgba(225,187,92,.25)); }
.santeuil-clouds { fill: color-mix(in srgb, var(--paper-strong) 82%, var(--environment-water)); opacity: .52; }
.santeuil-plateau-field { fill: color-mix(in srgb, var(--environment-land) 51%, #c8bd83); }
.santeuil-field-seam { fill: none; stroke: color-mix(in srgb, var(--environment-ground) 43%, #a78e58); stroke-width: 2; opacity: .5; }
.santeuil-plateau-rim { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 58%, var(--environment-land)); stroke-width: 3; opacity: .67; }
.santeuil-house, .santeuil-church-body, .santeuil-church-tower { fill: color-mix(in srgb, var(--paper-strong) 55%, #cbb897); stroke: color-mix(in srgb, var(--environment-detail) 70%, #695c4f); stroke-width: 1.5; }
.santeuil-roof, .santeuil-church-roof { fill: color-mix(in srgb, var(--environment-ground) 48%, #8f5f4c); stroke: var(--environment-detail); stroke-width: 1.5; }
.santeuil-window { fill: color-mix(in srgb, var(--environment-water) 51%, var(--environment-detail)); }
.santeuil-church-spire { fill: color-mix(in srgb, var(--paper-strong) 40%, #9b9383); stroke: color-mix(in srgb, var(--environment-detail) 78%, #5c584f); stroke-width: 2; stroke-linejoin: round; }
.santeuil-church-opening { fill: color-mix(in srgb, var(--environment-detail) 84%, #433f3b); }
.santeuil-church-cross { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 88%, #45423c); stroke-width: 2; stroke-linecap: round; }
.santeuil-valley { stroke: color-mix(in srgb, var(--environment-detail) 52%, var(--environment-land)); stroke-width: 1.5; stroke-linejoin: round; }
.santeuil-valley-left { fill: color-mix(in srgb, var(--environment-land) 75%, #587052); }
.santeuil-valley-right { fill: color-mix(in srgb, var(--environment-land) 63%, #68785c); }
.santeuil-canopy-left, .santeuil-canopy-right { stroke: color-mix(in srgb, var(--environment-detail) 77%, #334f3f); stroke-width: 2; stroke-linejoin: round; }
.santeuil-canopy-left { fill: color-mix(in srgb, var(--environment-land) 82%, #315640); }
.santeuil-canopy-right { fill: color-mix(in srgb, var(--environment-land) 72%, #3f6048); }
.santeuil-tree-trunk { fill: color-mix(in srgb, var(--environment-ground) 58%, #715440); stroke: color-mix(in srgb, var(--environment-detail) 71%, #59463b); stroke-width: 1.5; }
.santeuil-tree-branch { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 72%, #59463b); stroke-width: 3; stroke-linecap: round; }
.santeuil-stream { stroke: color-mix(in srgb, var(--environment-detail) 30%, var(--environment-water)); stroke-width: 2; }
.santeuil-stream-bank { fill: color-mix(in srgb, var(--environment-ground) 73%, #5e5540); stroke: color-mix(in srgb, var(--environment-detail) 58%, #514a3c); stroke-width: 2; }
.santeuil-stream-bank.left { fill: color-mix(in srgb, var(--environment-ground) 78%, #5b533e); }
.santeuil-stream-glint { fill: none; stroke: color-mix(in srgb, var(--paper-strong) 74%, var(--environment-water)); stroke-width: 3; stroke-linecap: round; opacity: .72; }
.santeuil-rail-embankment { fill: color-mix(in srgb, var(--environment-ground) 49%, #8f856d); stroke: color-mix(in srgb, var(--environment-detail) 68%, #5b574e); stroke-width: 1.5; }
.santeuil-rail-line { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 88%, #363b3b); stroke-width: 1.7; stroke-linecap: round; }
.santeuil-sleeper { fill: none; stroke: color-mix(in srgb, var(--environment-ground) 48%, #5f4c3d); stroke-width: 3; }
.santeuil-bridge-face { fill: color-mix(in srgb, var(--paper-strong) 38%, #958c79); stroke: color-mix(in srgb, var(--environment-detail) 77%, #58534b); stroke-width: 1.5; fill-rule: evenodd; }
.santeuil-bridge-arch { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 82%, #514d45); stroke-width: 3; }
.santeuil-leaf-litter path:not(.santeuil-leaf-vein) { fill: color-mix(in srgb, var(--environment-accent) 31%, #8c6344); stroke: color-mix(in srgb, var(--environment-detail) 71%, #5d4737); stroke-width: 1.4; }
.santeuil-leaf-vein { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 66%, #5d4737); stroke-width: 1; }
.santeuil-stem-shadow { fill: rgba(28,39,31,.23); }
.santeuil-stem-body, .santeuil-broken-branch { fill: color-mix(in srgb, #aa9a6e 72%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 74%, #574b3a); stroke-width: 2.5; stroke-linejoin: round; }
.santeuil-stem-node { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 55%, #746446); stroke-width: 4; opacity: .66; }
.santeuil-stem-rim { fill: color-mix(in srgb, #c9bb8d 66%, var(--paper-strong)); stroke: color-mix(in srgb, var(--environment-detail) 78%, #574b3a); stroke-width: 2.5; }
.santeuil-stem-hollow { fill: color-mix(in srgb, var(--environment-detail) 79%, #332d24); stroke: color-mix(in srgb, #c5b688 63%, var(--environment-detail)); stroke-width: 2; }
.santeuil-stem-fibre { fill: none; stroke: color-mix(in srgb, #e3d3a5 69%, var(--environment-detail)); stroke-width: 2; stroke-linecap: round; }
.santeuil-decay-speck { fill: color-mix(in srgb, var(--environment-detail) 73%, #514434); opacity: .78; }
.santeuil-comfrey-leaf { fill: color-mix(in srgb, var(--environment-land) 76%, #365e45); stroke: color-mix(in srgb, var(--environment-detail) 76%, #2f4b3b); stroke-width: 1.6; }
.santeuil-comfrey-vein, .santeuil-comfrey-stem { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 74%, #365e45); stroke-width: 2; stroke-linecap: round; }
.santeuil-comfrey-flower { fill: color-mix(in srgb, #796aa4 72%, var(--environment-accent)); stroke: color-mix(in srgb, var(--environment-detail) 72%, #4f476c); stroke-width: 1.4; }
.edinburgh-sky { fill: color-mix(in srgb, #c8d9d4 63%, var(--paper-strong)); }
.edinburgh-clouds { fill: color-mix(in srgb, var(--paper-strong) 82%, #b7c7c2); opacity: .58; }
.edinburgh-haze { fill: color-mix(in srgb, #d9ddd1 74%, var(--environment-water)); opacity: .46; }
.edinburgh-blackford-hill { fill: color-mix(in srgb, var(--environment-land) 72%, #718264); stroke: color-mix(in srgb, var(--environment-detail) 53%, #4d5e4f); stroke-width: 2; stroke-linejoin: round; }
.edinburgh-andesite-face { fill: color-mix(in srgb, #725f82 52%, var(--environment-ground)); stroke: color-mix(in srgb, #53465e 68%, var(--environment-detail)); stroke-width: 2.5; stroke-linejoin: round; }
.edinburgh-hill-contour { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 48%, #8a9275); stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; opacity: .54; }
.edinburgh-observatory-shadow { fill: rgba(35,42,39,.16); }
.edinburgh-observatory-body,
.edinburgh-observatory-end { fill: color-mix(in srgb, #a9654f 72%, var(--environment-ground)); stroke: color-mix(in srgb, #643d36 72%, var(--environment-detail)); stroke-width: 1.8; stroke-linejoin: round; }
.edinburgh-observatory-roof { fill: color-mix(in srgb, #655f59 65%, var(--environment-detail)); stroke: color-mix(in srgb, #4d4944 72%, var(--environment-detail)); stroke-width: 1.6; }
.edinburgh-observatory-window { fill: color-mix(in srgb, #345f64 72%, var(--environment-water)); stroke: color-mix(in srgb, #e2c59f 62%, var(--environment-detail)); stroke-width: 1.5; }
.edinburgh-copper-drum,
.edinburgh-copper-dome { fill: color-mix(in srgb, #6c9b88 77%, var(--environment-land)); stroke: color-mix(in srgb, #355f54 78%, var(--environment-detail)); stroke-width: 2; }
.edinburgh-copper-seam { fill: none; stroke: color-mix(in srgb, #c3d6bc 63%, #3e6c60); stroke-width: 1.5; }
.edinburgh-drum-base { fill: color-mix(in srgb, #7b604c 68%, var(--environment-detail)); }
.edinburgh-stone-detail { fill: none; stroke: color-mix(in srgb, #d7ad8c 58%, var(--environment-detail)); stroke-width: 1.2; opacity: .72; }
.edinburgh-hill-scrub path:first-child { fill: color-mix(in srgb, var(--environment-land) 79%, #3e654d); stroke: color-mix(in srgb, var(--environment-detail) 66%, #375441); stroke-width: 2; }
.edinburgh-scrub-stems { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 67%, #4f5f45); stroke-width: 2; stroke-linecap: round; }
.edinburgh-allotment-ground { fill: color-mix(in srgb, var(--environment-land) 58%, #8a8765); }
.edinburgh-hedges path:first-child { fill: color-mix(in srgb, var(--environment-land) 76%, #3f6549); stroke: color-mix(in srgb, var(--environment-detail) 71%, #344f3d); stroke-width: 2; }
.edinburgh-hedge-highlight { fill: none; stroke: color-mix(in srgb, var(--environment-land) 56%, var(--paper-strong)); stroke-width: 4; stroke-linecap: round; opacity: .45; }
.edinburgh-shed.wall { fill: color-mix(in srgb, #8b724e 70%, var(--environment-ground)); stroke: color-mix(in srgb, #514638 72%, var(--environment-detail)); stroke-width: 2; }
.edinburgh-shed.wall.second { fill: color-mix(in srgb, #6f765d 66%, var(--environment-ground)); }
.edinburgh-shed.roof { fill: color-mix(in srgb, #6b5140 76%, var(--environment-detail)); stroke: var(--environment-detail); stroke-width: 2; }
.edinburgh-shed.roof.second { fill: color-mix(in srgb, #585d55 72%, var(--environment-detail)); }
.edinburgh-shed-door { fill: color-mix(in srgb, #684f3d 76%, var(--environment-ground)); stroke: color-mix(in srgb, #4e4035 78%, var(--environment-detail)); stroke-width: 1.8; }
.edinburgh-shed-window { fill: color-mix(in srgb, var(--environment-water) 63%, var(--paper-strong)); stroke: var(--environment-detail); stroke-width: 1.5; }
.edinburgh-plot { stroke: color-mix(in srgb, var(--environment-detail) 59%, #5c503e); stroke-width: 1.5; stroke-linejoin: round; }
.edinburgh-plot.left { fill: color-mix(in srgb, var(--environment-ground) 69%, #696443); }
.edinburgh-plot.centre-left { fill: color-mix(in srgb, var(--environment-ground) 64%, #7a6948); }
.edinburgh-plot.centre-right { fill: color-mix(in srgb, var(--environment-land) 51%, #77634a); }
.edinburgh-plot.right { fill: color-mix(in srgb, var(--environment-ground) 58%, #6d7551); }
.edinburgh-plot-board { fill: none; stroke: color-mix(in srgb, #8a6847 73%, var(--environment-detail)); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.edinburgh-plot-furrow { fill: none; stroke: color-mix(in srgb, #453f31 48%, var(--environment-ground)); stroke-width: 2; stroke-linecap: round; opacity: .58; }
.edinburgh-plant-stem { fill: none; stroke: color-mix(in srgb, #45664a 76%, var(--environment-detail)); stroke-width: 2; stroke-linecap: round; }
.edinburgh-plant-leaf { fill: color-mix(in srgb, var(--environment-land) 77%, #446b4c); stroke: color-mix(in srgb, var(--environment-detail) 69%, #35513e); stroke-width: 1.5; }
.edinburgh-seed-head { fill: color-mix(in srgb, var(--environment-accent) 48%, #8a6845); stroke: var(--environment-detail); stroke-width: 1; }
.edinburgh-foreground-soil { fill: color-mix(in srgb, var(--environment-ground) 76%, #5e5140); }
.edinburgh-garden-path { fill: color-mix(in srgb, #bcae8c 62%, var(--environment-ground)); stroke: color-mix(in srgb, #756b58 48%, var(--environment-detail)); stroke-width: 1.4; }
.edinburgh-path-glint { fill: none; stroke: color-mix(in srgb, var(--paper-strong) 55%, #c8b990); stroke-width: 4; stroke-linecap: round; opacity: .38; }
.edinburgh-bed-soil { fill: color-mix(in srgb, var(--environment-ground) 65%, #4e4535); stroke: color-mix(in srgb, var(--environment-detail) 61%, #4e4438); stroke-width: 1.5; }
.edinburgh-bed-board { fill: color-mix(in srgb, #9a744e 72%, var(--environment-ground)); stroke: color-mix(in srgb, #5e4937 77%, var(--environment-detail)); stroke-width: 2.5; stroke-linejoin: round; fill-rule: evenodd; }
.edinburgh-bed-furrow { fill: none; stroke: color-mix(in srgb, #40392d 56%, var(--environment-ground)); stroke-width: 2; stroke-linecap: round; opacity: .68; }
.edinburgh-compost-shadow { fill: rgba(25,35,30,.24); }
.edinburgh-compost-cavity { fill: color-mix(in srgb, #302e25 76%, var(--environment-detail)); }
.edinburgh-compost-green { fill: color-mix(in srgb, #5d774a 75%, var(--environment-land)); stroke: color-mix(in srgb, #374a37 70%, var(--environment-detail)); stroke-width: 1.8; }
.edinburgh-compost-brown { fill: color-mix(in srgb, #755838 73%, var(--environment-ground)); stroke: color-mix(in srgb, #4e3f30 72%, var(--environment-detail)); stroke-width: 1.8; }
.edinburgh-compost-damp { fill: none; stroke: color-mix(in srgb, #394a3d 62%, var(--environment-water)); stroke-width: 5; stroke-linecap: round; opacity: .68; }
.edinburgh-compost-back,
.edinburgh-compost-side,
.edinburgh-compost-front { fill: color-mix(in srgb, #a37950 74%, var(--environment-ground)); stroke: color-mix(in srgb, #5d4938 77%, var(--environment-detail)); stroke-width: 2.5; stroke-linejoin: round; }
.edinburgh-compost-side.right { fill: color-mix(in srgb, #8f6a48 71%, var(--environment-ground)); }
.edinburgh-compost-front { fill: color-mix(in srgb, #9d744d 77%, var(--environment-ground)); fill-opacity: .96; }
.edinburgh-compost-slat,
.edinburgh-compost-board-line { fill: none; stroke: color-mix(in srgb, #5d4836 68%, var(--environment-detail)); stroke-width: 2; }
.edinburgh-compost-stems { fill: none; stroke: color-mix(in srgb, #80613f 73%, var(--environment-detail)); stroke-width: 4; stroke-linecap: round; }
.edinburgh-compost-leaf { fill: color-mix(in srgb, #8b6240 70%, var(--environment-accent)); stroke: color-mix(in srgb, #4d4032 72%, var(--environment-detail)); stroke-width: 1.3; }
.edinburgh-compost-leaf.green { fill: color-mix(in srgb, #597449 79%, var(--environment-land)); }
.edinburgh-wood-knot { fill: color-mix(in srgb, #5c4735 76%, var(--environment-detail)); opacity: .72; }
.edinburgh-plot-stake path { fill: color-mix(in srgb, #b18a5c 72%, var(--environment-ground)); stroke: color-mix(in srgb, #624e3b 75%, var(--environment-detail)); stroke-width: 2; }
.edinburgh-plot-stake text { fill: color-mix(in srgb, var(--environment-detail) 86%, #3e342b); font: 800 9px/1 var(--sans); letter-spacing: .04em; }
.edinburgh-botanical-frame > path:first-child { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 70%, #405c48); stroke-width: 3; stroke-linecap: round; }
.edinburgh-botanical-frame path:not(:first-child) { fill: color-mix(in srgb, var(--environment-land) 76%, #496b51); stroke: color-mix(in srgb, var(--environment-detail) 64%, #3c5443); stroke-width: 1.5; }
.edinburgh-botanical-frame path.deep { fill: color-mix(in srgb, var(--environment-land) 64%, #365941); }
.edinburgh-damp-litter path:not(.edinburgh-leaf-vein) { fill: color-mix(in srgb, #7a583d 68%, var(--environment-accent)); stroke: color-mix(in srgb, var(--environment-detail) 70%, #4e3d31); stroke-width: 1.4; }
.edinburgh-leaf-vein { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 73%, #493a2f); stroke-width: 1; }
.tenerife-sun { fill: color-mix(in srgb, var(--environment-accent) 68%, #fff0b2); opacity: .72; filter: drop-shadow(0 0 13px rgba(218,176,83,.22)); }
.tenerife-clouds { fill: color-mix(in srgb, var(--paper-strong) 82%, var(--environment-water)); opacity: .5; }
.tenerife-orotava-slope { fill: color-mix(in srgb, var(--environment-land) 63%, #6e8f68); stroke: color-mix(in srgb, var(--environment-detail) 49%, #536b53); stroke-width: 1.5; }
.tenerife-slope-detail { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 44%, var(--environment-land)); stroke-width: 3; stroke-linecap: round; opacity: .54; }
.tenerife-teide-notch { fill: color-mix(in srgb, #7f8b80 56%, var(--environment-land)); stroke: color-mix(in srgb, var(--environment-detail) 48%, #66716a); stroke-width: 1.2; opacity: .68; }
.tenerife-distant-canopy path { fill: color-mix(in srgb, var(--environment-land) 77%, #3f6c52); stroke: color-mix(in srgb, var(--environment-detail) 64%, #365446); stroke-width: 1.5; }
.tenerife-wall-face { fill: color-mix(in srgb, #c7b68f 66%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 59%, #6d604e); stroke-width: 2; }
.tenerife-wall-cap { fill: color-mix(in srgb, #dfd0a8 65%, var(--paper-strong)); stroke: color-mix(in srgb, var(--environment-detail) 63%, #73634e); stroke-width: 1.7; }
.tenerife-wall-seam { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 46%, #8a765d); stroke-width: 1.5; opacity: .66; }
.tenerife-garden-ground { fill: color-mix(in srgb, var(--environment-ground) 54%, #746f4e); }
.tenerife-path { fill: color-mix(in srgb, #c9b58e 58%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 38%, #7f6f58); stroke-width: 1.2; stroke-linejoin: round; }
.tenerife-path.transverse { fill: color-mix(in srgb, #d1c09b 61%, var(--environment-ground)); }
.tenerife-path-edge { fill: none; stroke: color-mix(in srgb, #8f7b5d 51%, var(--environment-detail)); stroke-width: 2; stroke-linecap: round; opacity: .54; }
.tenerife-class-bed { stroke: color-mix(in srgb, var(--environment-detail) 55%, #594c38); stroke-width: 1.3; stroke-linejoin: round; }
.tenerife-class-bed.tone-0 { fill: color-mix(in srgb, var(--environment-land) 69%, #526a43); }
.tenerife-class-bed.tone-1 { fill: color-mix(in srgb, var(--environment-ground) 46%, #697348); }
.tenerife-class-bed.tone-2 { fill: color-mix(in srgb, var(--environment-land) 55%, #7b754f); }
.tenerife-plant-stem { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 72%, #365542); stroke-width: 3; stroke-linecap: round; }
.tenerife-plant-leaf { fill: color-mix(in srgb, var(--environment-land) 82%, #356447); stroke: color-mix(in srgb, var(--environment-detail) 71%, #2f4d3c); stroke-width: 1.4; stroke-linejoin: round; }
.tenerife-bed-plant.plant-1 .tenerife-plant-leaf { fill: color-mix(in srgb, var(--environment-land) 65%, #71834f); }
.tenerife-bed-plant.plant-2 .tenerife-plant-leaf { fill: color-mix(in srgb, var(--environment-land) 72%, #487a64); }
.tenerife-bed-plant.plant-3 .tenerife-plant-leaf { fill: color-mix(in srgb, var(--environment-land) 61%, #7a875f); }
.tenerife-plant-bloom { fill: color-mix(in srgb, #85577b 68%, var(--environment-accent)); stroke: color-mix(in srgb, var(--environment-detail) 72%, #564052); stroke-width: 1; }
.tenerife-label-support,
.tenerife-label-line { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 74%, #52483a); stroke-linecap: round; }
.tenerife-label-support { stroke-width: 2.2; }
.tenerife-label-line { stroke-width: 1; }
.tenerife-label-plaque { fill: color-mix(in srgb, #e5ddc5 72%, var(--paper-strong)); stroke: color-mix(in srgb, var(--environment-detail) 62%, #655b4d); stroke-width: 1.4; }
.tenerife-pond-shadow { fill: rgba(27,48,40,.2); }
.tenerife-pond-rim { fill: color-mix(in srgb, #9a8b72 58%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 66%, #5a5348); stroke-width: 2.5; }
.tenerife-pond-water { fill: color-mix(in srgb, var(--environment-water) 77%, #6ea69c); stroke: color-mix(in srgb, var(--environment-detail) 42%, var(--environment-water)); stroke-width: 1.5; }
.tenerife-pond-glint { fill: none; stroke: color-mix(in srgb, var(--paper-strong) 77%, var(--environment-water)); stroke-width: 2.5; stroke-linecap: round; opacity: .72; }
.tenerife-water-leaf { fill: color-mix(in srgb, var(--environment-land) 73%, #416b4a); stroke: color-mix(in srgb, var(--environment-detail) 67%, #33513d); stroke-width: 1; }
.tenerife-ficus-canopy { fill: color-mix(in srgb, var(--environment-land) 82%, #2f6549); stroke: color-mix(in srgb, var(--environment-detail) 77%, #294b3b); stroke-width: 2; stroke-linejoin: round; }
.tenerife-ficus-trunk,
.tenerife-ficus-branch,
.tenerife-ficus-buttress { fill: color-mix(in srgb, #7c6045 69%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 78%, #4e3e32); stroke-width: 2.5; stroke-linejoin: round; }
.tenerife-ficus-branch { fill: color-mix(in srgb, #70563f 72%, var(--environment-ground)); }
.tenerife-aerial-root,
.tenerife-root-arch { fill: none; stroke: color-mix(in srgb, #775b42 72%, var(--environment-detail)); stroke-linecap: round; stroke-linejoin: round; }
.tenerife-aerial-root.thick { stroke-width: 13; }
.tenerife-aerial-root.medium { stroke-width: 9; }
.tenerife-aerial-root.fine { stroke-width: 6; }
.tenerife-root-arch { stroke-width: 8; }
.tenerife-ficus-leaf { fill: color-mix(in srgb, var(--environment-land) 79%, #3e7353); stroke: color-mix(in srgb, var(--environment-detail) 68%, #315340); stroke-width: 1.3; }
.tenerife-ficus-leaf.deep { fill: color-mix(in srgb, var(--environment-land) 88%, #285a43); }
.tenerife-litter-leaf { fill: color-mix(in srgb, var(--environment-accent) 23%, #8a6544); stroke: color-mix(in srgb, var(--environment-detail) 70%, #554536); stroke-width: 1.4; }
.tenerife-litter-leaf.damp { fill: color-mix(in srgb, var(--environment-ground) 65%, #4d4d36); }
.tenerife-litter-vein { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 69%, #4d4033); stroke-width: 1; }
.tenerife-decay-fragment { fill: color-mix(in srgb, #594b36 72%, var(--environment-ground)); opacity: .8; }
.tenerife-avocado-shadow { fill: rgba(23,37,29,.25); }
.tenerife-avocado-rind { fill: color-mix(in srgb, #263f30 82%, var(--environment-land)); stroke: color-mix(in srgb, #1f3228 84%, var(--environment-detail)); stroke-width: 3; stroke-linejoin: round; }
.tenerife-avocado-flesh { fill: color-mix(in srgb, #887a45 72%, var(--environment-accent)); stroke: color-mix(in srgb, #4d4930 74%, var(--environment-detail)); stroke-width: 2; }
.tenerife-avocado-collapse { fill: color-mix(in srgb, #6d5136 77%, var(--environment-ground)); stroke: color-mix(in srgb, #4a382c 77%, var(--environment-detail)); stroke-width: 1.8; }
.tenerife-avocado-pit { fill: color-mix(in srgb, #7f4f34 78%, var(--environment-accent)); stroke: color-mix(in srgb, #4c3328 82%, var(--environment-detail)); stroke-width: 2.4; }
.tenerife-avocado-pit-split { fill: none; stroke: color-mix(in srgb, #4b3027 82%, var(--environment-detail)); stroke-width: 2; stroke-linecap: round; }
.tenerife-avocado-peel-flap { fill: color-mix(in srgb, #2f4a36 86%, var(--environment-land)); stroke: color-mix(in srgb, #21362b 86%, var(--environment-detail)); stroke-width: 2.5; }
.tenerife-avocado-mottle { fill: color-mix(in srgb, #9b7245 58%, var(--environment-ground)); }
.tenerife-avocado-mottle.dark { fill: color-mix(in srgb, #332c24 79%, var(--environment-detail)); }
.kauai-kokee-sky { fill: color-mix(in srgb, #cadad7 68%, var(--paper-strong)); }
#habitat[data-environment="kauai-kokee-upland-forest"] .regional-backdrop { contain: layout paint; }
.kauai-kokee-broken-ridge { fill: color-mix(in srgb, var(--environment-land) 47%, #748277); stroke: color-mix(in srgb, var(--environment-detail) 38%, #65726a); stroke-width: 1.5; opacity: .58; }
.kauai-kokee-fog { fill: color-mix(in srgb, var(--paper-strong) 84%, var(--environment-water)); }
.kauai-kokee-fog.back { opacity: .62; }
.kauai-kokee-fog.front { opacity: .74; }
.kauai-kokee-distant-forest { opacity: .39; }
.kauai-kokee-distant-trunk { fill: color-mix(in srgb, #675848 55%, var(--environment-detail)); }
.kauai-kokee-distant-crown { fill: color-mix(in srgb, var(--environment-land) 69%, #597364); stroke: color-mix(in srgb, var(--environment-detail) 42%, #4f6359); stroke-width: 1; }
.kauai-kokee-ground { fill: color-mix(in srgb, #7d493b 62%, var(--environment-ground)); }
.kauai-kokee-path { fill: color-mix(in srgb, #a55d43 63%, var(--environment-ground)); stroke: color-mix(in srgb, #6b4035 56%, var(--environment-detail)); stroke-width: 1.5; stroke-linejoin: round; }
.kauai-kokee-path-edge { fill: none; stroke: color-mix(in srgb, #c27b55 55%, var(--environment-detail)); stroke-width: 3; stroke-linecap: round; opacity: .52; }
.kauai-kokee-tree-trunk,
.kauai-kokee-tree-branch { fill: color-mix(in srgb, #74543f 70%, var(--environment-ground)); stroke: color-mix(in srgb, #433a31 79%, var(--environment-detail)); stroke-width: 2.5; stroke-linejoin: round; }
.kauai-kokee-tree-trunk.forked { fill: color-mix(in srgb, #694d3b 73%, var(--environment-ground)); }
.kauai-kokee-left-canopy,
.kauai-kokee-right-canopy { fill: color-mix(in srgb, var(--environment-land) 84%, #2f5d46); stroke: color-mix(in srgb, var(--environment-detail) 75%, #2d493b); stroke-width: 2; stroke-linejoin: round; }
.kauai-kokee-right-canopy { fill: color-mix(in srgb, var(--environment-land) 77%, #365f49); }
.kauai-kokee-canopy-leaf { fill: color-mix(in srgb, var(--environment-land) 77%, #47745a); stroke: color-mix(in srgb, var(--environment-detail) 62%, #355342); stroke-width: 1.1; }
.kauai-kokee-canopy-leaf.deep { fill: color-mix(in srgb, var(--environment-land) 87%, #28533f); }
.kauai-kokee-fern-stem { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 72%, #365344); stroke-width: 3.2; stroke-linecap: round; }
.kauai-kokee-fern-frond { fill: color-mix(in srgb, var(--environment-land) 78%, #3e714f); stroke: color-mix(in srgb, var(--environment-detail) 65%, #345341); stroke-width: 1.2; stroke-linejoin: round; }
.kauai-kokee-fern-frond.deep { fill: color-mix(in srgb, var(--environment-land) 85%, #315f47); }
.kauai-kokee-litter-leaf { fill: color-mix(in srgb, #9b6946 68%, var(--environment-accent)); stroke: color-mix(in srgb, #514237 72%, var(--environment-detail)); stroke-width: 1.3; }
.kauai-kokee-litter-leaf.damp { fill: color-mix(in srgb, #4c4b37 72%, var(--environment-ground)); }
.kauai-kokee-litter-vein { fill: none; stroke: color-mix(in srgb, #4d4035 72%, var(--environment-detail)); stroke-width: 1; }
.kauai-kokee-substrate-shadow { fill: rgba(25,35,30,.28); }
.kauai-kokee-substrate-shell { fill: color-mix(in srgb, #624b38 74%, var(--environment-ground)); stroke: color-mix(in srgb, #3f352c 82%, var(--environment-detail)); stroke-width: 3; stroke-linejoin: round; }
.kauai-kokee-substrate-soft { fill: color-mix(in srgb, #806044 70%, var(--environment-accent)); stroke: color-mix(in srgb, #493b30 79%, var(--environment-detail)); stroke-width: 2; stroke-linejoin: round; }
.kauai-kokee-substrate-split { fill: none; stroke: color-mix(in srgb, #3f342b 83%, var(--environment-detail)); stroke-width: 2.4; stroke-linecap: round; }
.kauai-kokee-decay-pore { fill: color-mix(in srgb, #a77b4c 62%, var(--environment-accent)); }
.kauai-kokee-decay-pore.deep { fill: color-mix(in srgb, #30352c 82%, var(--environment-detail)); }
.kauai-kokee-moisture-glint { fill: none; stroke: color-mix(in srgb, var(--paper-strong) 68%, var(--environment-water)); stroke-width: 2.3; stroke-linecap: round; opacity: .72; }
#habitat[data-environment="canberra-oconnor-fig-garden"] .regional-backdrop { contain: layout paint; }
.canberra-oconnor-sky { fill: color-mix(in srgb, #e7dfcf 82%, var(--paper-strong)); }
.canberra-oconnor-sun { fill: color-mix(in srgb, var(--environment-accent) 70%, #f4d58a); opacity: .72; filter: drop-shadow(0 0 12px rgba(185,143,74,.2)); }
.canberra-oconnor-ridge { fill: color-mix(in srgb, var(--environment-land) 61%, #8e8b67); stroke: color-mix(in srgb, var(--environment-detail) 54%, #62634f); stroke-width: 1.8; }
.canberra-oconnor-ridge-detail { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 48%, #aaa078); stroke-width: 2.2; stroke-linecap: round; opacity: .58; }
.canberra-ridge-tree { fill: color-mix(in srgb, var(--environment-land) 72%, #657554); stroke: color-mix(in srgb, var(--environment-detail) 61%, #4e5746); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.canberra-ridge-tree.deep { fill: color-mix(in srgb, var(--environment-land) 82%, #536746); }
.canberra-tower-mast,
.canberra-tower-platform { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 88%, #3f4744); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.canberra-tower-tip { fill: color-mix(in srgb, var(--environment-accent) 74%, #9b7650); stroke: var(--environment-detail); stroke-width: .8; }
.canberra-garden-ground { fill: color-mix(in srgb, var(--environment-ground) 62%, #938063); }
.canberra-roof-fragment { fill: color-mix(in srgb, #a46d54 54%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 67%, #665248); stroke-width: 2; stroke-linejoin: round; }
.canberra-roof-seam { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 54%, #7d5d4d); stroke-width: 1.5; stroke-linecap: round; }
.canberra-fence-rail,
.canberra-fence-post { fill: none; stroke: color-mix(in srgb, #826b4d 72%, var(--environment-detail)); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.canberra-fence-post { stroke-width: 6; }
.canberra-yellow-box-trunk,
.canberra-yellow-box-branch { fill: color-mix(in srgb, #9a7b55 72%, var(--environment-ground)); stroke: color-mix(in srgb, #5c4f3f 78%, var(--environment-detail)); stroke-width: 2.5; stroke-linejoin: round; }
.canberra-yellow-box-leaves { fill: color-mix(in srgb, var(--environment-land) 72%, #78925f); stroke: color-mix(in srgb, var(--environment-detail) 67%, #4f654b); stroke-width: 1.6; }
.canberra-yellow-box-leaves.deep { fill: color-mix(in srgb, var(--environment-land) 83%, #5f7850); }
.canberra-step-stone { fill: color-mix(in srgb, #aaa28d 66%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 59%, #777466); stroke-width: 1.7; }
.canberra-step-stone.deep { fill: color-mix(in srgb, #8e897b 68%, var(--environment-ground)); }
.canberra-edge-earth { fill: color-mix(in srgb, #6f5942 71%, var(--environment-ground)); }
.canberra-edge-stone { fill: color-mix(in srgb, #a49a84 66%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 61%, #6f685a); stroke-width: 1.5; stroke-linejoin: round; }
.canberra-edge-stone.deep { fill: color-mix(in srgb, #887d6b 70%, var(--environment-ground)); }
.canberra-decay-patch { fill: color-mix(in srgb, #554638 74%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 68%, #463c32); stroke-width: 2; }
.canberra-litter-leaf { fill: color-mix(in srgb, #9b7048 66%, var(--environment-accent)); stroke: color-mix(in srgb, var(--environment-detail) 70%, #5b4938); stroke-width: 1.25; }
.canberra-litter-leaf.deep { fill: color-mix(in srgb, #66533e 78%, var(--environment-ground)); }
.canberra-litter-vein { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 70%, #5b4938); stroke-width: 1; }
.canberra-fig-shadow { fill: rgba(30,37,30,.27); }
.canberra-fig-rind { fill: color-mix(in srgb, #765447 73%, var(--environment-ground)); stroke: color-mix(in srgb, #493b34 82%, var(--environment-detail)); stroke-width: 2.8; stroke-linejoin: round; }
.canberra-fig-rind.sagged { fill: color-mix(in srgb, #665044 77%, var(--environment-ground)); }
.canberra-fig-flesh { fill: color-mix(in srgb, #a16b6c 62%, var(--environment-accent)); stroke: color-mix(in srgb, #5d3f45 76%, var(--environment-detail)); stroke-width: 2; }
.canberra-fig-cleft,
.canberra-fig-crease { fill: none; stroke: color-mix(in srgb, #423731 82%, var(--environment-detail)); stroke-width: 2; stroke-linecap: round; }
.canberra-fig-collapse { fill: color-mix(in srgb, #8b6255 65%, var(--environment-ground)); stroke: color-mix(in srgb, #4a3b35 77%, var(--environment-detail)); stroke-width: 1.8; }
.canberra-fig-seed { fill: color-mix(in srgb, #d1b36f 72%, var(--environment-accent)); stroke: color-mix(in srgb, #694b3c 72%, var(--environment-detail)); stroke-width: .8; }
.canberra-fig-seed.deep,
.canberra-fig-mottle.deep { fill: color-mix(in srgb, #443b34 84%, var(--environment-detail)); }
.canberra-fig-mottle { fill: color-mix(in srgb, #9b7458 63%, var(--environment-accent)); }
#habitat[data-environment="auckland-eca36-garden-grass"] .regional-backdrop { contain: layout paint; }
.auckland-garden-sky { fill: color-mix(in srgb, #d7e1dd 77%, var(--paper-strong)); }
.auckland-garden-clouds { fill: color-mix(in srgb, var(--paper-strong) 82%, var(--environment-water)); opacity: .58; }
.auckland-volcanic-shoulder { fill: color-mix(in srgb, var(--environment-land) 57%, #7f9180); stroke: color-mix(in srgb, var(--environment-detail) 52%, #5f6f62); stroke-width: 1.7; }
.auckland-volcanic-shoulder.right { fill: color-mix(in srgb, var(--environment-land) 51%, #879587); }
.auckland-volcanic-contour { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 49%, #8fa092); stroke-width: 2; stroke-linecap: round; opacity: .62; }
.auckland-sky-tower-mast,
.auckland-sky-tower-spire { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 88%, #3f4a48); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.auckland-sky-tower-deck { fill: color-mix(in srgb, var(--environment-accent) 65%, #9c8d64); stroke: color-mix(in srgb, var(--environment-detail) 79%, #3f4946); stroke-width: 1; }
.auckland-garden-ground { fill: color-mix(in srgb, var(--environment-ground) 57%, #8a8063); }
.auckland-roof-fragment { fill: color-mix(in srgb, #a06d59 48%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 65%, #66554d); stroke-width: 1.8; stroke-linejoin: round; }
.auckland-roof-fragment.right { fill: color-mix(in srgb, #8e6658 48%, var(--environment-ground)); }
.auckland-roof-seam { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 54%, #755d52); stroke-width: 1.4; stroke-linecap: round; }
.auckland-hedge { fill: color-mix(in srgb, var(--environment-land) 78%, #436650); stroke: color-mix(in srgb, var(--environment-detail) 63%, #3e5446); stroke-width: 1.8; stroke-linejoin: round; }
.auckland-hedge-detail { fill: none; stroke: color-mix(in srgb, var(--environment-land) 48%, var(--paper-strong)); stroke-width: 4; stroke-linecap: round; opacity: .46; }
.auckland-fence-rail,
.auckland-fence-post { fill: none; stroke: color-mix(in srgb, #8f7554 70%, var(--environment-detail)); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.auckland-fence-post { stroke-width: 6; }
.auckland-fence-post.deep { stroke: color-mix(in srgb, #675944 75%, var(--environment-detail)); }
.auckland-edge-earth { fill: color-mix(in srgb, #65543f 69%, var(--environment-ground)); }
.auckland-edge-stone { fill: color-mix(in srgb, #a5a08d 66%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 59%, #727267); stroke-width: 1.5; stroke-linejoin: round; }
.auckland-edge-stone.deep { fill: color-mix(in srgb, #858277 69%, var(--environment-ground)); }
.auckland-paver { fill: color-mix(in srgb, #ada99b 70%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 55%, #777970); stroke-width: 1.5; }
.auckland-paver.deep { fill: color-mix(in srgb, #8c8980 69%, var(--environment-ground)); }
.auckland-grass-shadow { fill: rgba(27,39,31,.27); }
.auckland-grass-underside { fill: color-mix(in srgb, #3b4735 80%, var(--environment-ground)); stroke: color-mix(in srgb, var(--environment-detail) 76%, #354138); stroke-width: 2.4; stroke-linejoin: round; }
.auckland-grass-fold,
.auckland-grass-mat { fill: color-mix(in srgb, var(--environment-land) 63%, #68754d); stroke: color-mix(in srgb, var(--environment-detail) 72%, #42513d); stroke-width: 2.2; stroke-linejoin: round; }
.auckland-grass-mat { fill: color-mix(in srgb, var(--environment-land) 54%, #7d7955); }
.auckland-grass-blade { fill: none; stroke: color-mix(in srgb, var(--environment-land) 79%, #36563f); stroke-width: 5; stroke-linecap: round; }
.auckland-grass-blade.deep { stroke: color-mix(in srgb, var(--environment-detail) 68%, #3f593f); stroke-width: 4.3; }
.auckland-grass-blade.dry { stroke: color-mix(in srgb, var(--environment-accent) 46%, #89764c); stroke-width: 4.6; }
.auckland-litter-leaf { fill: color-mix(in srgb, #9a704a 65%, var(--environment-accent)); stroke: color-mix(in srgb, var(--environment-detail) 68%, #58483a); stroke-width: 1.2; }
.auckland-litter-leaf.deep { fill: color-mix(in srgb, #65533e 77%, var(--environment-ground)); }
.auckland-litter-vein { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 68%, #58483a); stroke-width: 1; }
#habitat[data-environment="cunco-ju4400-compost-garden"] .regional-backdrop { contain: layout paint; }
.cunco-garden-sky { fill: color-mix(in srgb, #d5dedb 77%, var(--paper-strong)); }
.cunco-cloud { fill: color-mix(in srgb, var(--paper-strong) 82%, var(--environment-water)); }
.cunco-cloud.back { opacity: .56; }
.cunco-cloud.middle { opacity: .67; }
.cunco-western-terrain { fill: color-mix(in srgb, var(--environment-land) 48%, #89928a); stroke: color-mix(in srgb, var(--environment-detail) 42%, #69726c); stroke-width: 1.4; }
.cunco-low-foothills { fill: color-mix(in srgb, var(--environment-land) 58%, #788578); stroke: color-mix(in srgb, var(--environment-detail) 48%, #59665c); stroke-width: 1.6; }
.cunco-terrain-contour { fill: none; stroke: color-mix(in srgb, var(--environment-detail) 43%, #a4ada1); stroke-width: 2; stroke-linecap: round; opacity: .59; }
.cunco-llaima-double-summit { fill: color-mix(in srgb, #77817d 56%, var(--environment-land)); stroke: color-mix(in srgb, #5f6965 52%, var(--environment-detail)); stroke-width: 1.3; opacity: .64; }
.cunco-llaima-contour { fill: none; stroke: color-mix(in srgb, #59645f 49%, var(--environment-detail)); stroke-width: 1.2; stroke-linecap: round; opacity: .56; }
.cunco-summit-cloud { fill: color-mix(in srgb, var(--paper-strong) 86%, var(--environment-water)); opacity: .78; }
.cunco-shelterbelt-mass { fill: color-mix(in srgb, var(--environment-land) 75%, #4f6852); stroke: color-mix(in srgb, var(--environment-detail) 62%, #405344); stroke-width: 1.7; stroke-linejoin: round; }
.cunco-shelterbelt-mass.right { fill: color-mix(in srgb, var(--environment-land) 68%, #586c58); }
.cunco-shelterbelt-highlight { fill: none; stroke: color-mix(in srgb, var(--environment-land) 49%, var(--paper-strong)); stroke-width: 4; stroke-linecap: round; opacity: .4; }
.cunco-garden-ground { fill: color-mix(in srgb, var(--environment-ground) 55%, #81775c); }
.cunco-bed-soil { fill: color-mix(in srgb, #66513c 72%, var(--environment-ground)); stroke: color-mix(in srgb, #4b4034 71%, var(--environment-detail)); stroke-width: 1.5; stroke-linejoin: round; }
.cunco-bed-soil.right { fill: color-mix(in srgb, #725a40 68%, var(--environment-ground)); }
.cunco-bed-edge { fill: color-mix(in srgb, #957354 68%, var(--environment-ground)); stroke: color-mix(in srgb, #59483a 75%, var(--environment-detail)); stroke-width: 2.2; stroke-linejoin: round; fill-rule: evenodd; }
.cunco-bed-edge.right { fill: color-mix(in srgb, #87694d 70%, var(--environment-ground)); }
.cunco-bed-furrow { fill: none; stroke: color-mix(in srgb, #40372d 55%, var(--environment-ground)); stroke-width: 2; stroke-linecap: round; opacity: .63; }
.cunco-sprout-stem { fill: none; stroke: color-mix(in srgb, #486047 75%, var(--environment-detail)); stroke-width: 2.2; stroke-linecap: round; }
.cunco-sprout-leaf { fill: color-mix(in srgb, var(--environment-land) 77%, #516b4c); stroke: color-mix(in srgb, #34493a 72%, var(--environment-detail)); stroke-width: 1.3; stroke-linejoin: round; }
.cunco-bed-sprout.tone-1 .cunco-sprout-leaf { fill: color-mix(in srgb, var(--environment-land) 62%, #6f7952); }
.cunco-bed-sprout.tone-2 .cunco-sprout-leaf { fill: color-mix(in srgb, var(--environment-land) 67%, #61765c); }
.cunco-path-surface { fill: color-mix(in srgb, #b19c79 57%, var(--environment-ground)); stroke: color-mix(in srgb, #776951 45%, var(--environment-detail)); stroke-width: 1.3; }
.cunco-path-edge { fill: none; stroke: color-mix(in srgb, #7a6b52 55%, var(--environment-detail)); stroke-width: 2.1; stroke-linecap: round; opacity: .56; }
.cunco-path-wear { fill: color-mix(in srgb, #968569 58%, var(--environment-ground)); opacity: .66; }
.cunco-path-wear.deep { fill: color-mix(in srgb, #7d705b 62%, var(--environment-ground)); }
.cunco-fence-rail,
.cunco-fence-post { fill: none; stroke: color-mix(in srgb, #8d6f4d 71%, var(--environment-detail)); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.cunco-fence-post { stroke-width: 6; }
.cunco-fence-post.deep { stroke: color-mix(in srgb, #665641 77%, var(--environment-detail)); }
.cunco-foreground-soil { fill: color-mix(in srgb, #5f4b39 72%, var(--environment-ground)); }
.cunco-litter-clast { fill: color-mix(in srgb, #966a45 64%, var(--environment-accent)); stroke: color-mix(in srgb, #504235 72%, var(--environment-detail)); stroke-width: 1.2; }
.cunco-litter-clast.deep { fill: color-mix(in srgb, #5f503d 77%, var(--environment-ground)); }
.cunco-litter-vein { fill: none; stroke: color-mix(in srgb, #4f4236 71%, var(--environment-detail)); stroke-width: 1; }
.cunco-compost-shadow { fill: rgba(25,34,28,.28); }
.cunco-compost-base { fill: color-mix(in srgb, #604a37 77%, var(--environment-ground)); stroke: color-mix(in srgb, #3e352d 82%, var(--environment-detail)); stroke-width: 3; stroke-linejoin: round; }
.cunco-compost-green-layer { fill: color-mix(in srgb, #5b6d45 73%, var(--environment-land)); stroke: color-mix(in srgb, #394536 78%, var(--environment-detail)); stroke-width: 2; stroke-linejoin: round; }
.cunco-compost-brown-layer { fill: color-mix(in srgb, #79573a 73%, var(--environment-ground)); stroke: color-mix(in srgb, #4b3b30 76%, var(--environment-detail)); stroke-width: 1.8; stroke-linejoin: round; }
.cunco-compost-layer-line { fill: none; stroke: color-mix(in srgb, #3f4435 63%, var(--environment-detail)); stroke-width: 4; stroke-linecap: round; opacity: .67; }
.cunco-compost-clast { fill: color-mix(in srgb, #9b6d45 67%, var(--environment-accent)); stroke: color-mix(in srgb, #534235 72%, var(--environment-detail)); stroke-width: 1.2; }
.cunco-compost-clast.deep { fill: color-mix(in srgb, #564737 80%, var(--environment-ground)); }
.cunco-compost-clast.green { fill: color-mix(in srgb, #66794d 78%, var(--environment-land)); }
.cunco-compost-clast-vein { fill: none; stroke: color-mix(in srgb, #4a3d32 70%, var(--environment-detail)); stroke-width: 1; }
.cunco-compost-fragment { fill: color-mix(in srgb, #b28a55 66%, var(--environment-accent)); }
.cunco-compost-fragment.deep { fill: color-mix(in srgb, #30352d 84%, var(--environment-detail)); }
#habitat[data-environment="trivandrum-zoo-botanical-garden"] .regional-backdrop { contain: layout paint; }
.trivandrum-garden-sky { fill: color-mix(in srgb, #c9ded8 78%, var(--paper-strong)); }
.trivandrum-cloud-veil { fill: color-mix(in srgb, var(--paper-strong) 80%, var(--environment-water)); opacity: .54; }
.trivandrum-far-garden-rise { fill: color-mix(in srgb, var(--environment-land) 58%, #6d8a70); stroke: color-mix(in srgb, var(--environment-detail) 49%, #486454); stroke-width: 1.5; }
.trivandrum-top-garden-rise { fill: color-mix(in srgb, var(--environment-land) 70%, #4f785b); stroke: color-mix(in srgb, var(--environment-detail) 58%, #375545); stroke-width: 1.7; }
.trivandrum-rise-contour { fill: none; stroke: color-mix(in srgb, var(--environment-land) 49%, var(--paper-strong)); stroke-width: 2; stroke-linecap: round; opacity: .47; }
.trivandrum-museum-wall { fill: color-mix(in srgb, #b68265 52%, var(--environment-ground)); stroke: color-mix(in srgb, #5d4540 68%, var(--environment-detail)); stroke-width: 2; stroke-linejoin: round; }
.trivandrum-museum-roof { fill: color-mix(in srgb, #8c4f4f 68%, var(--environment-accent)); stroke: color-mix(in srgb, #573d42 77%, var(--environment-detail)); stroke-width: 2.5; stroke-linejoin: round; }
.trivandrum-museum-roof-seam,
.trivandrum-museum-minaret,
.trivandrum-museum-arcades { fill: none; stroke: color-mix(in srgb, #563e3f 75%, var(--environment-detail)); stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; }
.trivandrum-museum-minaret { stroke-width: 3; }
.trivandrum-canopy-mass { fill: color-mix(in srgb, var(--environment-land) 82%, #315c45); stroke: color-mix(in srgb, var(--environment-detail) 68%, #294638); stroke-width: 1.8; stroke-linejoin: round; }
.trivandrum-canopy-mass.right { fill: color-mix(in srgb, var(--environment-land) 74%, #395f49); }
.trivandrum-canopy-highlight { fill: none; stroke: color-mix(in srgb, var(--environment-land) 46%, var(--paper-strong)); stroke-width: 4; stroke-linecap: round; opacity: .4; }
.trivandrum-garden-ground { fill: color-mix(in srgb, var(--environment-ground) 50%, #657554); }
.trivandrum-bamboo-cane { fill: none; stroke: color-mix(in srgb, #c3a853 74%, var(--environment-accent)); stroke-width: 7; stroke-linecap: round; }
.trivandrum-bamboo-cane.deep { stroke: color-mix(in srgb, #8e8748 69%, var(--environment-land)); stroke-width: 6; }
.trivandrum-bamboo-node { fill: none; stroke: color-mix(in srgb, #5f6840 71%, var(--environment-detail)); stroke-width: 2.2; stroke-linecap: round; }
.trivandrum-bamboo-leaf { fill: color-mix(in srgb, #9da75a 68%, var(--environment-land)); stroke: color-mix(in srgb, #3f5c40 76%, var(--environment-detail)); stroke-width: 1.2; }
.trivandrum-bamboo-leaf.deep { fill: color-mix(in srgb, #5c7d4d 76%, var(--environment-land)); }
.trivandrum-lake-bank { fill: color-mix(in srgb, #51483c 61%, var(--environment-ground)); }
.trivandrum-lake-water { fill: color-mix(in srgb, var(--environment-water) 82%, #6ca39b); stroke: color-mix(in srgb, var(--environment-detail) 57%, #476b66); stroke-width: 1.7; }
.trivandrum-lake-ripple { fill: none; stroke: color-mix(in srgb, var(--environment-water) 46%, var(--paper-strong)); stroke-width: 2.2; stroke-linecap: round; opacity: .72; }
.trivandrum-lake-tree-trunk { fill: none; stroke: color-mix(in srgb, #694e38 72%, var(--environment-detail)); stroke-width: 5; stroke-linecap: round; }
.trivandrum-lake-tree-crown { fill: color-mix(in srgb, var(--environment-land) 80%, #315d44); stroke: color-mix(in srgb, var(--environment-detail) 62%, #29483a); stroke-width: 1.2; }
.trivandrum-lake-tree-crown.deep { fill: color-mix(in srgb, var(--environment-land) 68%, #3c6249); }
.trivandrum-terrace-wall { fill: color-mix(in srgb, #836f57 57%, var(--environment-ground)); stroke: color-mix(in srgb, #5e5545 59%, var(--environment-detail)); stroke-width: 1.4; }
.trivandrum-terrace-wall.lower { fill: color-mix(in srgb, #75644f 63%, var(--environment-ground)); }
.trivandrum-terrace-cap { fill: none; stroke: color-mix(in srgb, #b19c78 54%, var(--environment-ground)); stroke-width: 5; stroke-linecap: round; }
.trivandrum-flowerbed { fill: color-mix(in srgb, var(--environment-land) 66%, #526c4d); stroke: color-mix(in srgb, var(--environment-detail) 62%, #384b3d); stroke-width: 1.2; }
.trivandrum-flowerbed.deep { fill: color-mix(in srgb, var(--environment-land) 54%, #6d6e4f); }
.trivandrum-bed-bloom { fill: color-mix(in srgb, #a35d75 66%, var(--environment-accent)); }
.trivandrum-bed-bloom.deep { fill: color-mix(in srgb, #d4a457 70%, var(--environment-accent)); }
.trivandrum-path-surface { fill: color-mix(in srgb, #a69372 56%, var(--environment-ground)); stroke: color-mix(in srgb, #665d4d 49%, var(--environment-detail)); stroke-width: 1.4; }
.trivandrum-path-edge { fill: none; stroke: color-mix(in srgb, #6d624f 57%, var(--environment-detail)); stroke-width: 2.1; stroke-linecap: round; opacity: .64; }
.trivandrum-path-step { fill: color-mix(in srgb, #b2a487 65%, var(--environment-ground)); stroke: color-mix(in srgb, #71695b 53%, var(--environment-detail)); stroke-width: 1; }
.trivandrum-path-step.deep { fill: color-mix(in srgb, #8e826b 68%, var(--environment-ground)); }
.trivandrum-foreground-earth { fill: color-mix(in srgb, #4e4035 72%, var(--environment-ground)); }
.trivandrum-decay-shadow { fill: rgba(22,35,28,.3); }
.trivandrum-damp-decay-base { fill: color-mix(in srgb, #49382f 82%, var(--environment-ground)); stroke: color-mix(in srgb, #2e302a 84%, var(--environment-detail)); stroke-width: 2.7; stroke-linejoin: round; }
.trivandrum-decay-inner { fill: color-mix(in srgb, #5c4433 76%, var(--environment-ground)); stroke: color-mix(in srgb, #36372e 78%, var(--environment-detail)); stroke-width: 1.5; }
.trivandrum-decay-leaf { fill: color-mix(in srgb, #8c6240 66%, var(--environment-accent)); stroke: color-mix(in srgb, #473b31 75%, var(--environment-detail)); stroke-width: 1.2; }
.trivandrum-decay-leaf.deep { fill: color-mix(in srgb, #5b4c39 79%, var(--environment-ground)); }
.trivandrum-decay-leaf.green { fill: color-mix(in srgb, #536f46 77%, var(--environment-land)); }
.trivandrum-decay-vein { fill: none; stroke: color-mix(in srgb, #41372f 73%, var(--environment-detail)); stroke-width: 1; }
.trivandrum-wilted-petal { fill: color-mix(in srgb, #9d6077 63%, var(--environment-accent)); stroke: color-mix(in srgb, #573b49 72%, var(--environment-detail)); stroke-width: 1.2; }
.trivandrum-wilted-petal.deep { fill: color-mix(in srgb, #b88752 67%, var(--environment-accent)); }
.trivandrum-decay-fragment { fill: color-mix(in srgb, #bb985a 64%, var(--environment-accent)); }
.trivandrum-decay-fragment.deep { fill: color-mix(in srgb, #2e332c 85%, var(--environment-detail)); }
#habitat[data-environment="praslin-yr106-granitic-palm-forest"] .regional-backdrop { contain: layout paint; }
.praslin-forest-sky { fill: color-mix(in srgb, #bfd9cf 82%, var(--paper-strong)); }
.praslin-mist-veil { fill: color-mix(in srgb, var(--paper-strong) 76%, var(--environment-water)); opacity: .46; }
.praslin-mist-veil.back { opacity: .36; }
.praslin-closed-ridge { fill: color-mix(in srgb, var(--environment-land) 53%, #728779); stroke: color-mix(in srgb, var(--environment-detail) 48%, #4d6456); stroke-width: 1.5; }
.praslin-ridge-contour { fill: none; stroke: color-mix(in srgb, var(--environment-land) 43%, var(--paper-strong)); stroke-width: 2; stroke-linecap: round; opacity: .45; }
.praslin-light-slit { fill: color-mix(in srgb, #dce8dc 72%, var(--environment-accent)); opacity: .68; }
.praslin-canopy-mass { fill: color-mix(in srgb, var(--environment-land) 83%, #2f5b43); stroke: color-mix(in srgb, var(--environment-detail) 65%, #29463a); stroke-width: 1.7; stroke-linejoin: round; }
.praslin-canopy-mass.lower { fill: color-mix(in srgb, var(--environment-land) 74%, #365e48); }
.praslin-canopy-highlight { fill: none; stroke: color-mix(in srgb, var(--environment-land) 45%, var(--paper-strong)); stroke-width: 4; stroke-linecap: round; opacity: .34; }
.praslin-forest-floor { fill: color-mix(in srgb, var(--environment-ground) 51%, #627151); }
.praslin-floor-contour { fill: none; stroke: color-mix(in srgb, #4b5845 53%, var(--environment-detail)); stroke-width: 2; stroke-linecap: round; opacity: .54; }
.praslin-palm-trunk,
.praslin-stilt-trunk,
.praslin-pandanus-trunk { fill: color-mix(in srgb, #75573f 70%, var(--environment-detail)); stroke: color-mix(in srgb, #493d33 76%, var(--environment-detail)); stroke-width: 2.2; stroke-linejoin: round; }
.praslin-fan-blade { fill: color-mix(in srgb, #527d55 79%, var(--environment-land)); stroke: color-mix(in srgb, #34513d 77%, var(--environment-detail)); stroke-width: 1.25; stroke-linejoin: round; }
.praslin-fan-blade.deep { fill: color-mix(in srgb, #315f46 82%, var(--environment-land)); }
.praslin-fan-rib,
.praslin-stilt-rib { fill: none; stroke: color-mix(in srgb, #b59a59 49%, var(--environment-detail)); stroke-width: 1.8; stroke-linecap: round; opacity: .78; }
.praslin-fan-hub { fill: color-mix(in srgb, #8d7148 68%, var(--environment-accent)); stroke: color-mix(in srgb, #4b4134 78%, var(--environment-detail)); stroke-width: 1.8; }
.praslin-trunk-band { fill: none; stroke: color-mix(in srgb, #b18e59 51%, var(--environment-detail)); stroke-width: 2.2; stroke-linecap: round; opacity: .66; }
.praslin-stilt-trunk { fill: none; stroke-width: 10; stroke-linecap: round; }
.praslin-stilt-roots,
.praslin-pandanus-roots { fill: none; stroke: color-mix(in srgb, #72533c 74%, var(--environment-detail)); stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; }
.praslin-stilt-leaf { fill: color-mix(in srgb, #5a845d 77%, var(--environment-land)); stroke: color-mix(in srgb, #34513c 77%, var(--environment-detail)); stroke-width: 1.2; stroke-linejoin: round; }
.praslin-stilt-leaf.deep { fill: color-mix(in srgb, #37684b 82%, var(--environment-land)); }
.praslin-pandanus-trunk { fill: none; stroke-width: 9; stroke-linecap: round; }
.praslin-pandanus-leaf { fill: color-mix(in srgb, #66875a 77%, var(--environment-land)); stroke: color-mix(in srgb, #38533e 76%, var(--environment-detail)); stroke-width: 1.1; stroke-linejoin: round; }
.praslin-pandanus-leaf.deep { fill: color-mix(in srgb, #456f4d 82%, var(--environment-land)); }
.praslin-drainage-bed { fill: color-mix(in srgb, #5a4e43 68%, var(--environment-ground)); stroke: color-mix(in srgb, #423b34 61%, var(--environment-detail)); stroke-width: 1.5; }
.praslin-drainage-water { fill: color-mix(in srgb, var(--environment-water) 74%, #5f9188); stroke: color-mix(in srgb, #3d6962 61%, var(--environment-detail)); stroke-width: 1.5; }
.praslin-water-glint { fill: none; stroke: color-mix(in srgb, var(--environment-water) 45%, var(--paper-strong)); stroke-width: 2.1; stroke-linecap: round; opacity: .71; }
.praslin-drainage-stone { fill: color-mix(in srgb, #a9949a 66%, var(--environment-ground)); stroke: color-mix(in srgb, #695d62 59%, var(--environment-detail)); stroke-width: 1.4; }
.praslin-drainage-stone.deep { fill: color-mix(in srgb, #827279 69%, var(--environment-ground)); }
.praslin-granite-shadow { fill: rgba(25,35,29,.29); }
.praslin-granite-boulder { fill: color-mix(in srgb, #ae969d 70%, var(--environment-ground)); stroke: color-mix(in srgb, #67585e 69%, var(--environment-detail)); stroke-width: 2.7; stroke-linejoin: round; }
.praslin-granite-boulder.right { fill: color-mix(in srgb, #9d858e 69%, var(--environment-ground)); }
.praslin-granite-cleft { fill: none; stroke: color-mix(in srgb, #4c4143 80%, var(--environment-detail)); stroke-width: 6; stroke-linecap: round; }
.praslin-granite-vein { fill: none; stroke: color-mix(in srgb, #d0bdbe 56%, var(--paper-strong)); stroke-width: 2; stroke-linecap: round; opacity: .63; }
.praslin-granite-mottle { fill: color-mix(in srgb, #c4adb2 63%, var(--environment-ground)); }
.praslin-granite-mottle.deep { fill: color-mix(in srgb, #6f6068 72%, var(--environment-detail)); }
.praslin-foreground-litter-bed { fill: color-mix(in srgb, #493d31 69%, var(--environment-ground)); }
.praslin-litter-blade { fill: color-mix(in srgb, #906c48 66%, var(--environment-accent)); stroke: color-mix(in srgb, #493b31 75%, var(--environment-detail)); stroke-width: 1.1; }
.praslin-litter-blade.deep { fill: color-mix(in srgb, #5b4a38 80%, var(--environment-ground)); }
.praslin-litter-blade.green { fill: color-mix(in srgb, #506a43 79%, var(--environment-land)); }
.praslin-litter-rib { fill: none; stroke: color-mix(in srgb, #40362e 73%, var(--environment-detail)); stroke-width: 1; }
.praslin-litter-fragment { fill: color-mix(in srgb, #ad8b52 66%, var(--environment-accent)); }
.praslin-litter-fragment.deep { fill: color-mix(in srgb, #28332c 87%, var(--environment-detail)); }
.sao-tome-forest-sky { fill: color-mix(in srgb, #bcd8cd 82%, var(--paper-strong)); }
.sao-tome-distant-green { fill: color-mix(in srgb, var(--environment-land) 56%, #718777); }
.sao-tome-light-shaft { fill: color-mix(in srgb, #dce6cf 70%, var(--environment-accent)); opacity: .32; filter: blur(7px); }
.sao-tome-back-thicket { fill: color-mix(in srgb, var(--environment-land) 73%, #315b43); stroke: color-mix(in srgb, var(--environment-detail) 57%, #284638); stroke-width: 1.5; stroke-linejoin: round; }
.sao-tome-back-branch { fill: none; stroke: color-mix(in srgb, #4f6049 61%, var(--environment-detail)); stroke-width: 4; stroke-linecap: round; opacity: .57; }
.sao-tome-canopy-mass { fill: color-mix(in srgb, var(--environment-land) 84%, #29523b); stroke: color-mix(in srgb, var(--environment-detail) 69%, #223c32); stroke-width: 1.7; stroke-linejoin: round; }
.sao-tome-canopy-mass.left { fill: color-mix(in srgb, var(--environment-land) 78%, #315b42); }
.sao-tome-canopy-mass.right { fill: color-mix(in srgb, var(--environment-land) 75%, #375f45); }
.sao-tome-canopy-highlight { fill: none; stroke: color-mix(in srgb, var(--environment-land) 44%, var(--paper-strong)); stroke-width: 4; stroke-linecap: round; opacity: .31; }
.sao-tome-forest-floor { fill: color-mix(in srgb, var(--environment-ground) 52%, #5c6c4c); }
.sao-tome-floor-contour { fill: none; stroke: color-mix(in srgb, #495541 57%, var(--environment-detail)); stroke-width: 2; stroke-linecap: round; opacity: .54; }
.sao-tome-rear-trunk { fill: none; stroke: color-mix(in srgb, #68513e 66%, var(--environment-detail)); stroke-width: 13; stroke-linecap: round; }
.sao-tome-rear-trunk.deep { stroke: color-mix(in srgb, #4e4436 75%, var(--environment-detail)); stroke-width: 10; }
.sao-tome-root-line { fill: none; stroke: color-mix(in srgb, #5b4939 70%, var(--environment-detail)); stroke-width: 6; stroke-linecap: round; }
.sao-tome-main-trunk,
.sao-tome-fork-branch { fill: color-mix(in srgb, #72533c 73%, var(--environment-detail)); stroke: color-mix(in srgb, #473b31 79%, var(--environment-detail)); stroke-width: 2.4; stroke-linejoin: round; }
.sao-tome-fork-branch.deep { fill: color-mix(in srgb, #604a38 77%, var(--environment-detail)); }
.sao-tome-bark-seam { fill: none; stroke: color-mix(in srgb, #a47c53 49%, var(--environment-detail)); stroke-width: 3; stroke-linecap: round; opacity: .68; }
.sao-tome-bark-knot { fill: color-mix(in srgb, #a07d57 56%, var(--environment-detail)); stroke: color-mix(in srgb, #4a3d32 74%, var(--environment-detail)); stroke-width: 1.2; }
.sao-tome-bark-knot.deep { fill: color-mix(in srgb, #554536 77%, var(--environment-detail)); }
.sao-tome-liana { fill: none; stroke: color-mix(in srgb, #486846 74%, var(--environment-detail)); stroke-width: 4; stroke-linecap: round; }
.sao-tome-liana.deep { stroke: color-mix(in srgb, #3c5d40 78%, var(--environment-detail)); stroke-width: 5; }
.sao-tome-liana.fine { stroke-width: 2.4; }
.sao-tome-liana-leaf { fill: color-mix(in srgb, #59815a 78%, var(--environment-land)); stroke: color-mix(in srgb, #324d39 75%, var(--environment-detail)); stroke-width: 1; }
.sao-tome-liana-leaf.deep { fill: color-mix(in srgb, #3f6c4d 82%, var(--environment-land)); }
.sao-tome-fern-stem { fill: none; stroke: color-mix(in srgb, #46684a 75%, var(--environment-detail)); stroke-width: 2.7; stroke-linecap: round; }
.sao-tome-fern-leaflet { fill: color-mix(in srgb, #62865f 77%, var(--environment-land)); stroke: color-mix(in srgb, #38533d 76%, var(--environment-detail)); stroke-width: .8; }
.sao-tome-fern-leaflet.deep { fill: color-mix(in srgb, #416d4e 82%, var(--environment-land)); }
.sao-tome-fern-root { fill: color-mix(in srgb, #4e4935 69%, var(--environment-ground)); stroke: color-mix(in srgb, #3d382e 72%, var(--environment-detail)); stroke-width: 1.2; }
.sao-tome-fern.rear { opacity: .72; }
.sao-tome-begonia-petiole { fill: none; stroke: color-mix(in srgb, #9a4f67 60%, var(--environment-detail)); stroke-width: 4; stroke-linecap: round; }
.sao-tome-begonia-leaf { fill: color-mix(in srgb, #6f8a5d 67%, var(--environment-land)); stroke: color-mix(in srgb, #4d473e 74%, var(--environment-detail)); stroke-width: 1.5; stroke-linejoin: round; }
.sao-tome-begonia-leaf.deep { fill: color-mix(in srgb, #587b54 70%, var(--environment-land)); }
.sao-tome-begonia-vein { fill: none; stroke: color-mix(in srgb, #a55d75 59%, var(--environment-detail)); stroke-width: 1.7; stroke-linecap: round; }
.sao-tome-foreground-litter-bed { fill: color-mix(in srgb, #493d31 69%, var(--environment-ground)); }
.sao-tome-litter-leaf { fill: color-mix(in srgb, #916944 68%, var(--environment-accent)); stroke: color-mix(in srgb, #493b31 75%, var(--environment-detail)); stroke-width: 1.1; }
.sao-tome-litter-leaf.deep { fill: color-mix(in srgb, #574737 80%, var(--environment-ground)); }
.sao-tome-litter-leaf.green { fill: color-mix(in srgb, #506943 79%, var(--environment-land)); }
.sao-tome-litter-vein { fill: none; stroke: color-mix(in srgb, #3e352d 74%, var(--environment-detail)); stroke-width: 1; }
.sao-tome-litter-fragment { fill: color-mix(in srgb, #ad8550 66%, var(--environment-accent)); }
.sao-tome-litter-fragment.deep { fill: color-mix(in srgb, #26322b 87%, var(--environment-detail)); }
.sao-tome-fruit-shadow { fill: rgba(26,33,26,.31); }
.sao-tome-fruit-rind { fill: color-mix(in srgb, #8a6842 74%, var(--environment-ground)); stroke: color-mix(in srgb, #4b3c30 82%, var(--environment-detail)); stroke-width: 2.7; stroke-linejoin: round; }
.sao-tome-fruit-pulp { fill: color-mix(in srgb, #a78859 70%, var(--environment-accent)); stroke: color-mix(in srgb, #66503a 76%, var(--environment-detail)); stroke-width: 1.5; stroke-linejoin: round; }
.sao-tome-fruit-collapse { fill: color-mix(in srgb, #5d4735 79%, var(--environment-ground)); stroke: color-mix(in srgb, #3e342d 81%, var(--environment-detail)); stroke-width: 1.6; }
.sao-tome-fruit-torn-rind { fill: color-mix(in srgb, #6f5038 79%, var(--environment-ground)); stroke: color-mix(in srgb, #44372f 82%, var(--environment-detail)); stroke-width: 1.7; stroke-linejoin: round; }
.sao-tome-fruit-tear-edge { fill: none; stroke: color-mix(in srgb, #b09468 56%, var(--environment-accent)); stroke-width: 2; stroke-linecap: round; }
.sao-tome-fruit-mottle { fill: color-mix(in srgb, #664432 82%, var(--environment-detail)); }
.sao-tome-fruit-mottle.deep { fill: color-mix(in srgb, #29312a 89%, var(--environment-detail)); }
.pohnpei-cloudforest-sky { fill: color-mix(in srgb, #c9ded5 82%, var(--paper-strong)); }
.pohnpei-high-haze { fill: color-mix(in srgb, #dce7dc 67%, var(--environment-water)); opacity: .72; }
.pohnpei-light-slit { fill: color-mix(in srgb, #e7e4bd 66%, var(--environment-accent)); opacity: .58; }
.pohnpei-rear-slope { fill: color-mix(in srgb, #708675 64%, var(--environment-land)); stroke: color-mix(in srgb, #4d6254 55%, var(--environment-detail)); stroke-width: 1.5; }
.pohnpei-rear-trunk { fill: none; stroke: color-mix(in srgb, #667363 58%, var(--environment-detail)); stroke-width: 13; stroke-linecap: round; opacity: .7; }
.pohnpei-rear-trunk.deep { stroke: color-mix(in srgb, #44594a 72%, var(--environment-detail)); stroke-width: 10; opacity: .76; }
.pohnpei-mist-band { fill: color-mix(in srgb, #e2ebe2 70%, var(--environment-water)); opacity: .5; }
.pohnpei-mist-band.middle { opacity: .41; }
.pohnpei-mist-band.lower { opacity: .34; }
.pohnpei-middle-slope { fill: color-mix(in srgb, #5f795f 70%, var(--environment-land)); stroke: color-mix(in srgb, #425845 56%, var(--environment-detail)); stroke-width: 1.5; }
.pohnpei-forest-floor { fill: color-mix(in srgb, #536d51 62%, var(--environment-ground)); }
.pohnpei-floor-contour { fill: none; stroke: color-mix(in srgb, #3d5140 67%, var(--environment-detail)); stroke-width: 2; stroke-linecap: round; opacity: .54; }
.pohnpei-understory-stem { fill: none; stroke: color-mix(in srgb, #49694e 73%, var(--environment-detail)); stroke-width: 4; stroke-linecap: round; }
.pohnpei-understory-leaf { fill: color-mix(in srgb, #60805e 75%, var(--environment-land)); stroke: color-mix(in srgb, #364e3b 74%, var(--environment-detail)); stroke-width: 1.4; stroke-linejoin: round; }
.pohnpei-understory-leaf.deep { fill: color-mix(in srgb, #456a4c 81%, var(--environment-land)); }
.pohnpei-understory-vein { fill: none; stroke: color-mix(in srgb, #9a7758 44%, var(--environment-detail)); stroke-width: 1.5; stroke-linecap: round; }
.pohnpei-palm-column { fill: color-mix(in srgb, #b4a78a 69%, var(--environment-ground)); stroke: color-mix(in srgb, #5c584b 71%, var(--environment-detail)); stroke-width: 2.6; stroke-linejoin: round; }
.pohnpei-trunk-ring { fill: none; stroke: color-mix(in srgb, #7e765f 58%, var(--environment-detail)); stroke-width: 2.2; stroke-linecap: round; opacity: .71; }
.pohnpei-trunk-ring.deep { stroke: color-mix(in srgb, #5a584b 68%, var(--environment-detail)); }
.pohnpei-root-lattice { fill: color-mix(in srgb, #9f9174 69%, var(--environment-ground)); stroke: color-mix(in srgb, #565246 74%, var(--environment-detail)); stroke-width: 2.3; stroke-linejoin: round; }
.pohnpei-root-lattice.arch { fill: color-mix(in srgb, #8d8169 71%, var(--environment-ground)); }
.pohnpei-root-lattice.fork { fill: color-mix(in srgb, #a99b7e 67%, var(--environment-ground)); }
.pohnpei-root-lattice.rear { fill: color-mix(in srgb, #746e5c 74%, var(--environment-ground)); }
.pohnpei-root-opening { fill: color-mix(in srgb, #27382f 86%, var(--environment-detail)); opacity: .76; }
.pohnpei-frond-rachis { fill: none; stroke: color-mix(in srgb, #5d7050 71%, var(--environment-detail)); stroke-width: 5; stroke-linecap: round; }
.pohnpei-frond-leaflet,
.pohnpei-frond-tip { fill: color-mix(in srgb, #567858 78%, var(--environment-land)); stroke: color-mix(in srgb, #354e3b 75%, var(--environment-detail)); stroke-width: 1.1; stroke-linejoin: round; }
.pohnpei-frond-leaflet.deep { fill: color-mix(in srgb, #3f684b 82%, var(--environment-land)); }
.pohnpei-foreground-litter-bed { fill: color-mix(in srgb, #4b4035 70%, var(--environment-ground)); }
.pohnpei-litter-leaf { fill: color-mix(in srgb, #8b674a 67%, var(--environment-accent)); stroke: color-mix(in srgb, #463a31 76%, var(--environment-detail)); stroke-width: 1.1; }
.pohnpei-litter-leaf.deep { fill: color-mix(in srgb, #5b4b3d 79%, var(--environment-ground)); }
.pohnpei-litter-leaf.green { fill: color-mix(in srgb, #506747 79%, var(--environment-land)); }
.pohnpei-litter-vein { fill: none; stroke: color-mix(in srgb, #3f352f 74%, var(--environment-detail)); stroke-width: 1; }
.pohnpei-litter-fragment { fill: color-mix(in srgb, #a88755 67%, var(--environment-accent)); }
.pohnpei-litter-fragment.deep { fill: color-mix(in srgb, #2c342d 87%, var(--environment-detail)); }
.pohnpei-fruit-shadow { fill: rgba(28,33,28,.29); }
.pohnpei-fruit-rind { fill: color-mix(in srgb, #775366 66%, var(--environment-ground)); stroke: color-mix(in srgb, #493943 80%, var(--environment-detail)); stroke-width: 2.5; stroke-linejoin: round; }
.pohnpei-fruit-collapse { fill: color-mix(in srgb, #7e6840 66%, var(--environment-accent)); stroke: color-mix(in srgb, #4e4434 76%, var(--environment-detail)); stroke-width: 1.6; stroke-linejoin: round; }
.pohnpei-fruit-rind-fold { fill: none; stroke: color-mix(in srgb, #b09671 55%, var(--environment-accent)); stroke-width: 2.3; stroke-linecap: round; }
.pohnpei-fruit-mottle { fill: color-mix(in srgb, #4f3a43 81%, var(--environment-detail)); }
.pohnpei-fruit-mottle.deep { fill: color-mix(in srgb, #2d342d 89%, var(--environment-detail)); }
#habitat[data-environment="queensland-qg2904-daintree-blackbean-pod-forest"] .regional-backdrop { contain: layout paint; }
.queensland-rainforest-sky { fill: color-mix(in srgb, #a9cfc0 74%, var(--paper-strong)); }
.queensland-canopy-aperture { fill: color-mix(in srgb, #afc7a5 72%, var(--environment-land)); }
.queensland-rear-canopy { fill: color-mix(in srgb, #2e6348 80%, var(--environment-land)); stroke: color-mix(in srgb, #244638 72%, var(--environment-detail)); stroke-width: 1.5; }
.queensland-rear-canopy.lower { fill: color-mix(in srgb, #3a7351 77%, var(--environment-land)); }
.queensland-background-understory { fill: color-mix(in srgb, #42664b 93%, var(--environment-land)); stroke: color-mix(in srgb, #31513b 82%, var(--environment-detail)); stroke-width: 1.3; }
.queensland-background-light-pockets { fill: color-mix(in srgb, #b6c8a8 79%, var(--environment-land)); opacity: .43; }
.queensland-crane-fragment { opacity: .72; }
.queensland-crane-rail { fill: none; stroke: color-mix(in srgb, #5d5b4c 82%, var(--environment-detail)); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.queensland-crane-joint { fill: color-mix(in srgb, #9b8255 60%, var(--environment-accent)); stroke: color-mix(in srgb, #545043 78%, var(--environment-detail)); stroke-width: 1.3; }
.queensland-rear-trunk { fill: none; stroke: color-mix(in srgb, #65513e 64%, var(--environment-detail)); stroke-linecap: round; opacity: .7; }
.queensland-rear-trunk.deep { stroke: color-mix(in srgb, #433f32 76%, var(--environment-detail)); opacity: .76; }
.queensland-rear-liana { fill: none; stroke: color-mix(in srgb, #456344 74%, var(--environment-detail)); stroke-width: 4; stroke-linecap: round; opacity: .76; }
.queensland-rear-liana.fine { stroke-width: 2.3; opacity: .67; }
.queensland-middle-floor { fill: color-mix(in srgb, #526e4d 92%, var(--environment-land)); stroke: color-mix(in srgb, #394d3b 72%, var(--environment-detail)); stroke-width: 1.5; }
.queensland-understory-shadow { fill: color-mix(in srgb, #35523d 84%, var(--environment-land)); opacity: .73; }
.queensland-understory-fronds { fill: color-mix(in srgb, #527456 82%, var(--environment-land)); stroke: color-mix(in srgb, #314a38 76%, var(--environment-detail)); stroke-width: 1.2; stroke-linejoin: round; opacity: .82; }
.queensland-forest-floor { fill: color-mix(in srgb, #536046 66%, var(--environment-ground)); }
.queensland-floor-contour { fill: none; stroke: color-mix(in srgb, #3d4535 67%, var(--environment-detail)); stroke-width: 2; stroke-linecap: round; opacity: .56; }
.queensland-main-trunk,
.queensland-buttress-fin { fill: color-mix(in srgb, #73563f 72%, var(--environment-ground)); stroke: color-mix(in srgb, #483b31 79%, var(--environment-detail)); stroke-width: 2.5; stroke-linejoin: round; }
.queensland-main-trunk.right { fill: color-mix(in srgb, #66503e 75%, var(--environment-ground)); }
.queensland-buttress-fin.left { fill: color-mix(in srgb, #806047 70%, var(--environment-ground)); }
.queensland-buttress-fin.right { fill: color-mix(in srgb, #705541 73%, var(--environment-ground)); }
.queensland-bark-seam,
.queensland-buttress-ridge { fill: none; stroke: color-mix(in srgb, #a17a55 47%, var(--environment-detail)); stroke-width: 3; stroke-linecap: round; opacity: .67; }
.queensland-buttress-ridge { stroke-width: 3.6; }
.queensland-root-shadow { fill: color-mix(in srgb, #2d352c 78%, var(--environment-detail)); opacity: .34; }
.queensland-broadleaf { fill: color-mix(in srgb, #507953 79%, var(--environment-land)); stroke: color-mix(in srgb, #30483a 75%, var(--environment-detail)); stroke-width: 1.3; stroke-linejoin: round; }
.queensland-broadleaf.deep { fill: color-mix(in srgb, #356344 83%, var(--environment-land)); }
.queensland-leaf-vein { fill: none; stroke: color-mix(in srgb, #9b7650 42%, var(--environment-detail)); stroke-width: 1.5; stroke-linecap: round; }
.queensland-foreground-litter-bed { fill: color-mix(in srgb, #4c3d31 72%, var(--environment-ground)); }
.queensland-litter-leaf { fill: color-mix(in srgb, #8d6846 68%, var(--environment-accent)); stroke: color-mix(in srgb, #46382f 78%, var(--environment-detail)); stroke-width: 1.1; }
.queensland-litter-leaf.deep { fill: color-mix(in srgb, #5a4838 80%, var(--environment-ground)); }
.queensland-litter-leaf.olive { fill: color-mix(in srgb, #586544 78%, var(--environment-land)); }
.queensland-litter-vein { fill: none; stroke: color-mix(in srgb, #3d332b 76%, var(--environment-detail)); stroke-width: 1; }
.queensland-litter-fragment { fill: color-mix(in srgb, #a5804e 68%, var(--environment-accent)); }
.queensland-litter-fragment.deep { fill: color-mix(in srgb, #2d332b 88%, var(--environment-detail)); }
.queensland-pod-shadow { fill: rgba(25,29,24,.31); }
.queensland-pod-body { fill: color-mix(in srgb, #6f3f3b 70%, var(--environment-ground)); stroke: color-mix(in srgb, #3f302e 84%, var(--environment-detail)); stroke-width: 2.7; stroke-linejoin: round; }
.queensland-pod-seam { fill: none; stroke: color-mix(in srgb, #b08a57 58%, var(--environment-accent)); stroke-width: 3.4; stroke-linecap: round; }
.queensland-pod-lower-contour,
.queensland-pod-end,
.queensland-pod-surface { fill: none; stroke: color-mix(in srgb, #8d6549 59%, var(--environment-detail)); stroke-width: 1.7; stroke-linecap: round; opacity: .76; }
.queensland-pod-surface.deep { stroke: color-mix(in srgb, #4b3632 77%, var(--environment-detail)); }
.scene-sky { fill: url(#scene-sky-gradient); }
.scene-sky-top { stop-color: color-mix(in srgb, var(--scene-sky) 55%, white); }
.scene-sky-bottom { stop-color: var(--scene-sky); }
.scene-ground, .scene-island { fill: url(#scene-ground-gradient); }
.scene-ground-top { stop-color: color-mix(in srgb, var(--scene-ground) 78%, white); }
.scene-ground-bottom { stop-color: color-mix(in srgb, var(--scene-ground) 72%, var(--scene-detail)); }
.scene-water { fill: url(#scene-water-gradient); }
.scene-water-top { stop-color: color-mix(in srgb, var(--scene-water) 72%, white); }
.scene-water-bottom { stop-color: var(--scene-water); }
.scene-sun { fill: url(#scene-sun-gradient); filter: drop-shadow(0 0 16px rgba(255,215,108,.42)); transform-origin: center; animation: sun-breathe 5.8s ease-in-out infinite; }
.scene-sun-core { stop-color: var(--scene-highlight); }
.scene-sun-edge { stop-color: color-mix(in srgb, var(--scene-highlight) 65%, #f2a55f); }
.scene-accent, .scene-fruit-detail, .scene-flower-centre { fill: var(--scene-highlight); }
.scene-leaf, .scene-canopy, .scene-canopy-dot { fill: color-mix(in srgb, var(--scene-ground) 78%, var(--scene-detail)); }
.scene-stem, .scene-stroke, .scene-wave, .scene-fence, .scene-waterfall { fill: none; stroke: var(--scene-detail); stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; }
.scene-waterfall { stroke: #eefcfa; stroke-width: 10; }
.scene-wave { stroke: color-mix(in srgb, var(--scene-water) 65%, white); stroke-width: 9; }
.scene-fruit, .scene-apple { fill: var(--habitat-two); }
.scene-insect, .scene-acorn { fill: var(--scene-detail); }
.scene-wing { fill: rgba(255,255,255,.68); stroke: var(--scene-detail); stroke-width: 2; }
.scene-mountain-back, .scene-hill-back { fill: color-mix(in srgb, var(--scene-ground) 52%, white); }
.scene-mountain, .scene-compost { fill: color-mix(in srgb, var(--scene-ground) 74%, var(--scene-detail)); }
.scene-trunk { fill: #8d684f; }
.scene-acorn-cap { fill: #664b3b; }
.scene-flower circle { fill: var(--habitat-two); }
.scene-clouds { fill: rgba(255,255,255,.58); filter: drop-shadow(0 5px 10px rgba(48,91,91,.08)); animation: cloud-drift 16s ease-in-out infinite alternate; }
.scene-clouds.mist { opacity: .42; }
.scene-distant-island { fill: color-mix(in srgb, var(--scene-ground) 48%, var(--scene-sky)); opacity: .76; }
.scene-waterfall-mist { fill: rgba(255,255,255,.68); filter: blur(4px); }
.scene-sparkles { fill: rgba(255,255,255,.72); }
.scene-mokihana circle { fill: #7567b8; stroke: rgba(255,255,255,.7); stroke-width: 2; }
.scene-mushrooms path:first-of-type { fill: none; stroke: #f5e7ce; stroke-width: 8; stroke-linecap: round; }
.scene-mushrooms path:nth-of-type(2) { fill: #e77b68; stroke: #9d5449; stroke-width: 2; }
.ahmedabad-sky { fill: #f8d7ad; }
.ahmedabad-sun { fill: #f4a75a; opacity: .78; filter: drop-shadow(0 0 18px rgba(230,125,62,.3)); }
.sabarmati-ribbon { fill: #78b8bd; }
.pol-wall { fill: #d88c63; stroke: #8e503d; stroke-width: 4; }
.pol-roof { fill: #8d4f43; stroke: #6d3a35; stroke-width: 4; }
.pol-window path { fill: #4b6f71; stroke: #f3c28f; stroke-width: 7; }
.pol-balcony { fill: none; stroke: #734438; stroke-width: 7; stroke-linejoin: round; }
.pol-door { fill: #6e4339; stroke: #f1bb82; stroke-width: 5; }
.stepwell path { fill: #c97952; stroke: #8f513d; stroke-width: 3; }
.stepwell .stepwell-water { fill: #5fa5aa; }
.banyan-trunk { fill: #79513f; stroke: #5d4035; stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; }
.banyan-canopy { fill: #507b55; stroke: #315b43; stroke-width: 3; }
.banyan-roots { fill: none; stroke: #6b493a; stroke-width: 5; stroke-linecap: round; opacity: .8; }
.ahmedabad-ground { fill: #bf825a; }
.scene-mushrooms circle { fill: #fff4d6; }
.scene-mushrooms.woodland path:nth-of-type(2) { fill: #b66b55; }
.scene-compost-specks { fill: rgba(65,85,55,.5); }
.scene-vine { fill: none; stroke: color-mix(in srgb, var(--scene-detail) 75%, var(--scene-ground)); stroke-width: 10; stroke-linecap: round; }
.scene-sunbeams { fill: rgba(255,244,190,.16); }
.scene-leaf-litter { fill: color-mix(in srgb, var(--scene-detail) 60%, #b6784f); }
@keyframes cloud-drift { from { transform: translateX(-8px); } to { transform: translateX(16px); } }
@keyframes sun-breathe { 0%, 100% { transform: scale(1); opacity: .92; } 50% { transform: scale(1.06); opacity: 1; } }
.rain-lines path { fill: none; stroke: rgba(255,255,255,.72); stroke-width: 6; stroke-linecap: round; }
.fig-cluster, .fern, .fig-wasp, .scene-flower { opacity: .9; }
.scene-name {
  position: absolute;
  right: 18px;
  bottom: 16px;
  z-index: 3;
  max-width: calc(100% - 164px);
  border-radius: 999px;
  padding: 7px 11px;
  background: rgba(255,255,255,.82);
  color: var(--ink-soft);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-align: right;
  text-transform: uppercase;
  white-space: nowrap;
  backdrop-filter: blur(6px);
}
.worm-avatar {
  position: relative;
  z-index: 2;
  width: min(88%, 520px);
  filter: drop-shadow(0 16px 13px rgba(23,51,61,.16));
  overflow: visible;
}
.worm-species { transform: translate(var(--pose-x, 0), var(--pose-y, 0)) rotate(var(--pose-angle, 0deg)) scale(var(--worm-scale)); transform-origin: 210px 170px; transition: transform .28s ease; }
.habitat[data-pose="hero"] { --pose-x: 0px; --pose-y: 0px; --pose-angle: 0deg; }
.habitat[data-pose="island"] { --pose-x: -24px; --pose-y: 10px; --pose-angle: -8deg; }
.habitat[data-pose="forager"] { --pose-x: 26px; --pose-y: 18px; --pose-angle: 7deg; }
.habitat[data-pose="rainforest"] { --pose-x: 32px; --pose-y: -7px; --pose-angle: -5deg; }
.habitat[data-pose="woodland"] { --pose-x: -20px; --pose-y: 16px; --pose-angle: -7deg; }
.habitat[data-pose="coast"] { --pose-x: 24px; --pose-y: 4px; --pose-angle: 9deg; }
.habitat[data-accessory-visual="briggsae::Ahmedabad, India · AF16"] { --pose-x: -8px; --pose-y: -2px; }
.habitat[data-accessory-visual="briggsae::Ahmedabad, India · AF16"] #companion-worm {
  transform: translate(-52px, 54px) scale(.43);
}
.habitat[data-accessory-visual="elegans::Araucanía, Chile"] {
  --pose-x: 0px;
  --pose-y: -20px;
  --pose-angle: 0deg;
}
.worm-line { fill: none; stroke: var(--worm-color); stroke-width: 46; stroke-linecap: round; stroke-linejoin: round; }
.worm-shadow { fill: none; stroke: color-mix(in srgb, var(--worm-deep) 35%, transparent); stroke-width: 54; stroke-linecap: round; transform: translateY(7px); }
.companion-line { fill: none; stroke: var(--worm-color); stroke-width: 42; stroke-linecap: round; stroke-linejoin: round; }
.companion-shadow { fill: none; stroke: color-mix(in srgb, var(--worm-deep) 35%, transparent); stroke-width: 50; stroke-linecap: round; transform: translateY(7px); }
.worm-highlight, .companion-highlight { fill: none; stroke: rgba(255,255,255,.26); stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.companion-highlight { stroke-width: 7; }
.worm-ground-shadow { fill: rgba(35,65,58,.17); filter: blur(7px); }
.male-tail { fill: var(--worm-color); stroke: var(--worm-deep); stroke-width: 3; stroke-linejoin: round; }
/* A brief tape run on enabling the shared recorder, static under reduced motion. */
@keyframes kauai-tape-run { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: no-preference) {
  .accessory:not([hidden]) .kauai-tape-reel { animation: kauai-tape-run 4.8s linear 1; }
}
.worm-eye { fill: var(--ink); }
.worm-eye-shine { fill: white; opacity: .9; }
.worm-cheek { fill: color-mix(in srgb, var(--coral) 60%, transparent); }
.worm-smile { fill: none; stroke: var(--ink); stroke-width: 4; stroke-linecap: round; }
.worm-body { transform-origin: 210px 170px; animation: worm-bob 3.2s ease-in-out infinite; }
.companion-body { transform-origin: 210px 170px; animation: worm-bob 3.2s .45s ease-in-out infinite; }
@keyframes worm-bob { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-7px) rotate(1deg); } }
.accessory {
  --accessory-x: 0px;
  --accessory-y: 0px;
  transform: translate(var(--accessory-x), var(--accessory-y));
  transform-origin: center;
}
.accessory-piece {
  --accessory-user-x: 0px;
  --accessory-user-y: 0px;
  --accessory-user-scale: 1;
  transform: translate(var(--accessory-user-x), var(--accessory-user-y)) scale(var(--accessory-user-scale));
  transform-box: fill-box;
  transform-origin: center;
}
.accessory[hidden] { display: none; }
.accessory:not([hidden]) { animation: accessory-pop .24s cubic-bezier(.2,.8,.25,1.25); }
.accessory:not([hidden]) .accessory-piece {
  cursor: grab;
  pointer-events: visiblePainted;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}
.accessory:not([hidden]) .accessory-piece * { touch-action: none; }
.accessory-hit-target { fill: transparent; stroke: none; pointer-events: all; touch-action: none; }
.accessory-piece.is-dragging { cursor: grabbing; }
html.accessory-drag-active,
html.accessory-drag-active body { overscroll-behavior: none; }
.accessory-piece[tabindex="0"]:focus { outline: none; }
.accessory-piece[tabindex="0"]:focus-visible { filter: drop-shadow(0 0 2px white) drop-shadow(0 0 5px var(--game-focus)); }
.worm-avatar.is-drawing .accessory-piece { cursor: crosshair; }
@keyframes accessory-pop {
  from { opacity: 0; transform: translate(var(--accessory-x), var(--accessory-y)) scale(.82); }
  to { opacity: 1; transform: translate(var(--accessory-x), var(--accessory-y)) scale(1); }
}
.regional-accessory { filter: drop-shadow(0 5px 4px rgba(23,51,61,.24)); }
.location-accessory-art {
  transform-box: fill-box;
  transform-origin: center;
}
.location-accessory-art .acc-main {
  fill: var(--local-primary);
  stroke: var(--worm-deep);
  stroke-width: 3;
  stroke-linejoin: round;
}
.location-accessory-art .acc-accent {
  fill: var(--local-secondary);
  stroke: var(--worm-deep);
  stroke-width: 2.5;
  stroke-linejoin: round;
}
.location-accessory-art .acc-soft {
  fill: color-mix(in srgb, var(--paper-strong) 72%, var(--local-primary));
  stroke: var(--worm-deep);
  stroke-width: 2.5;
  stroke-linejoin: round;
}
.location-accessory-art .acc-dark {
  fill: color-mix(in srgb, var(--worm-deep) 80%, var(--ink));
  stroke: var(--paper-strong);
  stroke-width: 1.5;
}
.location-accessory-art .acc-line,
.location-accessory-art .acc-accent-line,
.location-accessory-art .acc-strap {
  fill: none;
  stroke: var(--worm-deep);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.location-accessory-art .acc-accent-line { stroke: var(--local-secondary); }
.location-accessory-art .acc-strap { stroke-width: 8; }
.location-accessory-art .acc-line.thick { stroke-width: 8; }
.companion-accessory .location-accessory-art {
  filter: saturate(.92) brightness(1.04);
}
.regional-primary { fill: var(--local-primary); stroke: var(--worm-deep); stroke-width: 2.5; stroke-linejoin: round; }
.regional-secondary { fill: var(--local-secondary); stroke: var(--worm-deep); stroke-width: 2.5; stroke-linejoin: round; }
.regional-accent { fill: var(--paper-strong); stroke: var(--worm-deep); stroke-width: 2; }
.regional-stroke { fill: none; stroke: var(--worm-deep); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.regional-stroke.thick { stroke-width: 7; }
.regional-flower circle { fill: var(--local-primary); stroke: var(--worm-deep); stroke-width: 1.5; }
.regional-wing { fill: rgba(255,255,255,.62); stroke: var(--local-primary); stroke-width: 4; }
.wing-harness { fill: none; stroke: var(--worm-deep); stroke-width: 9; stroke-linecap: round; }
.wing-vein { fill: none; stroke: color-mix(in srgb, var(--local-primary) 70%, var(--worm-deep)); stroke-width: 2; stroke-linecap: round; }
.fruit-orange { fill: #ef8d46; stroke: var(--worm-deep); stroke-width: 2; }
.fruit-leaf { fill: #58a36d; stroke: var(--worm-deep); stroke-width: 1.5; }
.fruit-banana { fill: #f4cf52; stroke: var(--worm-deep); stroke-width: 2; }
.fruit-berry { fill: #bb5273; stroke: var(--worm-deep); stroke-width: 2; }
.fruit-shine { fill: rgba(255,255,255,.72); }
.male-accessory { filter: drop-shadow(0 3px 2px rgba(23,51,61,.22)); }
.mokihana-leaf { fill: #5f9d69; stroke: var(--worm-deep); stroke-width: 2; }
.mokihana-berry { fill: #7b62b6; stroke: #463c7c; stroke-width: 2; }
.mushroom-cap { fill: #e6675f; stroke: var(--worm-deep); stroke-width: 3; stroke-linejoin: round; }
.mushroom-spot { fill: #fff5d8; stroke: rgba(123,78,67,.35); stroke-width: 1.5; }
.rain-drop { fill: #89d5dc; stroke: #287c82; stroke-width: 1.5; }
.minsa-pattern { fill: #fff4d6; opacity: .9; }
.woven-bag { fill: #d6a96b; stroke: var(--worm-deep); stroke-width: 3; stroke-linejoin: round; }
.woven-line { fill: none; stroke: #8b6748; stroke-width: 2; opacity: .75; }
.ocean-bag { fill: #d9bd78; }
.palm-mark { fill: none; stroke: #447864; stroke-width: 3; stroke-linecap: round; }
.harness-strap { fill: none; stroke: var(--local-primary); stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; }
.harness-ring { fill: none; stroke: var(--local-secondary); stroke-width: 6; }
.harness-rope { fill: none; stroke: var(--worm-deep); stroke-width: 4; stroke-linecap: round; }
.leaf-bag { fill: #8eaa72; stroke: var(--worm-deep); stroke-width: 3; stroke-linejoin: round; }
.acorn-sample { fill: #9c7047; stroke: #65452f; stroke-width: 2; }
.fern-wing { fill: rgba(173,226,188,.72); stroke: #3f8b66; stroke-width: 4; }
.fern-vein { fill: none; stroke: #3f8b66; stroke-width: 2; stroke-linecap: round; }
.vial-liquid { fill: #74cbd2; stroke: #287c82; stroke-width: 2; }
.sample-pouch { fill: #d6a96b; stroke: var(--worm-deep); stroke-width: 2; }
.beetle-wing { stroke: #433a78; stroke-width: 4; }
.beetle-wing.left { fill: #68b6a5; }
.beetle-wing.right { fill: #7b6dc0; }
.beetle-line { fill: none; stroke: rgba(255,255,255,.62); stroke-width: 2; stroke-linecap: round; }
.habitat.is-changing .worm-avatar { animation: worm-arrive .62s cubic-bezier(.2,.9,.2,1.18); }
@keyframes worm-arrive { 0% { opacity: .25; transform: translateY(22px) scale(.9); } 65% { opacity: 1; transform: translateY(-5px) scale(1.025); } 100% { transform: translateY(0) scale(1); } }
.selection-spark {
  position: absolute;
  left: 50%;
  top: 49%;
  z-index: 4;
  color: var(--scene-highlight);
  font-size: 1.25rem;
  pointer-events: none;
  animation: spark-burst .7s ease-out forwards;
}
@keyframes spark-burst {
  from { opacity: 1; transform: translate(-50%,-50%) rotate(var(--spark-angle)) translateX(18px) scale(.5); }
  to { opacity: 0; transform: translate(-50%,-50%) rotate(var(--spark-angle)) translateX(var(--spark-distance)) scale(1.35); }
}
.sister-pair:hover .sister-label { color: var(--coral); }
.sister-pair:hover { border-color: rgba(243,111,98,.35); box-shadow: 0 10px 25px rgba(26,71,79,.1), inset 0 1px 0 rgba(255,255,255,.8); }
.gear-primary, .gear-secondary, .market-tote, .cryo-jetpack rect, .spf-pack rect { stroke: var(--worm-deep); stroke-width: 3; stroke-linejoin: round; }
.gear-primary { fill: var(--local-primary); }
.gear-secondary { fill: var(--local-secondary); }
.gear-stroke, .minsa-lines, .tote-handle { fill: none; stroke: var(--worm-deep); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.gear-stroke.thick { stroke-width: 8; }
.minsa-lines { stroke: #fff4d6; stroke-width: 5; }
.lab-goggles circle { fill: rgba(174,232,240,.62); stroke: #295f72; stroke-width: 5; }
.lab-goggles path { fill: none; stroke: #295f72; stroke-width: 5; stroke-linecap: round; }
.n2-lab-goggles { filter: drop-shadow(0 3px 2px rgba(24,49,54,.2)); }
.n2-lab-goggles .goggle-strap { fill: none; stroke: #58777a; stroke-width: 4.2; stroke-linecap: round; }
.n2-lab-goggles .goggle-seal { fill: rgba(231,243,240,.3); stroke: #245b65; stroke-width: 3.6; stroke-linejoin: round; }
.n2-lab-goggles .goggle-lens { fill: rgba(157,222,229,.2); stroke: #4a8f98; stroke-width: 1.6; stroke-linejoin: round; }
.n2-lab-goggles .goggle-lens.companion { fill: rgba(190,233,233,.22); }
.n2-lab-goggles .goggle-vent-body { fill: #f8f5e8; stroke: #245b65; stroke-width: 1.8; }
.n2-lab-goggles .goggle-vent-slots { fill: none; stroke: #739296; stroke-width: 1.2; stroke-linecap: round; }
.n2-lab-goggles .goggle-highlight { fill: none; stroke: rgba(255,255,255,.92); stroke-width: 2; stroke-linecap: round; }
.n2-lab-goggles .goggle-adjuster { fill: #c49b51; stroke: #6c5837; stroke-width: 1.2; }
.kite-body { fill: #ef6f62; stroke: #783c55; stroke-width: 3; }
.kite-body.male { fill: #f1b64f; }
.kite-cross, .kite-string, .kite-tail { fill: none; stroke: #783c55; stroke-width: 2.5; stroke-linecap: round; }
.kite-bow { fill: #f1b64f; stroke: #783c55; stroke-width: 2; }
.fruit-crown circle { fill: #f2a34d; stroke: #a45338; stroke-width: 3; }
.fruit-crown path { fill: none; stroke: #fff0b1; stroke-width: 2; }
.star-glasses path:not(.gear-stroke) { fill: #ffd166; stroke: #a6633c; stroke-width: 3; }
.cacao-helmet path:first-child, .cacao-helmet path:nth-child(3) { fill: #b96d45; stroke: #6f4937; stroke-width: 3; }
.cacao-helmet path:nth-child(2), .cacao-helmet path:nth-child(4) { fill: none; stroke: #f1ba71; stroke-width: 3; }
.lab-coat-body { fill: #fffdf5; stroke: #526d76; stroke-width: 4; stroke-linejoin: round; }
.lab-coat-collar { fill: #dbeff0; stroke: #526d76; stroke-width: 3; stroke-linejoin: round; }
.lab-coat-opening { fill: none; stroke: #526d76; stroke-width: 3; stroke-linecap: round; }
.lab-coat-seam { fill: none; stroke: #9ab9bd; stroke-width: 3; }
.lab-coat-pocket { fill: #edf7f5; stroke: #526d76; stroke-width: 2; stroke-linejoin: round; }
.lab-coat-sleeve { fill: #fffdf5; stroke: #526d76; stroke-width: 4; stroke-linejoin: round; }
.lab-coat-cuff { fill: #dbeff0; stroke: #526d76; stroke-width: 2.5; stroke-linejoin: round; }
.lab-coat-piping { fill: none; stroke: #9ab9bd; stroke-width: 2; stroke-linecap: round; }
.lab-coat-belt { fill: none; stroke: #7fa4aa; stroke-width: 3; stroke-linecap: round; }
.lab-coat-stitch { fill: none; stroke: #8aaeb2; stroke-width: 1.8; stroke-linecap: round; opacity: .82; }
.lab-coat-belt.male { stroke-width: 2.2; }
.lab-coat-stitch.male { stroke-width: 1.4; }
.lab-coat-pocket.narrow { fill: color-mix(in srgb, #edf7f5 76%, var(--local-secondary)); }
.lab-coat-button { fill: #3b8e91; stroke: white; stroke-width: 1; }
.lab-id-badge { fill: #d8eef0; stroke: #526d76; stroke-width: 1.5; }
.lab-id-text { fill: #2e6570; font: 800 8px/1 sans-serif; stroke: none; }
.lab-id-text.male { font-size: 5px; }
.lab-pen { fill: none; stroke: #d45265; stroke-width: 2.5; stroke-linecap: round; }
.ngm-plate { filter: drop-shadow(0 4px 3px rgba(24,49,54,.25)); }
.ngm-plate .plate-shadow { fill: rgba(25,54,61,.2); }
.ngm-plate .plate-sidewall { fill: rgba(138,184,183,.72); stroke: #456c70; stroke-width: 2.4; stroke-linejoin: round; }
.ngm-plate .plate-base { fill: rgba(192,222,220,.92); stroke: #456c70; stroke-width: 2.7; }
.ngm-plate .plate-rim { fill: rgba(231,247,244,.82); stroke: #4d7779; stroke-width: 2.5; }
.ngm-plate .plate-agar { fill: #eadfa9; stroke: #aa9a61; stroke-width: 1.7; }
.ngm-plate .plate-inner-ring { fill: none; stroke: rgba(76,117,119,.52); stroke-width: 1.2; }
.ngm-plate .bacterial-lawn { fill: #d3cb82; opacity: .78; }
.ngm-plate .op50-colony { fill: color-mix(in srgb, #bbb45f 74%, #f6efd3); stroke: rgba(92,86,42,.38); stroke-width: .65; }
.ngm-plate .worm-tracks path { fill: none; stroke: rgba(250,248,216,.68); stroke-width: 1.35; stroke-linecap: round; }
.ngm-plate text { fill: #31565d; font: 800 8.5px/1 sans-serif; letter-spacing: .02em; }
.ngm-plate .plate-glare { fill: none; stroke: rgba(255,255,255,.86); stroke-width: 2.4; stroke-linecap: round; }
.ngm-plate .plate-glare.fine { stroke-width: 1.4; opacity: .78; }
.ngm-plate .plate-condensation { fill: rgba(255,255,255,.72); stroke: rgba(77,119,121,.24); stroke-width: .45; }
.ngm-plate .plate-label-tape { fill: rgba(246,249,231,.9); stroke: rgba(72,105,106,.64); stroke-width: 1; }
.ngm-plate .plate-label-text { paint-order: stroke; stroke: rgba(255,255,255,.72); stroke-width: 1.5px; }
.ngm-plate .plate-label-text.companion { font-size: 8px; }
.ngm-plate .n2-crawler-body, .n2-surface-body .n2-crawler-body { fill: #f0c78e; stroke: #624239; stroke-width: .78; stroke-linejoin: round; }
.ngm-plate .n2-crawler-highlight, .n2-surface-body .n2-crawler-highlight { fill: none; stroke: rgba(255,255,255,.82); stroke-width: .42; stroke-linecap: round; }
.ngm-plate .n2-landing-ripple { fill: none; stroke: rgba(250,248,216,.84); stroke-width: .72; }
.ngm-plate .n2-splash-cover { fill: rgba(247,242,199,.96); stroke: rgba(124,116,56,.82); stroke-width: .72; }
.ngm-plate .n2-splash-ring { fill: none; stroke: rgba(255,254,230,.98); stroke-width: 1.15; }
.ngm-plate .n2-splash-ring-faint { stroke: rgba(185,168,87,.92); stroke-width: .82; }
.ngm-plate .n2-splash-drop { fill: #fff6b8; stroke: rgba(102,95,48,.78); stroke-width: .52; }
.n2-jump-body, .n2-jump-shadow, .n2-jump-highlight { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.n2-jump-body { stroke: var(--worm-color); }
.n2-jump-shadow { stroke: color-mix(in srgb, var(--worm-deep) 35%, transparent); }
.n2-jump-highlight { stroke: rgba(255,255,255,.26); pointer-events: none; }
.n2-jump-male-tail { stroke-linejoin: round; }
.n2-diving-tower { filter: drop-shadow(0 3px 2px rgba(29,65,57,.18)); cursor: grab; touch-action: none; user-select: none; outline: none; }
.n2-diving-tower:active { cursor: grabbing; }
.n2-tower-grab, .n2-tower-grab * { touch-action: none; cursor: grab; }
[data-n2-feeding-inactive], [data-n2-feeding-inactive] * { pointer-events: none !important; }
.n2-diving-tower:focus-visible .n2-tower-hit { stroke: #e5c77a; stroke-width: 3; stroke-dasharray: 5 3; rx: 8; }
.n2-tower-shadow { fill: rgba(35,65,58,.13); }
.n2-tower-support { fill: #86a89c; stroke: #35585d; stroke-width: 1.7; stroke-linejoin: round; }
.n2-tower-support.far { fill: #5f8178; }
.n2-tower-brace { fill: none; stroke: #517d78; stroke-width: 3; stroke-linecap: round; }
.n2-tower-ladder, .n2-tower-rail { fill: none; stroke: #bed0bf; stroke-width: 3.3; stroke-linecap: round; stroke-linejoin: round; }
.n2-tower-rail.far { stroke: #769889; stroke-width: 2.5; }
.n2-tower-step { fill: none; stroke: #e4d4a5; stroke-width: 4; stroke-linecap: round; }
.n2-tower-board { fill: #f1eddc; stroke: #486c68; stroke-width: 1.5; stroke-linejoin: round; }
.n2-tower-board-side { fill: #8eafa3; stroke: #35585d; stroke-width: 1.7; stroke-linejoin: round; }
.n2-tower-board-line { fill: none; stroke: #c7af73; stroke-width: 1; stroke-linecap: round; }
.n2-tower-bolt { fill: #d7b96d; stroke: #486c68; stroke-width: .8; }
.n2-tower-feet { fill: none; stroke-linecap: round; }
.n2-tower-feet { stroke: #35585d; stroke-width: 3.2; }
.ngm-plate-small .plate-base, .ngm-plate-small .plate-rim { stroke-width: 2; }
.ngm-plate-small .plate-agar { stroke-width: 1.25; }
.ngm-plate-small .plate-glare { stroke-width: 1.5; }
.ngm-plate-small text { font-size: 6px; }
.cryo-jetpack .cryo-pack-shell { fill: #3f7f8a; stroke: #295f72; stroke-width: 3; }
.cryo-jetpack .cryo-vial-body { fill: rgba(222,247,247,.92); stroke: #2f7885; stroke-width: 2.5; }
.cryo-jetpack .cryo-vial-cap { fill: #8b3d5c; stroke: #533748; stroke-width: 2; }
.cryo-jetpack .cryo-cap-top { fill: #c888a4; stroke: #533748; stroke-width: 1.5; }
.cryo-jetpack .cryo-outlet-opening { fill: #20313d; stroke: #b3c8d0; stroke-width: 1.5; }
.cryo-jetpack .cryo-ice { fill: #88d7df; stroke: #3b8e9b; stroke-width: 1.5; }
.cryo-jetpack .cryo-cap-thread { fill: none; stroke: rgba(233,251,251,.75); stroke-width: 1.4; stroke-linecap: round; }
.cryo-jetpack .cryo-vial-label { fill: rgba(241,252,252,.72); stroke: #2f7885; stroke-width: 1.2; }
.cryo-jetpack .cryo-medallion { fill: #d9f5f5; stroke: #2f7885; stroke-width: 2.5; }
.cryo-jetpack .cryo-gauge { fill: #eefafa; stroke: #2f7885; stroke-width: 2; }
.cryo-jetpack .cryo-gauge-mark, .cryo-jetpack .cryo-vial-tick, .cryo-jetpack .cryo-frost, .cryo-jetpack .cryo-hose { fill: none; stroke: #2f7885; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cryo-jetpack .cryo-nozzle { fill: #285f70; stroke: #214d5b; stroke-width: 2; stroke-linejoin: round; }
.cryo-jetpack .cryo-label { fill: #e9fbfb; font: 800 7px/1 sans-serif; stroke: none; }
.cryo-plume { fill: none; stroke: #b8edf0; stroke-width: 5; stroke-linecap: round; }
.cryo-plume.small { stroke-width: 3; }
.cryo-jetpack .cryo-rear-exhaust { fill: #b8edf0; fill-opacity: .65; stroke: #74b8c5; stroke-opacity: .65; stroke-width: 1; }
.cryo-jetpack .cryo-exhaust-core { fill: none; stroke: #f0fcff; stroke-width: 2.8; stroke-linecap: round; }
.snow-mark.small { stroke-width: 1.5 !important; }
.santeuil-accessory { filter: drop-shadow(0 5px 4px rgba(31,43,37,.26)); }
.stem-lantern-shadow, .organ-shadow, .automaton-shadow { fill: rgba(27,40,34,.2); }
.stem-lantern-section,
.stem-lantern-frame,
.stem-lantern-node,
.stem-lantern-base,
.stem-lantern-cutaway { fill: color-mix(in srgb, #b5a56f 74%, var(--local-secondary)); stroke: color-mix(in srgb, var(--worm-deep) 76%, #584c37); stroke-width: 3; stroke-linejoin: round; }
.stem-lantern-section.upper { fill: color-mix(in srgb, #cabd88 70%, var(--local-primary)); }
.stem-lantern-hollow { fill: color-mix(in srgb, var(--worm-deep) 79%, #30291f); stroke: color-mix(in srgb, #ddcfa0 70%, var(--worm-deep)); stroke-width: 2; }
.stem-lantern-glass { fill: rgba(215,240,231,.5); stroke: color-mix(in srgb, var(--worm-deep) 73%, #4e6b61); stroke-width: 2.5; stroke-linejoin: round; }
.stem-lantern-glass-highlight { fill: none; stroke: rgba(255,255,255,.76); stroke-width: 4; stroke-linecap: round; }
.stem-lantern-handle,
.stem-lantern-hinge { fill: none; stroke: color-mix(in srgb, var(--worm-deep) 76%, #68583c); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.stem-lantern-handle.companion { stroke-width: 4; }
.stem-lantern-specimen { fill: none; stroke: color-mix(in srgb, var(--local-primary) 58%, #2c6957); stroke-width: 4; stroke-linecap: round; }
.stem-lantern-lens { fill: rgba(240,228,153,.38); stroke: color-mix(in srgb, var(--local-secondary) 58%, #8f7040); stroke-width: 2; }
.stem-seed-cage path,
.stem-umbel path { fill: none; stroke: color-mix(in srgb, var(--worm-deep) 72%, #6a5a3e); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.stem-seed-cage ellipse,
.stem-umbel circle { fill: color-mix(in srgb, var(--local-secondary) 66%, #b6914f); stroke: color-mix(in srgb, var(--worm-deep) 69%, #5e5039); stroke-width: 1.5; }
.organ-cabinet,
.organ-cabinet-cap,
.organ-secretary-lid,
.organ-keybed,
.organ-keybed-frame { fill: color-mix(in srgb, #c6975e 72%, var(--local-secondary)); stroke: color-mix(in srgb, var(--worm-deep) 78%, #604327); stroke-width: 3; stroke-linejoin: round; }
.organ-cabinet.companion { fill: color-mix(in srgb, #b98754 68%, var(--local-primary)); }
.organ-cabinet-cap, .organ-secretary-lid { fill: color-mix(in srgb, #ddb879 75%, var(--local-secondary)); }
.organ-window { fill: color-mix(in srgb, #543b2a 77%, var(--worm-deep)); stroke: color-mix(in srgb, #e1bd7b 62%, var(--worm-deep)); stroke-width: 2.5; }
.organ-cylinder { fill: color-mix(in srgb, #b47840 69%, var(--local-secondary)); stroke: color-mix(in srgb, var(--worm-deep) 75%, #543723); stroke-width: 2.5; }
.organ-pin { fill: color-mix(in srgb, #e8cb72 72%, var(--paper-strong)); stroke: color-mix(in srgb, #6f552c 73%, var(--worm-deep)); stroke-width: .8; }
.organ-bellows { fill: color-mix(in srgb, #7d3f42 68%, var(--local-primary)); stroke: color-mix(in srgb, var(--worm-deep) 78%, #542e2e); stroke-width: 3; stroke-linejoin: round; }
.organ-bellows.companion { fill: color-mix(in srgb, #516e62 60%, var(--local-primary)); }
.organ-bellows-fold { fill: none; stroke: color-mix(in srgb, var(--paper-strong) 36%, #d7ae76); stroke-width: 2; }
.organ-key { fill: none; stroke: color-mix(in srgb, var(--worm-deep) 72%, #5d452d); stroke-width: 1.3; }
.organ-key.dark { stroke: color-mix(in srgb, var(--worm-deep) 90%, #2f261f); stroke-width: 3; }
.organ-crank,
.organ-vent,
.organ-brass-inlay { fill: none; stroke: color-mix(in srgb, #c49a48 74%, var(--worm-deep)); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.organ-crank { stroke-width: 4; }
.organ-crank-knob { fill: color-mix(in srgb, #9b6941 68%, var(--local-primary)); stroke: var(--worm-deep); stroke-width: 2; }
.organ-rack-frame { fill: none; stroke: color-mix(in srgb, #865c36 65%, var(--worm-deep)); stroke-width: 2.5; }
.organ-pipe { fill: color-mix(in srgb, #d1a84e 63%, var(--paper-strong)); stroke: color-mix(in srgb, #6d5528 75%, var(--worm-deep)); stroke-width: 1.5; }
.organ-empty-socket { fill: color-mix(in srgb, var(--worm-deep) 81%, #30271d); stroke: color-mix(in srgb, #c9a55b 54%, var(--worm-deep)); stroke-width: 1; }
.automaton-base { fill: color-mix(in srgb, #8a6a47 62%, var(--local-primary)); stroke: color-mix(in srgb, var(--worm-deep) 79%, #4d3d2d); stroke-width: 3; stroke-linejoin: round; }
.automaton-base.companion { fill: color-mix(in srgb, #765b43 66%, var(--local-secondary)); }
.automaton-pond { fill: color-mix(in srgb, #78b7ad 62%, var(--paper-strong)); stroke: color-mix(in srgb, var(--worm-deep) 62%, #376b63); stroke-width: 2.5; }
.automaton-pond-ripple { fill: none; stroke: color-mix(in srgb, var(--paper-strong) 67%, #76b7ad); stroke-width: 2; stroke-linecap: round; }
.automaton-post,
.automaton-carousel-arm,
.automaton-linkage,
.automaton-gear-link { fill: none; stroke: color-mix(in srgb, #a77d3b 67%, var(--worm-deep)); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.automaton-gear { fill: color-mix(in srgb, #c39846 66%, var(--local-secondary)); stroke: color-mix(in srgb, var(--worm-deep) 78%, #594523); stroke-width: 3; }
.automaton-gear.small { fill: color-mix(in srgb, #836038 68%, var(--local-primary)); }
.automaton-gear-tooth { fill: none; stroke: color-mix(in srgb, #a9803b 70%, var(--worm-deep)); stroke-width: 5; stroke-linecap: square; }
.automaton-crank { fill: none; stroke: color-mix(in srgb, #9c7537 70%, var(--worm-deep)); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.automaton-crank-knob { fill: color-mix(in srgb, var(--local-primary) 66%, #835f39); stroke: var(--worm-deep); stroke-width: 2; }
.dragonfly-wing { fill: rgba(223,242,231,.66); stroke: color-mix(in srgb, var(--local-primary) 64%, #3a7164); stroke-width: 2.5; stroke-linejoin: round; }
.dragonfly-wing.rear { fill: rgba(239,226,196,.55); }
.dragonfly-body { fill: color-mix(in srgb, var(--local-primary) 62%, #375f4f); stroke: color-mix(in srgb, var(--worm-deep) 79%, #273f36); stroke-width: 2.5; }
.dragonfly-joint { fill: color-mix(in srgb, var(--local-secondary) 72%, #d0a447); stroke: color-mix(in srgb, var(--worm-deep) 72%, #4d432d); stroke-width: 1; }
.dragonfly-antenna { fill: none; stroke: color-mix(in srgb, var(--worm-deep) 79%, #273f36); stroke-width: 2; stroke-linecap: round; }
.edinburgh-accessory { filter: drop-shadow(0 5px 4px rgba(28,38,35,.26)); }
.edinburgh-accessory-shadow { fill: rgba(25,34,32,.2); }
.kilt-shadow,
.bagpipe-shadow { fill: rgba(25,34,32,.18); }
.kilt-cloth { fill: color-mix(in srgb, #355f50 72%, var(--local-primary)); stroke: color-mix(in srgb, #263f37 80%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.kilt-cloth.companion { fill: color-mix(in srgb, #466c5c 68%, var(--local-primary)); }
.kilt-apron { fill: color-mix(in srgb, #466d5d 72%, var(--local-primary)); stroke: color-mix(in srgb, #29453b 72%, var(--worm-deep)); stroke-width: 1.8; }
.kilt-apron.companion { fill: color-mix(in srgb, #5b7566 69%, var(--local-primary)); }
.kilt-waistband { fill: color-mix(in srgb, #7d4a53 66%, var(--local-secondary)); stroke: color-mix(in srgb, #4c3037 76%, var(--worm-deep)); stroke-width: 2.5; }
.kilt-pleat { fill: none; stroke: color-mix(in srgb, #1f3d35 70%, var(--worm-deep)); stroke-width: 2.3; stroke-linecap: round; opacity: .74; }
.kilt-sett { fill: none; stroke-linecap: round; opacity: .72; }
.kilt-sett.horizontal { stroke: color-mix(in srgb, #b6894f 68%, var(--local-secondary)); stroke-width: 2.1; }
.kilt-sett.vertical { stroke: color-mix(in srgb, #8b5360 70%, var(--local-secondary)); stroke-width: 1.8; }
.kilt-hem { fill: none; stroke: color-mix(in srgb, #d0aa65 66%, var(--local-secondary)); stroke-width: 2.2; stroke-linecap: round; opacity: .84; }
.kilt-sporran { fill: color-mix(in srgb, #d4c5a4 73%, var(--paper-strong)); stroke: color-mix(in srgb, #5e5546 76%, var(--worm-deep)); stroke-width: 2.2; }
.kilt-sporran-cap { fill: color-mix(in srgb, #7b6244 69%, var(--local-secondary)); stroke: color-mix(in srgb, #54432f 75%, var(--worm-deep)); stroke-width: 1.5; }
.kilt-sporran-tassel { fill: none; stroke: color-mix(in srgb, #6d5d49 72%, var(--worm-deep)); stroke-width: 2.5; stroke-linecap: round; }
.bagpipe-bag { fill: color-mix(in srgb, #456352 70%, var(--local-primary)); stroke: color-mix(in srgb, #294238 82%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.bagpipe-bag.companion { fill: color-mix(in srgb, #596d5d 66%, var(--local-primary)); }
.bagpipe-cover { fill: none; stroke: color-mix(in srgb, #b78952 68%, var(--local-secondary)); stroke-width: 2.1; stroke-linecap: round; opacity: .82; }
.bagpipe-cord { fill: none; stroke: color-mix(in srgb, #8d5361 72%, var(--local-secondary)); stroke-width: 4; stroke-linecap: round; }
.bagpipe-fringe { fill: none; stroke: color-mix(in srgb, #8d5361 72%, var(--local-secondary)); stroke-width: 2.8; stroke-linecap: round; }
.bagpipe-drone,
.bagpipe-chanter,
.bagpipe-blowpipe { fill: none; stroke: color-mix(in srgb, #49382e 82%, var(--worm-deep)); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.bagpipe-stock,
.bagpipe-mount,
.bagpipe-ring { fill: color-mix(in srgb, #c09a55 72%, var(--local-secondary)); stroke: color-mix(in srgb, #5d492c 78%, var(--worm-deep)); stroke-width: 1.7; }
.bagpipe-ring { fill: color-mix(in srgb, #d4c59f 68%, var(--paper-strong)); }
.bagpipe-chanter-foot,
.bagpipe-blowpipe-tip { fill: color-mix(in srgb, #a57d43 72%, var(--local-secondary)); stroke: color-mix(in srgb, #55412b 79%, var(--worm-deep)); stroke-width: 1.8; }
.bagpipe-hole { fill: color-mix(in srgb, #201d1a 82%, var(--worm-deep)); stroke: none; }
.tumbler-a-frame,
.tumbler-cradle,
.tumbler-foot { fill: color-mix(in srgb, #6a6e63 76%, var(--worm-deep)); stroke: color-mix(in srgb, #343d3a 82%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.tumbler-axis,
.tumbler-crank,
.tumbler-ground-pin,
.tumbler-handwheel-rim,
.tumbler-handwheel-spoke { fill: none; stroke: color-mix(in srgb, #4c5754 77%, var(--worm-deep)); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.tumbler-barrel { fill: color-mix(in srgb, #9e7652 72%, var(--local-secondary)); stroke: color-mix(in srgb, #554536 79%, var(--worm-deep)); stroke-width: 3.5; stroke-linejoin: round; }
.tumbler-barrel.companion { fill: color-mix(in srgb, #8b6849 70%, var(--local-primary)); }
.tumbler-facet,
.tumbler-slat { fill: none; stroke: color-mix(in srgb, #5c4938 69%, var(--worm-deep)); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.tumbler-hatch,
.tumbler-door { fill: color-mix(in srgb, #b58c5e 70%, var(--local-secondary)); stroke: color-mix(in srgb, #5a4737 78%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.tumbler-door.lower { fill: color-mix(in srgb, #7a5b42 72%, var(--local-primary)); }
.tumbler-hatch-hinge,
.tumbler-frame-brace,
.tumbler-stave-band,
.tumbler-vent.companion { fill: none; stroke: color-mix(in srgb, #44504d 74%, var(--worm-deep)); stroke-width: 3; stroke-linecap: round; }
.tumbler-stave-band { stroke-width: 1.6; opacity: .72; }
.tumbler-cutaway { fill: color-mix(in srgb, #2f352e 79%, var(--worm-deep)); stroke: color-mix(in srgb, #4d4435 72%, var(--worm-deep)); stroke-width: 2; }
.tumbler-compost.green { fill: color-mix(in srgb, #587247 77%, var(--local-primary)); stroke: #3f5039; stroke-width: 1.5; }
.tumbler-compost.brown { fill: color-mix(in srgb, #745238 78%, var(--local-secondary)); stroke: #4e3d31; stroke-width: 1.5; }
.tumbler-vent { fill: color-mix(in srgb, #33413d 82%, var(--worm-deep)); stroke: color-mix(in srgb, #b9b09a 45%, var(--worm-deep)); stroke-width: 1; }
.tumbler-latch,
.tumbler-crank-knob,
.tumbler-handwheel-hub { fill: color-mix(in srgb, #bd9248 73%, var(--local-secondary)); stroke: color-mix(in srgb, #594728 77%, var(--worm-deep)); stroke-width: 2; }
.tumbler-foot-pad { fill: color-mix(in srgb, #606963 76%, var(--worm-deep)); stroke: color-mix(in srgb, #343d3a 82%, var(--worm-deep)); stroke-width: 2; }
.tumbler-foot-bolt { fill: color-mix(in srgb, #bd9248 73%, var(--local-secondary)); stroke: none; }

.ishigaki-accessory {
  --ishigaki-ink: #244b50;
  --ishigaki-emerald: #267765;
  --ishigaki-emerald-deep: #18584e;
  --ishigaki-sea: #62b9bc;
  --ishigaki-sea-light: #c5eee4;
  --ishigaki-berry: #a5476b;
  --ishigaki-fig: #d96983;
  --ishigaki-gold: #d2aa57;
  --ishigaki-ivory: #fff8df;
  filter: drop-shadow(0 4px 3px rgba(20,55,53,.28));
}
.ishigaki-headband,
.pannier-yoke,
.pannier-harness,
.pannier-handle { fill: none; stroke: var(--ishigaki-gold); stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; }
.ishigaki-visor-band { fill: var(--ishigaki-berry); stroke: var(--ishigaki-ink); stroke-width: 2.8; stroke-linejoin: round; }
.ishigaki-visor-brim { fill: var(--ishigaki-sea); stroke: var(--ishigaki-ink); stroke-width: 2.4; stroke-linejoin: round; }
.visor-binding { fill: none; stroke: var(--ishigaki-gold); stroke-width: 2.2; stroke-linecap: round; }
.visor-highlight { fill: none; stroke: rgba(255,255,255,.72); stroke-width: 2.2; stroke-linecap: round; }
.visor-stitch { fill: var(--ishigaki-ivory); stroke: var(--ishigaki-berry); stroke-width: .7; }
.uv-visor-brow { fill: var(--ishigaki-berry); stroke: var(--ishigaki-ink); stroke-width: 3; stroke-linejoin: round; }
.uv-visor-shield { fill: rgba(88,205,211,.43); stroke: var(--ishigaki-emerald-deep); stroke-width: 2.8; stroke-linejoin: round; }
.uv-visor-edge { fill: none; stroke: var(--ishigaki-gold); stroke-width: 3.3; stroke-linecap: round; }
.uv-visor-lower-rim { fill: none; stroke: rgba(255,248,223,.82); stroke-width: 1.8; stroke-linecap: round; }
.uv-visor-temple { fill: none; stroke: var(--ishigaki-berry); stroke-width: 3.5; stroke-linecap: round; }
.uv-visor-hinge { fill: var(--ishigaki-gold); stroke: var(--ishigaki-ink); stroke-width: 1.4; }
.uv-visor-glare { fill: none; stroke: rgba(255,255,255,.84); stroke-width: 3.2; stroke-linecap: round; }
.uv-fig-rind { fill: var(--ishigaki-emerald); stroke: var(--ishigaki-ink); stroke-width: 2; }
.uv-fig-flesh { fill: var(--ishigaki-fig); stroke: var(--ishigaki-berry); stroke-width: 1.4; }
.uv-fig-seed { fill: var(--ishigaki-gold); stroke: none; }
.uv-fig-leaf { fill: var(--ishigaki-emerald-deep); stroke: var(--ishigaki-ink); stroke-width: 1.5; stroke-linejoin: round; }
.fig-half-rind,
.fig-skin-petal { fill: var(--ishigaki-emerald); stroke: var(--ishigaki-emerald-deep); stroke-width: 2.8; stroke-linejoin: round; }
.fig-skin-petal.light { fill: #62a66f; }
.fig-half-cavity { fill: var(--ishigaki-fig); stroke: var(--ishigaki-berry); stroke-width: 2.2; }
.fig-floret { fill: var(--ishigaki-gold); stroke: var(--ishigaki-berry); stroke-width: .8; }
.fig-floret.light { fill: var(--ishigaki-ivory); }
.fig-cut-rim,
.fig-leaf-vein { fill: none; stroke: var(--ishigaki-gold); stroke-width: 2; stroke-linecap: round; }
.fig-glaze-highlight { fill: none; stroke: rgba(255,248,223,.82); stroke-width: 3.2; stroke-linecap: round; }
.fig-leaf { fill: var(--ishigaki-emerald-deep); stroke: var(--ishigaki-ink); stroke-width: 2.4; stroke-linejoin: round; }
.fig-rosette-heart { fill: var(--ishigaki-fig); stroke: var(--ishigaki-berry); stroke-width: 1.6; }
.fig-wasp-body,
.fig-wasp-head { fill: var(--ishigaki-ink); stroke: #102f34; stroke-width: 1; }
.fig-wasp-wing { fill: rgba(197,238,228,.82); stroke: var(--ishigaki-emerald-deep); stroke-width: 1; }
.fig-wasp-leg { fill: none; stroke: var(--ishigaki-ink); stroke-width: 1.3; stroke-linecap: round; }
.pannier-basket,
.pannier-cup { fill: var(--ishigaki-emerald); stroke: var(--ishigaki-ink); stroke-width: 3; stroke-linejoin: round; }
.pannier-cup.right { fill: color-mix(in srgb, var(--ishigaki-emerald) 78%, var(--ishigaki-sea)); }
.pannier-interior { fill: #173f42; stroke: var(--ishigaki-ink); stroke-width: 2; }
.pannier-rim { fill: none; stroke: var(--ishigaki-gold); stroke-width: 5.5; }
.pannier-front-rim { fill: none; stroke: var(--ishigaki-ivory); stroke-width: 3; stroke-linecap: round; }
.pannier-lid { fill: var(--ishigaki-sea); stroke: var(--ishigaki-ink); stroke-width: 3; }
.pannier-lid-weave,
.pannier-lid-rib { fill: none; stroke: var(--ishigaki-ivory); stroke-width: 2.2; stroke-linecap: round; opacity: .82; }
.pannier-lid-rib { stroke: var(--ishigaki-gold); stroke-width: 1.7; }
.pannier-lid-hinge { fill: none; stroke: var(--ishigaki-gold); stroke-width: 4; stroke-linecap: round; }
.pannier-lid-latch,
.pannier-yoke-pad { fill: var(--ishigaki-berry); stroke: var(--ishigaki-ink); stroke-width: 2; stroke-linejoin: round; }
.pannier-weave-field { pointer-events: none; }
.pannier-weave-a,
.pannier-weave-b { fill: none; stroke: var(--ishigaki-sea-light); stroke-width: 2.4; stroke-linecap: round; opacity: .88; }
.pannier-weave-b { stroke: var(--ishigaki-gold); stroke-width: 1.8; opacity: .82; }
.pannier-weave-row { fill: none; stroke: var(--ishigaki-ivory); stroke-width: 2.7; stroke-linecap: round; opacity: .68; }
.pannier-fig { fill: #659a62; stroke: var(--ishigaki-emerald-deep); stroke-width: 1.6; }
.pannier-fig.light { fill: #8eba76; }
.pannier-ostiole { fill: var(--ishigaki-berry); stroke: none; }
.pannier-fig-leaf { fill: var(--ishigaki-emerald-deep); stroke: var(--ishigaki-ink); stroke-width: 1.4; stroke-linejoin: round; }
.pannier-cut-fig { fill: var(--ishigaki-emerald); stroke: var(--ishigaki-ink); stroke-width: 1.8; }
.pannier-cut-flesh { fill: var(--ishigaki-fig); stroke: var(--ishigaki-berry); stroke-width: 1.2; }
.pannier-floret { fill: var(--ishigaki-ivory); stroke: var(--ishigaki-gold); stroke-width: .7; }
.pannier-tag { fill: var(--ishigaki-ivory); stroke: var(--ishigaki-berry); stroke-width: 1.5; }
.pannier-tag-cord { fill: none; stroke: var(--ishigaki-gold); stroke-width: 2; stroke-linecap: round; }
.pannier-tag-line { fill: none; stroke: var(--ishigaki-berry); stroke-width: 1.2; }
.pannier-sample-vial { fill: rgba(222,249,243,.92); stroke: var(--ishigaki-ink); stroke-width: 1.8; }
.pannier-vial-fluid { fill: rgba(217,105,131,.78); stroke: none; }
.pannier-vial-cap { fill: var(--ishigaki-berry); stroke: var(--ishigaki-ink); stroke-width: 1.3; }
.pannier-vial-label { fill: none; stroke: var(--ishigaki-gold); stroke-width: 2.2; stroke-linecap: round; }
.pannier-base-band { fill: none; stroke: var(--ishigaki-gold); stroke-width: 4.5; stroke-linecap: round; }
.pannier-stake { fill: none; stroke: #224d43; stroke-width: 2.2; }
.pannier-strand-shadow { fill: none; stroke: #1b453c; stroke-width: 4; stroke-opacity: .62; }
.pannier-strand { fill: none; stroke: #9db99b; stroke-width: 2.4; stroke-opacity: .9; }
.pannier-strand.warm { stroke: #c7b681; stroke-width: 2.1; }
.pannier-overpass { fill: none; stroke: #d4c696; stroke-width: 2; stroke-linecap: round; stroke-opacity: .72; }
.pannier-side-shade { fill: #153a36; fill-opacity: .2; stroke: none; }
.pannier-rim-shadow { fill: none; stroke: #24463f; stroke-width: 7; stroke-linecap: round; }
.pannier-bound-rim { fill: none; stroke: #bfa169; stroke-width: 4.8; stroke-linecap: round; }
.pannier-bound-rim.back { stroke: #977c4f; }
.pannier-rim-lashing { fill: none; stroke: #f0d7a0; stroke-width: 3.8; stroke-dasharray: 1.2 4.8; stroke-linecap: butt; }
.pannier-handle-light { fill: none; stroke: #f0d298; stroke-width: 2.2; stroke-linecap: round; }
.pannier-handle-binding { fill: none; stroke: #866b46; stroke-width: 6; stroke-dasharray: 1 7; stroke-opacity: .55; }
.pannier-lid-edge { fill: #234d45; stroke: var(--ishigaki-ink); stroke-width: 2; }
.pannier-fruit-volume { stroke: #426846; stroke-width: 1.5; }
.pannier-fruit-highlight { fill: none; stroke: #dbe8b1; stroke-width: 1.7; stroke-linecap: round; stroke-opacity: .8; }
.pannier-fruit-cavity { fill: #74374d; stroke: #cc8795; stroke-width: .8; }
.pannier-latch-stud { fill: #edce8a; stroke: #805c36; stroke-width: .7; }
.pannier-handle-socket { fill: #8f6d43; stroke: #304a3f; stroke-width: 1.2; }
.pannier-tag-shadow { fill: #183c38; fill-opacity: .32; stroke: none; }
.fig-wasp-wing-panel,
.fig-wasp-hindwing { fill: rgba(197,238,228,.72); stroke: var(--ishigaki-emerald-deep); stroke-width: 2.4; stroke-linejoin: round; }
.fig-wasp-wing-panel { fill: rgba(201,237,240,.78); }
.fig-wasp-hindwing { fill: rgba(216,204,235,.72); }
.fig-wing-far-side { opacity: .52; filter: saturate(.72) brightness(.96); }
.fig-wing-far-side .fig-wasp-wing-panel { fill: rgba(182,219,220,.62); }
.fig-wing-far-side .fig-wasp-hindwing { fill: rgba(193,184,213,.57); }
.fig-wing-near-side { opacity: .98; }
.fig-wing-vein { fill: none; stroke: var(--ishigaki-emerald); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; opacity: .84; }
.fig-wing-costa { fill: none; stroke: var(--ishigaki-emerald-deep); stroke-width: 2.1; stroke-linecap: round; opacity: .92; }
.fig-wing-root { fill: var(--ishigaki-gold); stroke: var(--ishigaki-ink); stroke-width: 2; }
.fig-wing-thorax { fill: color-mix(in srgb, var(--ishigaki-berry) 82%, var(--ishigaki-ink)); stroke: var(--ishigaki-ink); stroke-width: 3; }
.fig-wing-thorax-band { fill: none; stroke: var(--ishigaki-gold); stroke-width: 2.2; stroke-linecap: round; opacity: .9; }
.fig-wing-thorax-highlight { fill: none; stroke: var(--ishigaki-ivory); stroke-width: 1.8; stroke-linecap: round; opacity: .5; }
.fig-wing-joint { fill: var(--ishigaki-gold); stroke: var(--ishigaki-ink); stroke-width: 1.8; }
.fig-wing-harness { fill: var(--ishigaki-berry); stroke: var(--ishigaki-ink); stroke-width: 3.5; stroke-linejoin: round; }
.fig-wing-harness-detail { fill: none; stroke: var(--ishigaki-gold); stroke-width: 2.4; stroke-linecap: round; }
.fig-wing-buckle { fill: var(--ishigaki-gold); stroke: var(--ishigaki-ink); stroke-width: 1.8; }
.fig-wing-sheen { fill: none; stroke: white; stroke-width: 2.2; stroke-linecap: round; opacity: .52; }
/* Keep this palette on the Ahmedabad renderer, independent of nearby locations. */
.af16-kite-flight,
.af16-kite-paper-motion { transform-box: view-box; transform-origin: 0 0; }
@keyframes af16-kite-drift {
  0%, 100% { transform: rotate(-4deg); }
  45% { transform: rotate(5deg); }
  72% { transform: rotate(1deg); }
}
@keyframes af16-kite-breeze {
  0%, 100% { transform: rotate(-3deg); }
  50% { transform: rotate(4deg); }
}
@media (prefers-reduced-motion: no-preference) {
  .af16-kite-flight { animation: af16-kite-drift 7.5s ease-in-out infinite; }
  .af16-kite-flight.male { animation-duration: 6.3s; animation-delay: -2.4s; animation-direction: reverse; }
  .af16-kite-paper-motion { animation: af16-kite-breeze 3.8s ease-in-out infinite; }
  .af16-kite-flight.male .af16-kite-paper-motion { animation-duration: 4.6s; animation-delay: -1.1s; }
}
.accessory-piece:focus .af16-kite-flight,
.accessory-piece:focus .af16-kite-paper-motion { animation-play-state: paused; }
/* Leave the foreground soil visible while either worm is working there. */
.habitat[data-ahmedabad-grounded] .scene-name,
.habitat[data-ahmedabad-grounded] .worm-name-tag { opacity: 0; }
.ahmedabad-af16-accessory {
  --af16-ink: #263b55;
  --af16-indigo: #4654a3;
  --af16-turquoise: #38a7a4;
  --af16-turquoise-light: #a8e4dc;
  --af16-coral: #dc6078;
  --af16-gold: #d6a63e;
  --af16-ivory: #fff8e5;
  --af16-soil: #95583f;
  filter: drop-shadow(0 4px 3px rgba(29,48,67,.25));
}
.af16-fan-panel { fill: var(--af16-indigo); stroke: var(--af16-ink); stroke-width: 3; stroke-linejoin: round; }
.af16-fan-panel.companion { fill: var(--af16-turquoise); }
.af16-fan-wedge { stroke: none; opacity: .94; }
.af16-fan-wedge.coral { fill: var(--af16-coral); }
.af16-fan-wedge.turquoise { fill: var(--af16-turquoise); }
.af16-fan-wedge.ivory { fill: var(--af16-ivory); }
.af16-fan-wedge.indigo { fill: var(--af16-indigo); }
.af16-lattice-line { fill: none; stroke: var(--af16-turquoise-light); stroke-width: 1.75; stroke-linecap: round; opacity: .72; }
.af16-lattice-line.alt { stroke: var(--af16-gold); stroke-width: 1.35; }
.af16-fan-rim { fill: none; stroke: var(--af16-coral); stroke-width: 5; stroke-linecap: round; }
.af16-fan-rib { fill: none; stroke: var(--af16-gold); stroke-width: 2.8; stroke-linecap: round; }
.af16-fan-handle { fill: var(--af16-coral); stroke: var(--af16-ink); stroke-width: 2.5; stroke-linejoin: round; }
.af16-fan-pivot { fill: var(--af16-gold); stroke: var(--af16-ink); stroke-width: 2; }
.af16-kite-paper { fill: var(--af16-ivory); stroke: var(--af16-ink); stroke-width: 3; stroke-linejoin: round; }
.af16-kite-quarter.indigo { fill: var(--af16-indigo); stroke: none; }
.af16-kite-quarter.turquoise { fill: var(--af16-turquoise); stroke: none; }
.af16-kite-quarter.coral { fill: var(--af16-coral); stroke: none; }
.af16-kite-spar { fill: none; stroke: var(--af16-gold); stroke-width: 2.5; stroke-linecap: round; }
.af16-kite-line { fill: none; stroke: var(--af16-ink); stroke-width: 1.8; stroke-linecap: round; }
.af16-kite-tail { fill: none; stroke: var(--af16-indigo); stroke-width: 2.5; stroke-linecap: round; }
.af16-tail-bow { fill: none; stroke: var(--af16-coral); stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.af16-tail-bow.gold { stroke: var(--af16-gold); }
.af16-spool-thread { fill: var(--af16-coral); stroke: var(--af16-ink); stroke-width: 2.5; }
.af16-spool-rim { fill: var(--af16-gold); stroke: var(--af16-ink); stroke-width: 2.3; }
.af16-spool-winding { fill: none; stroke: var(--af16-ivory); stroke-width: 1.8; opacity: .84; }
.af16-spool-grip { fill: none; stroke: var(--af16-indigo); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.af16-spool-crank { fill: var(--af16-turquoise); stroke: var(--af16-ink); stroke-width: 1.8; }
.af16-bucket-handle { fill: none; stroke: #aebfc2; stroke-width: 6; stroke-linecap: round; }
.af16-bucket-lug { fill: #c9d7d8; stroke: var(--af16-ink); stroke-width: 2; }
.af16-bucket-body { fill: var(--af16-turquoise); stroke: var(--af16-ink); stroke-width: 3; stroke-linejoin: round; }
.af16-bucket-rim { fill: #c9d7d8; stroke: var(--af16-ink); stroke-width: 3; }
.af16-bucket-soil { fill: var(--af16-soil); stroke: #573b35; stroke-width: 2; }
.af16-bucket-rib { fill: none; stroke: rgba(255,248,229,.58); stroke-width: 2; stroke-linecap: round; }
.af16-soil-probe,
.af16-trowel-blade,
.af16-trowel-socket { fill: #c9d7d8; stroke: var(--af16-ink); stroke-width: 2.5; stroke-linejoin: round; }
.af16-probe-handle { fill: var(--af16-indigo); stroke: var(--af16-ink); stroke-width: 2.5; stroke-linejoin: round; }
.af16-probe-slot { fill: #6d858d; stroke: var(--af16-ink); stroke-width: 1.3; }
.af16-probe-soil { fill: var(--af16-soil); stroke: #573b35; stroke-width: 1; }
.af16-probe-mark { fill: none; stroke: var(--af16-ivory); stroke-width: 1.5; stroke-linecap: round; }
.af16-sample-bag { fill: rgba(255,248,229,.95); stroke: var(--af16-ink); stroke-width: 2.5; stroke-linejoin: round; }
.af16-bag-fold { fill: var(--af16-turquoise-light); stroke: var(--af16-ink); stroke-width: 2.2; stroke-linejoin: round; }
.af16-bag-soil { fill: var(--af16-soil); stroke: #573b35; stroke-width: 1.5; stroke-linejoin: round; }
.af16-bag-label { fill: var(--af16-ivory); stroke: var(--af16-coral); stroke-width: 1.8; }
.af16-bag-label-line { fill: none; stroke: var(--af16-indigo); stroke-width: 1.5; stroke-linecap: round; }
.af16-trowel-ridge { fill: none; stroke: #f4fbfa; stroke-width: 2.2; stroke-linecap: round; opacity: .88; }
.af16-trowel-grip { fill: var(--af16-coral); stroke: var(--af16-ink); stroke-width: 2.5; stroke-linejoin: round; }
.af16-grip-line { fill: none; stroke: var(--af16-gold); stroke-width: 2; stroke-linecap: round; }
.af16-sample-tray { fill: var(--af16-turquoise); stroke: var(--af16-ink); stroke-width: 2.5; stroke-linejoin: round; }
.af16-soil-grain { fill: var(--af16-soil); stroke: #573b35; stroke-width: 1; }
.af16-soil-grain.light { fill: #c47a54; }

.barro-qg2726-accessory { filter: drop-shadow(0 5px 4px rgba(28,41,29,.25)); }
.bci-cabinet-shell,
.bci-array-table,
.bci-map-table,
.bci-caliper-cabinet,
.bci-weir-basin,
.bci-bubble-column { fill: color-mix(in srgb, #72563c 76%, var(--local-secondary)); stroke: color-mix(in srgb, #33453a 82%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.bci-forest-contact { fill: color-mix(in srgb, #594836 76%, var(--local-primary)); stroke: color-mix(in srgb, #2f3d33 82%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.bci-slurry-window,
.bci-floor-drawer,
.bci-marquetry-board,
.bci-chart { fill: color-mix(in srgb, #d1bd83 68%, var(--paper-strong)); stroke: color-mix(in srgb, #425244 78%, var(--worm-deep)); stroke-width: 2.4; stroke-linejoin: round; }
.bci-bait-slurry { fill: color-mix(in srgb, #986b58 68%, var(--local-secondary)); stroke: color-mix(in srgb, #55453b 78%, var(--worm-deep)); stroke-width: 1.5; }
.bci-hanging-cup,
.bci-bait-well,
.bci-culture-vial,
.bci-vial-cradle { fill: color-mix(in srgb, #d8d5b8 72%, var(--paper-strong)); stroke: color-mix(in srgb, #46594b 76%, var(--worm-deep)); stroke-width: 2.2; stroke-linejoin: round; }
.bci-bait-well.selected { fill: color-mix(in srgb, #d1a858 76%, var(--local-secondary)); stroke-width: 3.2; }
.bci-cup-rim,
.bci-field-rail,
.bci-spacing-rail,
.bci-hanger,
.bci-grid-line,
.bci-sliding-bridge,
.bci-caliper,
.bci-caliper-jaw,
.bci-instrument-link,
.bci-chart-line,
.bci-calibration-staff,
.bci-wheel-spoke,
.bci-water-line { fill: none; stroke: color-mix(in srgb, #4b594b 80%, var(--worm-deep)); stroke-width: 2.7; stroke-linecap: round; stroke-linejoin: round; }
.bci-marquetry-board { fill: color-mix(in srgb, #9b7650 70%, var(--local-secondary)); }
.bci-stem-disc,
.bci-growth-wheel,
.bci-mapping-reel,
.bci-step-wheel { fill: color-mix(in srgb, #b18b4f 72%, var(--local-secondary)); stroke: color-mix(in srgb, #3f5144 80%, var(--worm-deep)); stroke-width: 2.2; }
.bci-tag-drawer,
.bci-census-roll,
.bci-chart-drum { fill: color-mix(in srgb, #d7cda3 72%, var(--paper-strong)); stroke: color-mix(in srgb, #4a5749 78%, var(--worm-deep)); stroke-width: 2.3; stroke-linejoin: round; }
.bci-roll-line,
.bci-chart-trace,
.bci-coiled-tube,
.bci-v-notch { fill: none; stroke: color-mix(in srgb, #2e756d 72%, var(--local-primary)); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.bci-weir-face { fill: color-mix(in srgb, #798174 70%, var(--local-primary)); stroke: color-mix(in srgb, #35473d 82%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.bci-float-well { fill: color-mix(in srgb, #486e68 70%, var(--local-primary)); stroke: color-mix(in srgb, #2f443d 82%, var(--worm-deep)); stroke-width: 3; }
.bci-float { fill: color-mix(in srgb, #d0a34f 76%, var(--local-secondary)); stroke: color-mix(in srgb, #55462f 78%, var(--worm-deep)); stroke-width: 2; }

.sanda-ju1873-accessory { filter: drop-shadow(0 5px 4px rgba(34,28,26,.26)); }
.ju1873-rind-column,
.ju1873-rind-half,
.ju1873-calendar-column,
.ju1873-date-wheel,
.ju1873-vault-outer { fill: color-mix(in srgb, #784936 74%, var(--local-secondary)); stroke: color-mix(in srgb, #45352e 80%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.ju1873-pulp-chamber,
.ju1873-inspection-window { fill: color-mix(in srgb, #d8c79b 68%, var(--paper-strong)); stroke: color-mix(in srgb, #6e513c 76%, var(--worm-deep)); stroke-width: 2.4; }
.ju1873-seed { fill: color-mix(in srgb, #eadcb7 78%, var(--paper-strong)); stroke: color-mix(in srgb, #795b43 74%, var(--worm-deep)); stroke-width: 1.5; }
.ju1873-seed.light { fill: color-mix(in srgb, #cba679 72%, var(--local-secondary)); }
.ju1873-louvre,
.ju1873-hinge-rib,
.ju1873-carry-handle,
.ju1873-peduncle-hook,
.ju1873-step-link,
.ju1873-cradle-arm,
.ju1873-pendulum,
.ju1873-escapement-link,
.ju1873-capillary-cable,
.ju1873-retrieval-arm,
.ju1873-dial-hand,
.ju1873-vial-cap,
.ju1873-vault-hinge { fill: none; stroke: color-mix(in srgb, #b28b4c 72%, var(--local-secondary)); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.ju1873-lantern-foot,
.ju1873-specimen-cup,
.ju1873-plate-cradle,
.ju1873-lower-cradle,
.ju1873-retrieval-rail { fill: color-mix(in srgb, #81684e 68%, var(--local-primary)); stroke: color-mix(in srgb, #405044 80%, var(--worm-deep)); stroke-width: 2.7; stroke-linejoin: round; }
.ju1873-decay-shutter { fill: color-mix(in srgb, #5f4939 82%, var(--worm-deep)); stroke: color-mix(in srgb, #c69a58 66%, var(--local-secondary)); stroke-width: 1.5; }
.ju1873-date-card,
.ju1873-vault-inner { fill: color-mix(in srgb, #d7cba7 72%, var(--paper-strong)); stroke: color-mix(in srgb, #4e574b 78%, var(--worm-deep)); stroke-width: 2.2; stroke-linejoin: round; }
.ju1873-date-card.accent { fill: color-mix(in srgb, #c89d55 72%, var(--local-secondary)); }
.ju1873-notch { fill: none; stroke: color-mix(in srgb, #536354 76%, var(--worm-deep)); stroke-width: 3; stroke-linecap: round; }
.ju1873-notch.accent { stroke: color-mix(in srgb, #d0a24f 78%, var(--local-secondary)); stroke-width: 4; }
.ju1873-culture-plate,
.ju1873-cup-rim { fill: rgba(220,239,226,.78); stroke: color-mix(in srgb, #43675c 72%, var(--worm-deep)); stroke-width: 2.2; }
.ju1873-escapement-gear,
.ju1873-pendulum-weight,
.ju1873-vault-dial { fill: color-mix(in srgb, #b58b49 74%, var(--local-secondary)); stroke: color-mix(in srgb, #4f4434 80%, var(--worm-deep)); stroke-width: 2.2; }
.ju1873-storage-port { fill: color-mix(in srgb, #5b6d5d 76%, var(--local-primary)); stroke: color-mix(in srgb, #34463c 82%, var(--worm-deep)); stroke-width: 2.5; }
.ju1873-storage-port.accent { fill: color-mix(in srgb, #ba934f 74%, var(--local-secondary)); }
.ju1873-vial,
.ju1873-capillary { fill: rgba(205,231,226,.78); stroke: color-mix(in srgb, #45665e 76%, var(--worm-deep)); stroke-width: 2.2; }
.ju1873-label { fill: color-mix(in srgb, #263c35 84%, var(--worm-deep)); font: 900 13px/1 var(--sans); stroke: color-mix(in srgb, #f5ecd2 85%, transparent); stroke-width: 2px; paint-order: stroke; }
.ju1873-vial-label { fill: color-mix(in srgb, #2f433c 84%, var(--worm-deep)); font: 900 5px/1 var(--sans); letter-spacing: -.02em; stroke: none; }

/* Bright enamel-and-glass palettes for the two sister-species showcase scenes. */
.barro-qg2726-accessory {
  --bci-ink: #263955;
  --bci-indigo: #4d52a4;
  --bci-teal: #17988f;
  --bci-aqua: #75d9d0;
  --bci-coral: #e45e78;
  --bci-orchid: #9b4f9c;
  --bci-gold: #e0ae3f;
  --bci-ivory: #fff7df;
  --bci-leaf: #2e8c5c;
  filter: drop-shadow(0 5px 4px rgba(30,48,70,.24));
}
.bci-cabinet-shell,
.bci-array-table,
.bci-map-table,
.bci-caliper-cabinet,
.bci-weir-basin,
.bci-bubble-column { fill: var(--bci-indigo); stroke: var(--bci-ink); }
.bci-forest-contact { fill: var(--bci-leaf); stroke: var(--bci-ink); }
.bci-slurry-window,
.bci-floor-drawer,
.bci-chart { fill: var(--bci-ivory); stroke: var(--bci-ink); }
.bci-marquetry-board { fill: var(--bci-aqua); stroke: var(--bci-ink); }
.bci-bait-slurry { fill: var(--bci-coral); stroke: var(--bci-ink); }
.bci-hanging-cup,
.bci-bait-well,
.bci-culture-vial,
.bci-vial-cradle { fill: var(--bci-ivory); stroke: var(--bci-teal); }
.bci-bait-well.selected { fill: var(--bci-gold); stroke: var(--bci-ink); }
.bci-cup-rim,
.bci-field-rail,
.bci-spacing-rail,
.bci-hanger,
.bci-grid-line,
.bci-sliding-bridge,
.bci-caliper,
.bci-caliper-jaw,
.bci-instrument-link,
.bci-chart-line,
.bci-calibration-staff,
.bci-wheel-spoke,
.bci-water-line { stroke: var(--bci-ink); }
.bci-stem-disc,
.bci-growth-wheel,
.bci-mapping-reel,
.bci-step-wheel { fill: var(--bci-gold); stroke: var(--bci-ink); }
.bci-tag-drawer,
.bci-census-roll,
.bci-chart-drum { fill: var(--bci-ivory); stroke: var(--bci-orchid); }
.bci-roll-line,
.bci-chart-trace,
.bci-coiled-tube,
.bci-v-notch { stroke: var(--bci-aqua); }
.bci-weir-face { fill: var(--bci-teal); stroke: var(--bci-ink); }
.bci-float-well { fill: var(--bci-aqua); stroke: var(--bci-indigo); }
.bci-float { fill: var(--bci-coral); stroke: var(--bci-ink); }
.bci-accessory-shadow { fill: rgba(24,42,53,.2); stroke: none; }
.bci-gustavia-petal { stroke-width: 2.7; stroke-linejoin: round; }
.bci-gustavia-petal.far { fill: #edb8c2; stroke: #873c68; }
.bci-gustavia-petal.near { fill: #fff0df; stroke: #a44978; }
.bci-gustavia-petal-vein { fill: none; stroke: rgba(196,75,119,.58); stroke-width: 2; stroke-linecap: round; }
.bci-gustavia-centre { fill: #cf4f79; stroke: var(--bci-ink); stroke-width: 2.5; }
.bci-gustavia-stamen { fill: none; stroke: #b33d72; stroke-width: 3; stroke-linecap: round; }
.bci-gustavia-anther { fill: #f3c747; stroke: var(--bci-ink); stroke-width: 2; }
.bci-gustavia-pollen { fill: #ffdc63; stroke: #8e416d; stroke-width: 1.5; }
.bci-gustavia-leaf { fill: #2f9769; stroke: var(--bci-ink); stroke-width: 3; stroke-linejoin: round; }
.bci-gustavia-leaf-vein { fill: none; stroke: #a9e0b5; stroke-width: 3; stroke-linecap: round; }
.bci-gustavia-band { fill: var(--bci-indigo); stroke: var(--bci-ink); stroke-width: 3; }
.bci-gustavia-clasp { fill: var(--bci-gold); stroke: var(--bci-ink); stroke-width: 2.5; }
.bci-fleece-body { fill: #d99b2b; stroke: var(--bci-ink); stroke-width: 3.5; stroke-linejoin: round; }
.bci-fleece-highlight { fill: #f6d36a; stroke: #a66624; stroke-width: 2.5; }
.bci-fleece-wool-panel { fill: #f8dc82; stroke: #a66624; stroke-width: 2.5; stroke-linejoin: round; }
.bci-fleece-spiral { fill: none; stroke: #fff3bd; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.bci-fleece-spiral.deep { stroke: #c17b26; }
.bci-fleece-tuft { fill: none; stroke: #fff0a5; stroke-width: 5; stroke-linecap: round; }
.bci-fleece-tuft.deep { stroke: #bd7424; }
.bci-fleece-collar { fill: var(--bci-orchid); stroke: var(--bci-ink); stroke-width: 3; }
.bci-fleece-clasp { fill: var(--bci-gold); stroke: var(--bci-ink); stroke-width: 3; }
.bci-fleece-horn { fill: none; stroke: var(--bci-gold); stroke-width: 5; stroke-linecap: round; }
.bci-fleece-cord { fill: none; stroke: var(--bci-teal); stroke-width: 4; stroke-linecap: round; }
.bci-fleece-tassel { fill: var(--bci-coral); stroke: var(--bci-ink); stroke-width: 2.5; stroke-linejoin: round; }
.bci-census-panel { stroke: var(--bci-ink); stroke-width: 3; stroke-linejoin: round; }
.bci-census-panel.emerald { fill: #178d71; }
.bci-census-panel.aqua { fill: #72d7ce; }
.bci-census-panel.orchid { fill: #9b55a2; }
.bci-census-panel.gold { fill: #efbd4d; }
.bci-census-rib { fill: none; stroke: #fff2bd; stroke-width: 4; stroke-linecap: round; }
.bci-census-map-line { fill: none; stroke: rgba(38,57,85,.72); stroke-width: 2.3; stroke-linecap: round; }
.bci-census-tree { fill: #e95f7e; stroke: var(--bci-ink); stroke-width: 2; }
.bci-census-tree.accent { fill: #fff3c5; }
.bci-census-tree-stem { fill: none; stroke: var(--bci-ink); stroke-width: 2; stroke-linecap: round; }
.bci-census-pivot { fill: #e45e78; stroke: var(--bci-ink); stroke-width: 3; }
.bci-census-pivot-inner { fill: #fff3c5; stroke: #92537f; stroke-width: 2; }
.bci-census-cord { fill: none; stroke: #9b4f9c; stroke-width: 4; stroke-linecap: round; }
.bci-census-tag { fill: #dce8e9; stroke: var(--bci-ink); stroke-width: 2.7; stroke-linejoin: round; }
.bci-census-tag-hole { fill: var(--bci-ink); stroke: #fff7df; stroke-width: 1.5; }
.bci-census-tag-text { fill: var(--bci-ink); font: 900 11px/1 var(--sans); text-anchor: middle; }
.bci-census-ribbon { fill: none; stroke: #e45e78; stroke-width: 6; stroke-linecap: round; }
.bci-census-ribbon-tip { fill: #e45e78; stroke: var(--bci-ink); stroke-width: 2.5; stroke-linejoin: round; }

.sanda-ju1873-accessory {
  --sanda-ink: #28344f;
  --sanda-indigo: #5550a8;
  --sanda-teal: #188f87;
  --sanda-aqua: #83d6d0;
  --sanda-coral: #df5875;
  --sanda-berry: #9f427b;
  --sanda-gold: #dda93a;
  --sanda-ivory: #fff6dc;
  --sanda-steel: #dce8e9;
  --sanda-steel-deep: #91adb6;
  filter: drop-shadow(0 5px 4px rgba(30,39,66,.25));
}
.ju1873-calendar-column,
.ju1873-date-wheel,
.ju1873-vault-outer { fill: var(--sanda-indigo); stroke: var(--sanda-ink); }
.ju1873-step-link,
.ju1873-cradle-arm,
.ju1873-pendulum,
.ju1873-escapement-link,
.ju1873-capillary-cable,
.ju1873-retrieval-arm,
.ju1873-dial-hand,
.ju1873-vial-cap,
.ju1873-vault-hinge { stroke: var(--sanda-gold); }
.ju1873-specimen-cup,
.ju1873-plate-cradle,
.ju1873-lower-cradle,
.ju1873-retrieval-rail { fill: var(--sanda-teal); stroke: var(--sanda-ink); }
.ju1873-date-card,
.ju1873-vault-inner { fill: var(--sanda-ivory); stroke: var(--sanda-indigo); }
.ju1873-date-card.accent { fill: var(--sanda-coral); }
.ju1873-notch { stroke: var(--sanda-aqua); }
.ju1873-notch.accent { stroke: var(--sanda-coral); }
.ju1873-culture-plate,
.ju1873-cup-rim { fill: rgba(131,214,208,.58); stroke: var(--sanda-teal); }
.ju1873-escapement-gear,
.ju1873-pendulum-weight,
.ju1873-vault-dial { fill: var(--sanda-gold); stroke: var(--sanda-ink); }
.ju1873-storage-port { fill: var(--sanda-teal); stroke: var(--sanda-ink); }
.ju1873-storage-port.accent { fill: var(--sanda-coral); }
.ju1873-vial,
.ju1873-capillary { fill: rgba(220,232,233,.86); stroke: var(--sanda-teal); }
.ju1873-label { fill: var(--sanda-ink); stroke: rgba(255,246,220,.9); }
.ju1873-vial-label { fill: var(--sanda-ink); }
.ju1873-machete-blade { fill: var(--sanda-steel); stroke: var(--sanda-ink); stroke-width: 3.5; stroke-linejoin: round; }
.ju1873-blade-bevel { fill: var(--sanda-steel-deep); stroke: none; opacity: .78; }
.ju1873-blade-spine { fill: none; stroke: #fff; stroke-width: 3; stroke-linecap: round; opacity: .88; }
.ju1873-handguard { fill: var(--sanda-gold); stroke: var(--sanda-ink); stroke-width: 3; stroke-linejoin: round; }
.ju1873-machete-handle { fill: var(--sanda-berry); stroke: var(--sanda-ink); stroke-width: 3; stroke-linejoin: round; }
.ju1873-handle-wrap { fill: none; stroke: var(--sanda-ivory); stroke-width: 3; stroke-linecap: round; }
.ju1873-pod-half { fill: var(--sanda-coral); stroke: var(--sanda-ink); stroke-width: 3; stroke-linejoin: round; }
.ju1873-pod-seed { fill: var(--sanda-ivory); stroke: var(--sanda-berry); stroke-width: 1.5; }
.ju1873-pod-seed.light { fill: var(--sanda-aqua); }
.ju1873-pod-rib { fill: none; stroke: var(--sanda-gold); stroke-width: 3; stroke-linecap: round; }
.ju1873-calendar-board,
.ju1873-calendar-foot { fill: var(--sanda-indigo); stroke: var(--sanda-ink); stroke-width: 3; stroke-linejoin: round; }
.ju1873-calendar-ring { fill: var(--sanda-gold); stroke: var(--sanda-ink); stroke-width: 2; }
.ju1873-date-number { fill: var(--sanda-ink); font: 900 29px/1 var(--sans); text-anchor: middle; paint-order: stroke; stroke: rgba(255,246,220,.92); stroke-width: 2px; }
.ju1873-day-dot { fill: var(--sanda-aqua); stroke: var(--sanda-ink); stroke-width: 1.7; }
.ju1873-day-dot.accent { fill: var(--sanda-coral); }
.ju1873-date-arrow { fill: none; stroke: var(--sanda-gold); stroke-width: 5; stroke-linecap: round; }
.ju1873-open-vault-door { fill: var(--sanda-aqua); stroke: var(--sanda-ink); stroke-width: 3; stroke-linejoin: round; }
.ju1873-door-rack { fill: none; stroke: var(--sanda-indigo); stroke-width: 4; stroke-linecap: round; }
.ju1873-vial-cap-solid { fill: var(--sanda-coral); stroke: var(--sanda-ink); stroke-width: 2; }
.ju1873-vial-mark { fill: var(--sanda-ink); font: 900 14px/1 var(--sans); text-anchor: middle; }
.ju1873-vial-mark.small { font-size: 10px; }
.ju1873-vault-lid { fill: var(--sanda-aqua); stroke: var(--sanda-ink); stroke-width: 3; stroke-linejoin: round; }
.ju1873-case-handle { fill: none; stroke: var(--sanda-gold); stroke-width: 8; stroke-linecap: round; }
.ju1873-endek-cloth { fill: var(--sanda-indigo); stroke: var(--sanda-ink); stroke-width: 4; stroke-linejoin: round; }
.ju1873-endek-weave { opacity: .98; }
.ju1873-endek-warp { fill: none; stroke: var(--sanda-teal); stroke-width: 8; opacity: .76; }
.ju1873-endek-warp.accent { stroke: var(--sanda-coral); stroke-width: 6; }
.ju1873-endek-weft { fill: none; stroke: var(--sanda-aqua); stroke-width: 4; opacity: .68; }
.ju1873-endek-weft.accent { stroke: var(--sanda-gold); stroke-width: 5; opacity: .88; }
.ju1873-endek-diamond { fill: var(--sanda-teal); stroke: var(--sanda-ivory); stroke-width: 3; stroke-linejoin: round; }
.ju1873-endek-diamond.berry { fill: var(--sanda-berry); }
.ju1873-endek-diamond-core { fill: var(--sanda-gold); stroke: var(--sanda-ink); stroke-width: 2; }
.ju1873-endek-diamond-core.aqua { fill: var(--sanda-aqua); }
.ju1873-endek-knot { fill: var(--sanda-ivory); stroke: var(--sanda-berry); stroke-width: 1.5; }
.ju1873-endek-waistband { fill: var(--sanda-berry); stroke: var(--sanda-ink); stroke-width: 3.5; stroke-linejoin: round; }
.ju1873-endek-border { fill: var(--sanda-teal); stroke: var(--sanda-ink); stroke-width: 3; stroke-linejoin: round; }
.ju1873-endek-fringe { fill: none; stroke: var(--sanda-gold); stroke-width: 4; stroke-linecap: round; }
.ju1873-endek-fold { fill: none; stroke: rgba(255,246,220,.72); stroke-width: 3; stroke-linecap: round; }
.ju1873-gong-frame { fill: var(--sanda-berry); stroke: var(--sanda-ink); stroke-width: 4; stroke-linejoin: round; }
.ju1873-gong-crown { fill: var(--sanda-indigo); stroke: var(--sanda-gold); stroke-width: 4; stroke-linejoin: round; }
.ju1873-gong-frame-inlay { fill: none; stroke: var(--sanda-gold); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.ju1873-gong-frame-bolt { fill: var(--sanda-aqua); stroke: var(--sanda-ink); stroke-width: 2; }
.ju1873-gong-carving { fill: none; stroke: var(--sanda-aqua); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.ju1873-gong-hanger { fill: none; stroke: var(--sanda-gold); stroke-width: 7; stroke-linecap: round; }
.ju1873-gong-cord { fill: none; stroke: var(--sanda-ivory); stroke-width: 4; stroke-linecap: round; }
.ju1873-gong-disc { fill: #d99f2f; stroke: var(--sanda-ink); stroke-width: 4; }
.ju1873-gong-ring { fill: none; stroke: #8b5b22; stroke-width: 4; opacity: .92; }
.ju1873-gong-ring.outer { stroke: #f7cd61; stroke-width: 5; }
.ju1873-gong-sheen { fill: none; stroke: #ffe8a1; stroke-width: 7; stroke-linecap: round; opacity: .92; }
.ju1873-gong-reflection { fill: none; stroke: #b97721; stroke-width: 6; stroke-linecap: round; opacity: .72; }
.ju1873-gong-hammer-mark { fill: #f0bf55; stroke: #8b5b22; stroke-width: 1.4; opacity: .86; }
.ju1873-gong-boss { fill: #b86a27; stroke: var(--sanda-ink); stroke-width: 4; }
.ju1873-gong-boss-light { fill: #f8c858; stroke: none; opacity: .86; }
.ju1873-gong-mallet-shaft { fill: none; stroke: var(--sanda-teal); stroke-width: 10; stroke-linecap: round; }
.ju1873-gong-mallet-head { fill: var(--sanda-coral); stroke: var(--sanda-ink); stroke-width: 3; }
.ju1873-gong-foot { fill: var(--sanda-teal); stroke: var(--sanda-ink); stroke-width: 3; stroke-linejoin: round; }

.bci-sample-rack { fill: var(--bci-indigo); stroke: var(--bci-ink); stroke-width: 3; }
.bci-clear-bait-jar { fill: rgba(255,255,255,.62); stroke: var(--bci-teal); stroke-width: 3; }
.bci-jar-lid { fill: var(--bci-gold); stroke: var(--bci-ink); stroke-width: 2.5; }
.bci-bait-slurry-large { fill: var(--bci-coral); stroke: none; }
.bci-tray-handle { fill: none; stroke: var(--bci-gold); stroke-width: 8; stroke-linecap: round; }
.bci-caliper-heavy { fill: none; stroke: var(--bci-indigo); stroke-width: 12; stroke-linecap: round; stroke-linejoin: round; }
.bci-caliper-jaw-heavy { fill: none; stroke: var(--bci-gold); stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; }
.bci-caliper-slider { fill: var(--bci-coral); stroke: var(--bci-ink); stroke-width: 2.5; }
.bci-trunk-section { fill: var(--bci-coral); stroke: var(--bci-ink); stroke-width: 3; }
.bci-trunk-ring { fill: none; stroke: var(--bci-gold); stroke-width: 3; }
.bci-caliper-tick { fill: none; stroke: var(--bci-ivory); stroke-width: 2.5; stroke-linecap: round; }
.bci-caliper-tag { fill: var(--bci-ivory); stroke: var(--bci-ink); stroke-width: 2.5; stroke-linejoin: round; }
.bci-clipboard { fill: var(--bci-indigo); stroke: var(--bci-ink); stroke-width: 3; }
.bci-map-paper { fill: var(--bci-ivory); stroke: var(--bci-teal); stroke-width: 2.5; }
.bci-clipboard-clip { fill: var(--bci-gold); stroke: var(--bci-ink); stroke-width: 2.5; }
.bci-map-pencil { fill: var(--bci-coral); stroke: var(--bci-ink); stroke-width: 2.5; stroke-linejoin: round; }
.bci-pencil-tip { fill: var(--bci-gold); stroke: var(--bci-ink); stroke-width: 2; }
.bci-measuring-column { fill: rgba(255,255,255,.62); stroke: var(--bci-indigo); stroke-width: 4; }
.bci-gauge-water,
.bci-basin-water { fill: var(--bci-aqua); stroke: var(--bci-teal); stroke-width: 2.5; }
.bci-gauge-tick { fill: none; stroke: var(--bci-ink); stroke-width: 2.5; stroke-linecap: round; }
.bci-runoff-funnel { fill: var(--bci-coral); stroke: var(--bci-ink); stroke-width: 3; stroke-linejoin: round; }
.bci-column-foot { fill: var(--bci-indigo); stroke: var(--bci-ink); stroke-width: 3; stroke-linejoin: round; }
.bci-chart-panel { fill: var(--bci-ivory); stroke: var(--bci-orchid); stroke-width: 3; }


.guadeloupe-nic203-accessory { filter:drop-shadow(0 5px 4px rgba(40,25,31,.25)); }
.gua-drum-body { fill:#a75b3e; stroke:#3b3444; stroke-width:3; stroke-linejoin:round; }
.gua-drum-stave-alt { fill:#d47a4f; stroke:none; }
.gua-drum-stave-berry { fill:#8f4058; stroke:none; }
.gua-drum-head { fill:#f6e3b5; stroke:#3b3444; stroke-width:3; }
.gua-drum-rim { fill:#5c342e; stroke:#3b3444; stroke-width:3; }
.gua-drum-rope,.gua-drum-rope-cross { fill:none; stroke:#efc963; stroke-width:3; stroke-linecap:round; }
.gua-drum-band { fill:none; stroke:#6f3452; stroke-width:10; stroke-linecap:round; }
.gua-drum-medallion { fill:#efc963; stroke:#5b3549; stroke-width:3; }
.gua-drum-harness { fill:none; stroke:#6d4b8f; stroke-width:8; stroke-linecap:round; }
.gua-drum-stick { fill:none; stroke:#5b392f; stroke-width:5; stroke-linecap:round; }

.oahu-eca789-accessory { filter:drop-shadow(0 5px 4px rgba(33,39,34,.25)); }
.eca789-clock-shell,.eca789-lift-frame,.eca789-console,.eca789-tripod-column,.eca789-folding-rack,.eca789-relay-bench { fill:color-mix(in srgb,#7d6549 72%,var(--local-secondary)); stroke:color-mix(in srgb,#33463c 84%,var(--worm-deep)); stroke-width:3; stroke-linejoin:round; }
.eca789-petal-shutter { fill:color-mix(in srgb,#a85f69 72%,var(--local-secondary)); stroke:color-mix(in srgb,#583f43 82%,var(--worm-deep)); stroke-width:2.2; stroke-linejoin:round; }
.eca789-litter-tray,.eca789-specimen-drawer,.eca789-ground-shoe,.eca789-record-plaque { fill:color-mix(in srgb,#705943 72%,var(--local-primary)); stroke:color-mix(in srgb,#35483d 84%,var(--worm-deep)); stroke-width:2.5; stroke-linejoin:round; }
.eca789-gear,.eca789-return-wheel,.eca789-date-dial,.eca789-humidity-dial,.eca789-field-drum,.eca789-crank { fill:color-mix(in srgb,#bd9552 76%,var(--local-secondary)); stroke:color-mix(in srgb,#514532 82%,var(--worm-deep)); stroke-width:2.4; }
.eca789-gear.accent { fill:color-mix(in srgb,#607965 72%,var(--local-primary)); }
.eca789-chain,.eca789-drive,.eca789-vial-cap,.eca789-needle,.eca789-stylus,.eca789-tripod-leg,.eca789-hygrometer-coil,.eca789-trace,.eca789-drum-spoke,.eca789-belt,.eca789-bag-rib { fill:none; stroke:color-mix(in srgb,#43584c 84%,var(--worm-deep)); stroke-width:2.7; stroke-linecap:round; stroke-linejoin:round; }
.eca789-chain { stroke-dasharray:3 4; }
.eca789-vial,.eca789-sensor-window,.eca789-value-window,.eca789-paper-drum,.eca789-culture-plate { fill:rgba(220,235,227,.82); stroke:color-mix(in srgb,#4c6a60 74%,var(--worm-deep)); stroke-width:2.2; }
.eca789-vial-cap,.eca789-contact-bulb,.eca789-air-bulb,.eca789-plate-cradle { fill:color-mix(in srgb,#668376 72%,var(--local-primary)); stroke:color-mix(in srgb,#374c43 84%,var(--worm-deep)); stroke-width:2.2; }
.eca789-air-cage,.eca789-trace-strip,.eca789-bag-frame,.eca789-data-tile,.eca789-tag-aperture { fill:color-mix(in srgb,#c4b07e 68%,var(--paper-strong)); stroke:color-mix(in srgb,#4a5144 82%,var(--worm-deep)); stroke-width:2.3; stroke-linejoin:round; }
.eca789-tag-cell,.eca789-chain-link { fill:color-mix(in srgb,#526d5d 76%,var(--local-primary)); stroke:color-mix(in srgb,#34483d 82%,var(--worm-deep)); stroke-width:1.5; }
.eca789-label { fill:color-mix(in srgb,#263c35 86%,var(--worm-deep)); font:900 9px/1 var(--sans); stroke:color-mix(in srgb,#f5ecd2 88%,transparent); stroke-width:1.8px; paint-order:stroke; }
.eca789-small-label { fill:color-mix(in srgb,#263c35 86%,var(--worm-deep)); font:900 7px/1 var(--sans); stroke:color-mix(in srgb,#f5ecd2 88%,transparent); stroke-width:1.4px; paint-order:stroke; }

.kauai-qg131-accessory { filter:drop-shadow(0 5px 4px rgba(42,35,24,.25)); }
.qg131-sorter-bench,.qg131-elevator-frame,.qg131-relay-rail,.qg131-escapement-frame,.qg131-viewer-frame,.qg131-motion-drum { fill:color-mix(in srgb,#826443 72%,var(--local-secondary)); stroke:color-mix(in srgb,#38483c 84%,var(--worm-deep)); stroke-width:3; stroke-linejoin:round; }
.qg131-cradle-rim,.qg131-input-cup,.qg131-wedge-tray,.qg131-receiving-drawer,.qg131-converging-chute,.qg131-freezer-chamber { fill:color-mix(in srgb,#aa7b47 72%,var(--local-secondary)); stroke:color-mix(in srgb,#4e4937 82%,var(--worm-deep)); stroke-width:2.3; stroke-linejoin:round; }
.qg131-fruit-segment { fill:color-mix(in srgb,#a35f3d 72%,var(--local-secondary)); stroke:color-mix(in srgb,#5e4532 82%,var(--worm-deep)); stroke-width:2; stroke-linejoin:round; }
.qg131-index-wheel,.qg131-counterweight-wheel,.qg131-date-station,.qg131-handwheel,.qg131-drive-gear { fill:color-mix(in srgb,#c29a53 76%,var(--local-secondary)); stroke:color-mix(in srgb,#544a35 82%,var(--worm-deep)); stroke-width:2.3; }
.qg131-date-station.terminal { fill:color-mix(in srgb,#718773 74%,var(--local-primary)); }
.qg131-drive,.qg131-chain,.qg131-date-hand,.qg131-drive-shaft,.qg131-spiral-track,.qg131-motion-trace,.qg131-worm-ribbon { fill:none; stroke:color-mix(in srgb,#42584c 84%,var(--worm-deep)); stroke-width:2.7; stroke-linecap:round; stroke-linejoin:round; }
.qg131-chain { stroke-dasharray:3 4; }
.qg131-spiral-track.two,.qg131-worm-ribbon.two { stroke:color-mix(in srgb,#98585c 74%,var(--local-secondary)); }
.qg131-vial,.qg131-agar-cradle,.qg131-tube-capsule,.qg131-plate-cradle,.qg131-culture-well,.qg131-observation-window { fill:rgba(224,237,229,.84); stroke:color-mix(in srgb,#4c6b60 75%,var(--worm-deep)); stroke-width:2.2; }
.qg131-specimen-shutter,.qg131-agar-gate,.qg131-motion-strip,.qg131-id-plate,.qg131-id-shutter { fill:color-mix(in srgb,#c6b17e 70%,var(--paper-strong)); stroke:color-mix(in srgb,#4a5144 82%,var(--worm-deep)); stroke-width:2.3; stroke-linejoin:round; }
.qg131-label { fill:color-mix(in srgb,#263c35 86%,var(--worm-deep)); font:900 9px/1 var(--sans); stroke:color-mix(in srgb,#f5ecd2 88%,transparent); stroke-width:1.8px; paint-order:stroke; }
.qg131-small-label { fill:color-mix(in srgb,#263c35 86%,var(--worm-deep)); font:900 7px/1 var(--sans); stroke:color-mix(in srgb,#f5ecd2 88%,transparent); stroke-width:1.4px; paint-order:stroke; }
.qg131-tiny-label,.qg131-vial-label { fill:color-mix(in srgb,#263c35 86%,var(--worm-deep)); font:900 6px/1 var(--sans); stroke:color-mix(in srgb,#f5ecd2 88%,transparent); stroke-width:1.2px; paint-order:stroke; }

.scanner-cast-frame,
.scanner-portal { fill: color-mix(in srgb, #48504e 81%, var(--worm-deep)); stroke: color-mix(in srgb, #283330 84%, var(--worm-deep)); stroke-width: 3.5; stroke-linejoin: round; fill-rule: evenodd; }
.scanner-portal { fill: color-mix(in srgb, #5a625f 75%, var(--local-primary)); }
.scanner-frame-brace,
.scanner-head-column,
.scanner-head-arm,
.scanner-guide,
.scanner-rail,
.scanner-plate-guide { fill: none; stroke: color-mix(in srgb, #69746f 68%, var(--worm-deep)); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.scanner-head-column,
.scanner-head { fill: color-mix(in srgb, #6c7470 76%, var(--worm-deep)); stroke: color-mix(in srgb, #303b38 82%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.scanner-carriage { fill: color-mix(in srgb, #a18a63 67%, var(--local-secondary)); stroke: color-mix(in srgb, #4b4438 78%, var(--worm-deep)); stroke-width: 3; }
.scanner-star-plate { fill: color-mix(in srgb, #202d36 86%, #394f5a); stroke: color-mix(in srgb, #b19a6a 64%, var(--worm-deep)); stroke-width: 2; }
.scanner-star { fill: color-mix(in srgb, #edf4dc 75%, #bcd1d4); stroke: rgba(255,255,255,.5); stroke-width: .7; }
.scanner-lens { fill: color-mix(in srgb, #72a2a0 58%, var(--paper-strong)); stroke: color-mix(in srgb, #294c4d 77%, var(--worm-deep)); stroke-width: 3; }
.scanner-aperture { fill: none; stroke: color-mix(in srgb, #2d4b4c 80%, var(--worm-deep)); stroke-width: 2; }
.scanner-wheel-rim,
.scanner-wheel-spoke { fill: none; stroke: color-mix(in srgb, #8a6b3c 75%, var(--worm-deep)); stroke-width: 4; stroke-linecap: round; }
.scanner-wheel-hub,
.scanner-rivet { fill: color-mix(in srgb, #b5914d 67%, var(--local-secondary)); stroke: color-mix(in srgb, #4d402b 76%, var(--worm-deep)); stroke-width: 1.5; }
.scanner-portal-rivet { fill: none; stroke: color-mix(in srgb, #d1b86f 66%, var(--paper-strong)); stroke-width: 5; stroke-linecap: round; }
.scanner-counter { fill: color-mix(in srgb, #d6c9a2 69%, var(--paper-strong)); stroke: color-mix(in srgb, #424b47 79%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.scanner-counter-text { fill: color-mix(in srgb, #263632 85%, var(--worm-deep)); font: 800 11px/1 var(--sans); stroke: none; }
.scanner-label { fill: color-mix(in srgb, #e2cf8f 73%, var(--paper-strong)); font: 800 8px/1 var(--sans); letter-spacing: .13em; stroke: none; }
.scanner-foot { fill: color-mix(in srgb, #464e4b 82%, var(--worm-deep)); stroke: color-mix(in srgb, #28312f 84%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }

.agassiz-base,
.agassiz-theatre-frame,
.agassiz-foot { fill: color-mix(in srgb, #846744 71%, var(--local-secondary)); stroke: color-mix(in srgb, #4f402f 78%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; fill-rule: evenodd; }
.agassiz-andesite-slab,
.agassiz-cutaway { fill: color-mix(in srgb, #675874 71%, var(--local-primary)); stroke: color-mix(in srgb, #453c50 81%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.agassiz-crag-core { fill: color-mix(in srgb, #594962 78%, var(--worm-deep)); stroke: color-mix(in srgb, #3b3442 82%, var(--worm-deep)); stroke-width: 2; }
.agassiz-tail-core { fill: color-mix(in srgb, #77667e 66%, var(--local-primary)); stroke: color-mix(in srgb, #4a4050 79%, var(--worm-deep)); stroke-width: 2; }
.agassiz-groove { fill: none; stroke: color-mix(in srgb, #af9bbb 54%, var(--paper-strong)); stroke-width: 2.5; stroke-linecap: round; opacity: .72; }
.agassiz-brass-rail,
.agassiz-rail-tie,
.agassiz-crank,
.agassiz-pulley { fill: none; stroke: color-mix(in srgb, #b38a3e 74%, var(--worm-deep)); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.agassiz-ice-carriage,
.agassiz-ice-ribbon { fill: rgba(185,226,225,.72); stroke: color-mix(in srgb, #4b8588 68%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.agassiz-ice-facet { fill: none; stroke: rgba(255,255,255,.72); stroke-width: 2; stroke-linecap: round; }
.agassiz-carriage-wheel,
.agassiz-pulley-wheel { fill: color-mix(in srgb, #c59d52 68%, var(--local-secondary)); stroke: color-mix(in srgb, #514127 78%, var(--worm-deep)); stroke-width: 2; }
.agassiz-flow-arrow { fill: none; stroke: color-mix(in srgb, #d1ad55 74%, var(--worm-deep)); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.agassiz-crank-knob { fill: color-mix(in srgb, #8c6540 67%, var(--local-primary)); stroke: var(--worm-deep); stroke-width: 2; }
.agassiz-direction { fill: color-mix(in srgb, #e0c56c 72%, var(--paper-strong)); font: 900 10px/1 var(--sans); stroke: color-mix(in srgb, var(--worm-deep) 75%, transparent); stroke-width: 1px; paint-order: stroke; }
.agassiz-level { fill: none; stroke: color-mix(in srgb, #5a4833 78%, var(--worm-deep)); stroke-width: 3; stroke-linecap: round; }
.viewer-rind,
.viewer-peel-panel,
.viewer-rind-flap { fill: color-mix(in srgb, #294936 82%, var(--local-primary)); stroke: color-mix(in srgb, #1d3328 84%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.viewer-peel-panel.left { fill: color-mix(in srgb, #35533b 82%, var(--local-primary)); }
.viewer-peel-panel.right { fill: color-mix(in srgb, #244330 85%, var(--local-primary)); }
.viewer-triptych-spine { fill: color-mix(in srgb, #4c6241 72%, var(--local-primary)); stroke: color-mix(in srgb, #25372c 82%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.viewer-flesh,
.viewer-flesh-panel { fill: color-mix(in srgb, #9b914f 72%, var(--local-secondary)); stroke: color-mix(in srgb, #5d5738 74%, var(--worm-deep)); stroke-width: 2.2; stroke-linejoin: round; }
.viewer-flesh-panel.left { fill: color-mix(in srgb, #8b8148 75%, var(--local-secondary)); }
.viewer-flesh-panel.right { fill: color-mix(in srgb, #a79a59 69%, var(--local-secondary)); }
.viewer-collapsed-flesh { fill: color-mix(in srgb, #715037 78%, var(--local-secondary)); stroke: color-mix(in srgb, #49382d 79%, var(--worm-deep)); stroke-width: 2; }
.viewer-pit { fill: color-mix(in srgb, #845236 77%, var(--local-secondary)); stroke: color-mix(in srgb, #4d3328 82%, var(--worm-deep)); stroke-width: 2.5; }
.viewer-pit-fissure { fill: none; stroke: color-mix(in srgb, #3f2c25 84%, var(--worm-deep)); stroke-width: 2; stroke-linecap: round; }
.viewer-mottle { fill: color-mix(in srgb, #ac7950 57%, var(--local-secondary)); }
.viewer-mottle.dark { fill: color-mix(in srgb, #2d2d24 79%, var(--worm-deep)); }
.viewer-hood-bracket,
.viewer-hinge-strap,
.viewer-drawer-handle { fill: none; stroke: color-mix(in srgb, #b28b43 78%, var(--worm-deep)); stroke-linecap: round; stroke-linejoin: round; }
.viewer-hood-bracket { stroke-width: 7; }
.viewer-hinge-strap { stroke-width: 4; }
.viewer-drawer-handle { stroke-width: 3; }
.viewer-hood-hinge,
.viewer-hinge-pin { fill: color-mix(in srgb, #c8a154 73%, var(--local-secondary)); stroke: color-mix(in srgb, #5d4929 79%, var(--worm-deep)); stroke-width: 2; }
.viewer-magnifying-hood { fill: color-mix(in srgb, #b58c46 72%, var(--local-secondary)); stroke: color-mix(in srgb, #594526 81%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.viewer-lens-frame { fill: color-mix(in srgb, #c09a52 71%, var(--local-secondary)); stroke: color-mix(in srgb, #594728 79%, var(--worm-deep)); stroke-width: 2.5; }
.viewer-lens-glass { fill: rgba(191,226,214,.62); stroke: color-mix(in srgb, #426d62 72%, var(--worm-deep)); stroke-width: 2; }
.viewer-lens-glint { fill: none; stroke: rgba(255,255,255,.78); stroke-width: 2.5; stroke-linecap: round; }
.viewer-drawer-housing,
.viewer-triptych-foot { fill: color-mix(in srgb, #6a573c 73%, var(--local-secondary)); stroke: color-mix(in srgb, #493b2d 80%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.viewer-litter-drawer { fill: color-mix(in srgb, #4d4933 74%, var(--local-primary)); stroke: color-mix(in srgb, #39362b 79%, var(--worm-deep)); stroke-width: 2; }
.viewer-litter { fill: color-mix(in srgb, #8b6040 74%, var(--local-secondary)); stroke: color-mix(in srgb, #4d3d30 77%, var(--worm-deep)); stroke-width: 1; }
.viewer-litter.green { fill: color-mix(in srgb, #557044 78%, var(--local-primary)); }

.root-harp-living-arch,
.root-harp-crown-branch,
.root-harp-root-base,
.root-harp-buttress-frame,
.root-harp-foot { fill: color-mix(in srgb, #765c40 72%, var(--local-secondary)); stroke: color-mix(in srgb, #493b2d 82%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.root-harp-buttress-frame { fill: color-mix(in srgb, #6c573f 70%, var(--local-primary)); }
.root-harp-branch-box { fill: color-mix(in srgb, #604831 78%, var(--local-secondary)); stroke: color-mix(in srgb, #423428 84%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.root-harp-box-grain { fill: none; stroke: color-mix(in srgb, #a67a49 54%, var(--worm-deep)); stroke-width: 2; stroke-linecap: round; }
.root-harp-string { fill: none; stroke: color-mix(in srgb, #9a7048 67%, var(--worm-deep)); stroke-linecap: round; }
.root-harp-string.living { stroke-width: 5; }
.root-harp-string.living.string-1,
.root-harp-string.living.string-3 { stroke-width: 7; }
.root-harp-string.chunky { stroke-width: 9; }
.root-harp-string.chunky.string-1 { stroke-width: 12; }
.root-harp-anchor { fill: color-mix(in srgb, #c49c4d 72%, var(--local-secondary)); stroke: color-mix(in srgb, #514028 80%, var(--worm-deep)); stroke-width: 1.5; }
.root-harp-bridge { fill: none; stroke: color-mix(in srgb, #c19b52 70%, var(--worm-deep)); stroke-width: 5; stroke-linecap: round; }
.root-harp-leaf-resonator { fill: color-mix(in srgb, #315f46 82%, var(--local-primary)); stroke: color-mix(in srgb, #234534 84%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.root-harp-leaf-vein { fill: none; stroke: color-mix(in srgb, #7ea06c 61%, var(--paper-strong)); stroke-width: 2.5; stroke-linecap: round; }
.root-harp-fig-peg { fill: color-mix(in srgb, #6c7c45 73%, var(--local-primary)); stroke: color-mix(in srgb, #3e4a32 82%, var(--worm-deep)); stroke-width: 1.5; }
.root-harp-fig-peg.ripe { fill: color-mix(in srgb, #775471 68%, var(--local-secondary)); }
.root-harp-peg-stem { fill: none; stroke: color-mix(in srgb, #4b4934 79%, var(--worm-deep)); stroke-width: 2; stroke-linecap: round; }

.seed-cabinet-shell,
.seed-cabinet-centre,
.seed-cabinet-wing,
.seed-board-frame,
.seed-cabinet-foot,
.seed-board-foot { fill: color-mix(in srgb, #9b7148 73%, var(--local-secondary)); stroke: color-mix(in srgb, #57402d 82%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.seed-cabinet-wing.left { fill: color-mix(in srgb, #876142 75%, var(--local-primary)); }
.seed-cabinet-wing.right { fill: color-mix(in srgb, #aa7d4d 71%, var(--local-secondary)); }
.seed-cabinet-centre { fill: color-mix(in srgb, #8d6846 72%, var(--local-secondary)); }
.seed-cabinet-hinge,
.seed-engine-crank,
.seed-bridge-rail,
.seed-capsule-link,
.seed-index-arm { fill: none; stroke: color-mix(in srgb, #b58d43 75%, var(--worm-deep)); stroke-linecap: round; stroke-linejoin: round; }
.seed-cabinet-hinge { stroke-width: 4; stroke-dasharray: 8 5; }
.seed-engine-crank { stroke-width: 5; }
.seed-bridge-rail { stroke-width: 6; }
.seed-capsule-link { stroke-width: 2.5; }
.seed-index-arm { stroke-width: 4; }
.seed-engine-crank-knob,
.seed-bridge-axle { fill: color-mix(in srgb, #c59b4d 72%, var(--local-secondary)); stroke: color-mix(in srgb, #564329 81%, var(--worm-deep)); stroke-width: 2; }
.seed-cabinet-cornice { fill: color-mix(in srgb, #c09455 70%, var(--local-secondary)); stroke: color-mix(in srgb, #5d442d 79%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.herbarium-sheet { fill: color-mix(in srgb, #e7ddbd 78%, var(--paper-strong)); stroke: color-mix(in srgb, #79694e 72%, var(--worm-deep)); stroke-width: 2; }
.herbarium-stem { fill: none; stroke: color-mix(in srgb, #566746 75%, var(--worm-deep)); stroke-width: 2; stroke-linecap: round; }
.herbarium-leaf { fill: color-mix(in srgb, #758054 68%, var(--local-primary)); stroke: color-mix(in srgb, #46513a 78%, var(--worm-deep)); stroke-width: 1.2; }
.seed-drawer { fill: color-mix(in srgb, #b98a58 72%, var(--local-secondary)); stroke: color-mix(in srgb, #624831 77%, var(--worm-deep)); stroke-width: 1.2; }
.seed-drawer.centre { fill: color-mix(in srgb, #a8794f 71%, var(--local-primary)); }
.seed-drawer-pull { fill: color-mix(in srgb, #d0ad60 73%, var(--local-secondary)); stroke: color-mix(in srgb, #604a2c 77%, var(--worm-deep)); stroke-width: .7; }
.seed-board-field { fill: color-mix(in srgb, #5d533f 68%, var(--local-primary)); stroke: color-mix(in srgb, #433b30 82%, var(--worm-deep)); stroke-width: 2.5; }
.seed-accession-cell { stroke: color-mix(in srgb, #57482f 71%, var(--worm-deep)); stroke-width: 1; }
.seed-accession-cell.tone-0 { fill: color-mix(in srgb, #c49b57 71%, var(--local-secondary)); }
.seed-accession-cell.tone-1 { fill: color-mix(in srgb, #829160 67%, var(--local-primary)); }
.seed-accession-cell.tone-2 { fill: color-mix(in srgb, #a87855 68%, var(--local-secondary)); }
.seed-accession-dot { fill: color-mix(in srgb, #4a3928 79%, var(--worm-deep)); }
.seed-capsule-shell { fill: color-mix(in srgb, #71824f 72%, var(--local-primary)); stroke: color-mix(in srgb, #465038 81%, var(--worm-deep)); stroke-width: 1.8; }
.seed-capsule-shell.warm { fill: color-mix(in srgb, #a96e4d 67%, var(--local-secondary)); }
.seed-capsule-seam { fill: none; stroke: color-mix(in srgb, #e1c778 59%, var(--paper-strong)); stroke-width: 1.2; stroke-linecap: round; }
.seed-leaf-pointer { fill: color-mix(in srgb, #3f7652 78%, var(--local-primary)); stroke: color-mix(in srgb, #284a37 83%, var(--worm-deep)); stroke-width: 2; }
.seed-leaf-vein { fill: none; stroke: color-mix(in srgb, #b7c88e 60%, var(--paper-strong)); stroke-width: 1.5; stroke-linecap: round; }
.seed-class-count { fill: color-mix(in srgb, #f0dc8c 70%, var(--paper-strong)); font: 900 12px/1 var(--sans); stroke: color-mix(in srgb, #594326 74%, var(--worm-deep)); stroke-width: 1px; paint-order: stroke; }
.tenerife-accessory { filter: drop-shadow(0 5px 4px rgba(25,38,32,.27)); }

.ten-canary-wing,
.ten-canary-tail,
.ten-canary-bib { stroke: color-mix(in srgb, #544529 80%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.ten-canary-wing,
.ten-canary-tail { fill: #e8b946; }
.ten-canary-wing-deep,
.ten-canary-tail-deep { fill: #c88131; }
.ten-canary-bib { fill: #f2d46a; }
.ten-canary-feather-light { fill: none; stroke: #fff0a8; stroke-width: 4; stroke-linecap: round; opacity: .86; }
.ten-canary-harness { fill: none; stroke: #594d39; stroke-width: 5; stroke-linecap: round; }
.ten-canary-clasp { fill: #be675b; stroke: color-mix(in srgb, #51412c 82%, var(--worm-deep)); stroke-width: 2; }
.ten-canary-clasp-mark { fill: none; stroke: #ffe6a6; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.ten-timple-body,
.ten-timple-body-deep,
.ten-timple-edge,
.ten-timple-neck,
.ten-timple-headstock { stroke: color-mix(in srgb, #573a26 84%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.ten-timple-body { fill: #9f5939; }
.ten-timple-body-deep { fill: #7e4a39; }
.ten-timple-edge { fill: #e0a257; }
.ten-timple-soundboard { fill: #edbd72; stroke: #68412e; stroke-width: 2.5; stroke-linejoin: round; }
.ten-timple-neck { fill: #9b573a; }
.ten-timple-headstock { fill: #70402f; }
.ten-timple-rosette { fill: #d9a75b; stroke: #68405d; stroke-width: 3; }
.ten-timple-soundhole { fill: #362f2a; stroke: #9e5142; stroke-width: 2; }
.ten-timple-string { fill: none; stroke: #f6e2ad; stroke-width: 1.4; stroke-linecap: round; }
.ten-timple-fret { fill: none; stroke: #d9ae6d; stroke-width: 2; stroke-linecap: round; }
.ten-timple-bridge { fill: none; stroke: #4c3528; stroke-width: 5; stroke-linecap: round; }
.ten-timple-peg { fill: #d5b15f; stroke: #4e382b; stroke-width: 1.5; }
.ten-timple-strap { fill: none; stroke: #735376; stroke-width: 6; stroke-linecap: round; stroke-dasharray: 9 5; }
.ten-timple-inlay { fill: none; stroke: #f4d389; stroke-width: 2.5; stroke-linecap: round; }
.ten-timple-scroll { fill: none; stroke: #98514a; stroke-width: 3; stroke-linecap: round; }

.ten-lantern-frame,
.ten-lantern-cap,
.ten-lantern-base,
.ten-lantern-crown { fill: #394a4b; stroke: #202f31; stroke-width: 3; stroke-linejoin: round; }
.ten-lantern-cap { fill: #5d4d68; }
.ten-lantern-base { fill: #7f553f; }
.ten-lantern-crown { fill: #5d4d68; }
.ten-lantern-pane { fill: #f0bd59; stroke: #6a4931; stroke-width: 3; stroke-linejoin: round; }
.ten-lantern-teide { fill: #674958; stroke: #3d3540; stroke-width: 2.5; stroke-linejoin: round; }
.ten-lantern-star { fill: #fff0a6; stroke: #a15a45; stroke-width: 2; stroke-linejoin: round; }
.ten-lantern-piercing { fill: #ffe49a; stroke: #9b5a44; stroke-width: 1.5; }
.ten-lantern-handle { fill: none; stroke: #b98949; stroke-width: 7; stroke-linecap: round; }
.ten-lantern-finial { fill: #d9ad54; stroke: #4d3d31; stroke-width: 2.5; }
.ten-lantern-arch { fill: none; stroke: #d09b4c; stroke-width: 3; stroke-linecap: round; }
.ten-lantern-filigree { fill: none; stroke: #e0b55d; stroke-width: 3; stroke-linecap: round; }
.ten-lantern-spark { fill: none; stroke: #fff0a6; stroke-width: 2.5; stroke-linecap: round; }
.ten-lantern-jewel { fill: #cf6a5e; stroke: #4d3d31; stroke-width: 2; }
.kauai-accessory { filter: drop-shadow(0 5px 4px rgba(24,38,31,.28)); }
.kauai-accessory-shadow { fill: rgba(23,35,30,.23); }
.decay-case-shell,
.decay-rack-frame,
.decay-case-foot,
.decay-rack-foot { fill: color-mix(in srgb, #83603f 72%, var(--local-secondary)); stroke: color-mix(in srgb, #4a3a2d 82%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; fill-rule: evenodd; }
.decay-rack-frame { fill: color-mix(in srgb, #67543d 74%, var(--local-primary)); }
.decay-case-window,
.decay-rack-inner { fill: rgba(164,205,191,.48); stroke: color-mix(in srgb, #365d54 72%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.decay-case-fragment { fill: color-mix(in srgb, #74553a 74%, var(--local-secondary)); stroke: color-mix(in srgb, #44372d 80%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.decay-case-split,
.decay-sample-mark { fill: none; stroke: color-mix(in srgb, #45382e 80%, var(--worm-deep)); stroke-width: 2; stroke-linecap: round; }
.decay-case-pore { fill: color-mix(in srgb, #b38850 65%, var(--local-secondary)); }
.decay-case-pore.deep { fill: color-mix(in srgb, #32362f 84%, var(--worm-deep)); }
.decay-moisture-window,
.decay-lens-glass { fill: rgba(168,218,204,.6); stroke: color-mix(in srgb, #35685c 71%, var(--worm-deep)); stroke-width: 2; }
.decay-moisture-glint,
.decay-lens-glint { fill: none; stroke: rgba(255,255,255,.79); stroke-width: 2.3; stroke-linecap: round; }
.decay-case-latch,
.decay-rack-crossbar,
.decay-lens-arm { fill: none; stroke: color-mix(in srgb, #af8744 74%, var(--worm-deep)); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.decay-rack-crossbar { stroke-width: 3; opacity: .78; }
.decay-case-hinge,
.decay-lens-rim { fill: color-mix(in srgb, #c39d55 73%, var(--local-secondary)); stroke: color-mix(in srgb, #57452d 79%, var(--worm-deep)); stroke-width: 2; }
.decay-sample-well { stroke: color-mix(in srgb, #4e4031 78%, var(--worm-deep)); stroke-width: 2; }
.decay-sample-well.brown { fill: color-mix(in srgb, #8a6241 76%, var(--local-secondary)); }
.decay-sample-well.green { fill: color-mix(in srgb, #4d714f 76%, var(--local-primary)); }
.decay-sample-well.gold { fill: color-mix(in srgb, #b28d4b 74%, var(--local-secondary)); }
.decay-specimen-ticket,
.decay-altitude-tag { fill: color-mix(in srgb, #e5d9b5 77%, var(--paper-strong)); stroke: color-mix(in srgb, #6e5a3e 71%, var(--worm-deep)); stroke-width: 1.8; }
.decay-ticket-text,
.decay-altitude-text { fill: color-mix(in srgb, #2e3e37 84%, var(--worm-deep)); font: 900 11px/1 var(--sans); letter-spacing: .04em; stroke: none; }

.cloud-comb-frame,
.cloud-ring-frame,
.cloud-comb-foot { fill: color-mix(in srgb, #5d7762 73%, var(--local-primary)); stroke: color-mix(in srgb, #34493d 82%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.cloud-ring-frame { fill: color-mix(in srgb, #8b7047 67%, var(--local-secondary)); }
.cloud-ring-mesh { fill: rgba(151,204,190,.31); stroke: color-mix(in srgb, #416d62 69%, var(--worm-deep)); stroke-width: 2.5; }
.cloud-comb-vane { fill: rgba(142,199,183,.58); stroke: color-mix(in srgb, #315f54 73%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; }
.cloud-comb-vane.deep { fill: rgba(99,166,148,.61); }
.cloud-comb-mesh,
.cloud-ring-spoke,
.cloud-ring-spiral { fill: none; stroke: color-mix(in srgb, #4c766b 68%, var(--worm-deep)); stroke-width: 2; stroke-linecap: round; }
.cloud-ring-spiral { stroke: color-mix(in srgb, #b78e48 72%, var(--worm-deep)); stroke-width: 4; }
.cloud-comb-gutter,
.cloud-ring-gutter { fill: color-mix(in srgb, #ad8748 72%, var(--local-secondary)); stroke: color-mix(in srgb, #57442d 80%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.cloud-comb-downpipe,
.cloud-ring-pipe,
.cloud-ring-stand { fill: none; stroke: color-mix(in srgb, #9e7c45 71%, var(--worm-deep)); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.cloud-pear-bulb,
.cloud-condensate-bulb { fill: rgba(119,190,181,.59); stroke: color-mix(in srgb, #356861 70%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.cloud-condensate-bulb.right { fill: rgba(153,207,195,.55); }
.cloud-bulb-glint { fill: none; stroke: rgba(255,255,255,.81); stroke-width: 2.5; stroke-linecap: round; }
.cloud-bulb-graduation,
.cloud-gauge-tick { fill: none; stroke: color-mix(in srgb, #315f58 76%, var(--worm-deep)); stroke-width: 2; stroke-linecap: round; }
.cloud-side-gauge { fill: color-mix(in srgb, #d8ccaa 72%, var(--paper-strong)); stroke: color-mix(in srgb, #5b543e 74%, var(--worm-deep)); stroke-width: 2.2; }
.cloud-gauge-level { fill: color-mix(in srgb, #5ca99b 76%, var(--local-primary)); stroke: none; }
.cloud-droplet { fill: color-mix(in srgb, #66b5ac 73%, var(--paper-strong)); stroke: color-mix(in srgb, #35665e 71%, var(--worm-deep)); stroke-width: 1.4; }

.haplotype-lightbox-shell,
.haplotype-drum-shell,
.haplotype-lightbox-foot,
.haplotype-drum-stand { fill: color-mix(in srgb, #806643 70%, var(--local-secondary)); stroke: color-mix(in srgb, #473d30 82%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; fill-rule: evenodd; }
.haplotype-lightbox-field,
.haplotype-drum-field { fill: color-mix(in srgb, #273f3c 80%, var(--local-primary)); stroke: color-mix(in srgb, #213632 83%, var(--worm-deep)); stroke-width: 2.5; }
.haplotype-ribbon-track { fill: none; stroke: color-mix(in srgb, #d4c37d 66%, var(--paper-strong)); stroke-width: 4; stroke-linecap: round; opacity: .82; }
.haplotype-ribbon-track.track-1 { stroke: color-mix(in srgb, #9bb9a6 65%, var(--paper-strong)); }
.haplotype-track-block,
.haplotype-radial-strip { stroke: color-mix(in srgb, #263a36 72%, var(--worm-deep)); stroke-width: 1; }
.haplotype-track-block.tone-0,
.haplotype-radial-strip.tone-0 { fill: color-mix(in srgb, #d0ad5c 72%, var(--local-secondary)); }
.haplotype-track-block.tone-1,
.haplotype-radial-strip.tone-1 { fill: color-mix(in srgb, #628f70 73%, var(--local-primary)); }
.haplotype-track-block.tone-2,
.haplotype-radial-strip.tone-2 { fill: color-mix(in srgb, #806284 66%, var(--local-secondary)); }
.haplotype-magnifier-rail,
.haplotype-side-crank,
.haplotype-panel-hinge,
.haplotype-sector-line { fill: none; stroke: color-mix(in srgb, #b28c47 73%, var(--worm-deep)); stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.haplotype-sector-line { stroke-width: 2; opacity: .66; }
.haplotype-magnifier-carriage,
.haplotype-magnifier-rim,
.haplotype-crank-knob,
.haplotype-drum-hub { fill: color-mix(in srgb, #c49a50 72%, var(--local-secondary)); stroke: color-mix(in srgb, #51422d 79%, var(--worm-deep)); stroke-width: 2; }
.haplotype-magnifier-glass { fill: rgba(153,207,195,.58); stroke: color-mix(in srgb, #35665d 72%, var(--worm-deep)); stroke-width: 2; }
.haplotype-magnifier-glint { fill: none; stroke: rgba(255,255,255,.78); stroke-width: 2.2; stroke-linecap: round; }
.haplotype-drum-pointer { fill: color-mix(in srgb, #8e3f5d 68%, var(--local-secondary)); stroke: color-mix(in srgb, #5a3245 78%, var(--worm-deep)); stroke-width: 1.8; }
.haplotype-result-panel { fill: color-mix(in srgb, #d9cba6 75%, var(--paper-strong)); stroke: color-mix(in srgb, #65573f 76%, var(--worm-deep)); stroke-width: 2.2; stroke-linejoin: round; }
.haplotype-result-line { fill: none; stroke: color-mix(in srgb, #506b5d 72%, var(--worm-deep)); stroke-width: 2; stroke-linecap: round; }
.haplotype-result-text,
.haplotype-lightbox-label { fill: color-mix(in srgb, #f0da8a 72%, var(--paper-strong)); font: 900 11px/1 var(--sans); letter-spacing: .08em; stroke: color-mix(in srgb, #2b3934 72%, var(--worm-deep)); stroke-width: 1px; paint-order: stroke; }
.haplotype-result-text { fill: color-mix(in srgb, #344b42 82%, var(--worm-deep)); font-size: 12px; stroke: none; }
.act-accessory { filter: drop-shadow(0 5px 4px rgba(31,38,31,.25)); }
.act-accessory-shadow { fill: rgba(31,36,30,.22); }

.cafe-saucer,
.cafe-cup-body { fill: #f5eee2; stroke: #263f48; stroke-width: 3.3; }
.cafe-saucer-well { fill: #d8c6ad; stroke: #856d52; stroke-width: 2; }
.cafe-cup-shadow { fill: #d6c0a5; stroke: none; opacity: .78; }
.cafe-cup-ridge { fill: none; stroke: rgba(255,255,255,.82); stroke-width: 4; stroke-linecap: round; }
.cafe-cup-handle { fill: #efe4d4; stroke: #263f48; stroke-width: 4; fill-rule: evenodd; }
.cafe-cup-rim { fill: #f7f0e5; stroke: #263f48; stroke-width: 3; }
.cafe-flat-white { fill: #bd7a47; stroke: #604334; stroke-width: 1.8; }
.cafe-latte-worm,
.cafe-latte-leaves { fill: none; stroke: #f7ead1; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.cafe-latte-leaves { fill: rgba(247,234,209,.42); stroke-width: 2.6; }
.cafe-latte-dot { fill: #f7ead1; }
.cafe-steam { fill: none; stroke: #f7f4ec; stroke-width: 5; stroke-linecap: round; opacity: .9; }
.cafe-spoon { fill: none; stroke: #b89a62; stroke-width: 5; stroke-linecap: round; }
.cafe-spoon-bowl { fill: #d8bd7d; stroke: #6d583b; stroke-width: 2; }

.cafe-grinder-body { fill: #9f4d62; stroke: #263f48; stroke-width: 3.2; stroke-linejoin: round; }
.cafe-grinder-side { fill: #713f5d; stroke: #263f48; stroke-width: 2.4; }
.cafe-grinder-brass,
.cafe-grinder-feet { fill: #d8b85f; stroke: #263f48; stroke-width: 2.6; stroke-linejoin: round; }
.cafe-grinder-drawer { fill: #f0d29a; stroke: #263f48; stroke-width: 2.4; }
.cafe-grinder-drawer-knob,
.cafe-grinder-crank-knob,
.cafe-grinder-burr { fill: #e9c86f; stroke: #263f48; stroke-width: 2.2; }
.cafe-grinder-hopper { fill: rgba(151,211,205,.62); stroke: #263f48; stroke-width: 2.8; stroke-linejoin: round; }
.cafe-grinder-hopper-rim,
.cafe-grinder-lid { fill: #315c62; stroke: #263f48; stroke-width: 2.5; }
.cafe-bean { fill: #9a5a38; stroke: #543b31; stroke-width: 1.1; }
.cafe-bean.deep { fill: #67402f; }
.cafe-grinder-crank,
.cafe-grinder-burr-lines { fill: none; stroke: #263f48; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.cafe-grinder-burr-lines { stroke-width: 1.8; }

.balloon-dawn-cloud { fill: rgba(239,234,213,.55); stroke: rgba(103,119,111,.38); stroke-width: 1.8; }
.balloon-envelope { fill: #315f67; stroke: #263f48; stroke-width: 3.8; stroke-linejoin: round; }
.balloon-panel.berry { fill: #b95872; }
.balloon-panel.gold { fill: #e1b957; }
.balloon-panel.aqua { fill: #63c9c0; }
.balloon-seam { fill: none; stroke: #263f48; stroke-width: 2.4; stroke-linecap: round; opacity: .88; }
.balloon-highlight { fill: none; stroke: rgba(255,244,210,.8); stroke-width: 4; stroke-linecap: round; }
.balloon-neck,
.balloon-burner { fill: #d8a74e; stroke: #263f48; stroke-width: 2.5; stroke-linejoin: round; }
.balloon-cables { fill: none; stroke: #5f4838; stroke-width: 3; stroke-linecap: round; }
.balloon-basket { fill: #b87a45; stroke: #263f48; stroke-width: 3.2; stroke-linejoin: round; }
.balloon-basket-rim { fill: #dbad64; stroke: #263f48; stroke-width: 2.4; }
.balloon-basket-weave { fill: none; stroke: #70462f; stroke-width: 2; stroke-linecap: round; opacity: .82; }

.cockatoo-tray,
.cockatoo-sugar-bowl { fill: #66bdb5; stroke: #263f48; stroke-width: 3.2; stroke-linejoin: round; }
.cockatoo-tray-rim,
.cockatoo-bowl-rim { fill: #a9ddd4; stroke: #263f48; stroke-width: 2.5; }
.cockatoo-body,
.cockatoo-head,
.cockatoo-wing { fill: #f4f1e7; stroke: #263f48; stroke-width: 3.2; stroke-linejoin: round; }
.cockatoo-wing.left { fill: #e9e0cf; }
.cockatoo-wing.right { fill: #fffaf0; }
.cockatoo-tail { fill: #e8e3d8; stroke: #263f48; stroke-width: 2.8; stroke-linejoin: round; }
.cockatoo-tail.yellow,
.cockatoo-crest { fill: #f4c54f; stroke: #263f48; stroke-width: 2.8; stroke-linejoin: round; }
.cockatoo-wing-feathers,
.cockatoo-tail-lines { fill: none; stroke: #b8aa92; stroke-width: 2; stroke-linecap: round; }
.cockatoo-cheek-wash { fill: #f2d774; stroke: none; opacity: .76; }
.cockatoo-eye-ring { fill: #d4c6b2; stroke: #263f48; stroke-width: 1.8; }
.cockatoo-eye { fill: #213740; stroke: #f7f3e8; stroke-width: 1.3; }
.cockatoo-beak { fill: #48555a; stroke: #263f48; stroke-width: 2.4; stroke-linejoin: round; }
.cockatoo-beak.front { fill: #536066; }
.cockatoo-leg,
.cockatoo-claw { fill: none; stroke: #5b5f5c; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.cockatoo-toast { fill: #e7b968; stroke: #263f48; stroke-width: 2.5; stroke-linejoin: round; }
.cockatoo-toast-spread { fill: #9a5267; stroke: #704054; stroke-width: 1.5; }
.cockatoo-toast-seed { fill: #f1d585; }
.cockatoo-sugar-cube { fill: #f8f4e8; stroke: #263f48; stroke-width: 2; stroke-linejoin: round; }
.cockatoo-cube-mark { fill: none; stroke: #d1c7b2; stroke-width: 1.5; }

/* Flight is user-triggered and travels to a real biscuit. */
.cockatoo-flight-bird {
  transform-box: view-box;
  transform-origin: 0 0;
}
.cockatoo-flight-wing { transform-box: view-box; transform-origin: 0 0; }
.is-raiding .cockatoo-flight-wing.near { animation: cockatoo-near-beat .32s ease-in-out 9 both; }
.is-raiding .cockatoo-flight-wing.far { animation: cockatoo-far-beat .32s ease-in-out 9 both; }
.accessory-piece.is-dragging .cockatoo-flight-bird,
.accessory-piece.is-dragging .cockatoo-flight-wing { animation-play-state: paused; }
@keyframes cockatoo-near-beat {
  0%, 100% { transform: rotate(0deg); }
  28% { transform: rotate(13deg); }
  67% { transform: rotate(-14deg); }
}
@keyframes cockatoo-far-beat {
  0%, 100% { transform: rotate(0deg); }
  32% { transform: rotate(-11deg); }
  70% { transform: rotate(12deg); }
}
@media (prefers-reduced-motion: reduce) {
  .cockatoo-flight-bird, .cockatoo-flight-wing, .is-raiding .cockatoo-flight-wing { animation: none; }
}
.profiler-rail-bed,
.profiler-rail-foot,
.profiler-tower-foot,
.profiler-catch-drawer { fill: color-mix(in srgb, #806a4d 72%, var(--local-secondary)); stroke: color-mix(in srgb, #4c4032 81%, var(--worm-deep)); stroke-width: 2.7; stroke-linejoin: round; }
.profiler-chamber-shell,
.profiler-chamber-glass { fill: rgba(173,213,208,.39); stroke: color-mix(in srgb, #426a64 70%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.profiler-chamber-glass { fill: rgba(205,231,225,.31); stroke-width: 1.8; }
.profiler-chamber-floor { fill: color-mix(in srgb, #76634a 62%, var(--local-secondary)); stroke: color-mix(in srgb, #4e4435 79%, var(--worm-deep)); stroke-width: 2; }
.profiler-litter-layer { fill: color-mix(in srgb, #6e744d 71%, var(--local-primary)); stroke: color-mix(in srgb, #414b35 79%, var(--worm-deep)); stroke-width: 1.7; }
.profiler-litter-layer.deep { fill: color-mix(in srgb, #4a4935 81%, var(--local-primary)); }
.profiler-grass-blade { fill: none; stroke: color-mix(in srgb, #4d764f 76%, var(--local-primary)); stroke-width: 3.7; stroke-linecap: round; }
.profiler-grass-blade.dry { stroke: color-mix(in srgb, #9a7a48 70%, var(--local-secondary)); }
.profiler-door { fill: rgba(122,173,168,.42); stroke: color-mix(in srgb, #42655f 73%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; }
.profiler-door-hinge,
.profiler-magnifier-rail,
.profiler-magnifier-arm,
.profiler-tower-frame,
.profiler-crank-shaft,
.profiler-crank-spokes,
.profiler-roller-spokes { fill: none; stroke: color-mix(in srgb, #967847 73%, var(--worm-deep)); stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.profiler-tower-frame { stroke-width: 4.5; }
.profiler-door-hinge,
.profiler-roller-spokes { stroke-width: 1.8; }
.profiler-door-latch,
.profiler-drawer-pull,
.profiler-roller-hub { fill: color-mix(in srgb, #c39a54 73%, var(--local-secondary)); stroke: color-mix(in srgb, #59462f 79%, var(--worm-deep)); stroke-width: 1.4; }
.profiler-magnifier-carriage,
.profiler-crank-wheel,
.profiler-roller { fill: color-mix(in srgb, #a8834b 72%, var(--local-secondary)); stroke: color-mix(in srgb, #55442f 80%, var(--worm-deep)); stroke-width: 2.4; }
.profiler-magnifier-lens { fill: color-mix(in srgb, #9a7949 70%, var(--local-secondary)); stroke: color-mix(in srgb, #4d4030 80%, var(--worm-deep)); stroke-width: 2.2; }
.profiler-magnifier-glass { fill: rgba(185,225,219,.58); stroke: color-mix(in srgb, #3e6a64 72%, var(--worm-deep)); stroke-width: 1.6; }
.profiler-ticket { fill: color-mix(in srgb, #d5bb77 72%, var(--paper-strong)); stroke: color-mix(in srgb, #5c4931 75%, var(--worm-deep)); stroke-width: 1.6; }
.profiler-ticket-text { fill: color-mix(in srgb, #314d47 78%, var(--worm-deep)); font: 900 11px/1 var(--sans); letter-spacing: -.03em; }
.profiler-window { fill: rgba(159,207,199,.53); stroke: color-mix(in srgb, #3e6c65 72%, var(--worm-deep)); stroke-width: 2; }
.profiler-window.warm { fill: color-mix(in srgb, #bca46a 38%, rgba(153,202,195,.64)); }
.profiler-window-glint { fill: none; stroke: color-mix(in srgb, var(--paper-strong) 73%, #b9d9d3); stroke-width: 2; stroke-linecap: round; opacity: .72; }
.profiler-litter-ribbon { fill: none; stroke: color-mix(in srgb, #5c6d43 75%, var(--local-primary)); stroke-width: 10; stroke-linecap: round; stroke-linejoin: round; }
.profiler-ribbon-leaf { fill: color-mix(in srgb, #97704b 67%, var(--local-secondary)); stroke: color-mix(in srgb, #514335 74%, var(--worm-deep)); stroke-width: 1.1; }
.profiler-ribbon-leaf.deep { fill: color-mix(in srgb, #53513b 79%, var(--local-primary)); }
.profiler-drawer-front { fill: color-mix(in srgb, #9b7c52 70%, var(--local-secondary)); stroke: color-mix(in srgb, #56452f 77%, var(--worm-deep)); stroke-width: 1.5; }

.monitor-wide-frame,
.monitor-frame-brace,
.monitor-drum-axle,
.monitor-suspension,
.monitor-spring,
.monitor-stylus-arm,
.monitor-triangle-frame,
.monitor-triangle-brace,
.monitor-pendulum-wire,
.monitor-sensor-link { fill: none; stroke: color-mix(in srgb, #8f7347 73%, var(--worm-deep)); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.monitor-wide-frame { stroke-width: 5; }
.monitor-frame-brace,
.monitor-triangle-brace { stroke-width: 2.6; }
.monitor-paper-drum { fill: color-mix(in srgb, #e8dfc4 75%, var(--paper-strong)); stroke: color-mix(in srgb, #5e5543 74%, var(--worm-deep)); stroke-width: 2.5; }
.monitor-drum-end,
.monitor-drum-cap { fill: color-mix(in srgb, #a1804c 72%, var(--local-secondary)); stroke: color-mix(in srgb, #51412d 80%, var(--worm-deep)); stroke-width: 2.3; }
.monitor-paper-rule { fill: none; stroke: color-mix(in srgb, #8ca59e 55%, var(--local-primary)); stroke-width: 1.1; opacity: .55; }
.monitor-paper-rule.faint { opacity: .34; }
.monitor-trace,
.monitor-chart-trace { fill: none; stroke: color-mix(in srgb, #6f496c 69%, var(--local-primary)); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.monitor-suspended-mass,
.monitor-pendulum-bob { fill: color-mix(in srgb, #6b6350 72%, var(--local-primary)); stroke: color-mix(in srgb, #3d3c32 82%, var(--worm-deep)); stroke-width: 2.5; }
.monitor-stylus-tip { fill: color-mix(in srgb, #b05058 67%, var(--local-secondary)); stroke: var(--worm-deep); stroke-width: 1.2; }
.monitor-four-feet { fill: color-mix(in srgb, #7f6849 72%, var(--local-secondary)); stroke: color-mix(in srgb, #4a3e2f 81%, var(--worm-deep)); stroke-width: 2.3; stroke-linejoin: round; }
.monitor-amplitude-dial { fill: color-mix(in srgb, #d8ceb1 70%, var(--paper-strong)); stroke: color-mix(in srgb, #67523a 77%, var(--worm-deep)); stroke-width: 2.5; }
.monitor-amplitude-arc,
.monitor-dial-tick { fill: none; stroke: color-mix(in srgb, #6c4d66 67%, var(--local-primary)); stroke-width: 2.2; stroke-linecap: round; }
.monitor-pendulum-pointer { fill: color-mix(in srgb, #b78e4c 74%, var(--local-secondary)); stroke: color-mix(in srgb, #55422e 79%, var(--worm-deep)); stroke-width: 1.8; }
.monitor-sensor-foot { fill: color-mix(in srgb, #527264 74%, var(--local-primary)); stroke: color-mix(in srgb, #344b43 81%, var(--worm-deep)); stroke-width: 2; }
.monitor-sensor-foot.centre { fill: color-mix(in srgb, #a8844d 71%, var(--local-secondary)); }
.monitor-folded-chart { fill: color-mix(in srgb, #ded5b9 72%, var(--paper-strong)); stroke: color-mix(in srgb, #655844 73%, var(--worm-deep)); stroke-width: 2.2; stroke-linejoin: round; }
.monitor-chart-fold { fill: none; stroke: color-mix(in srgb, #8e8267 61%, var(--worm-deep)); stroke-width: 1.2; }

.timing-clock-outer,
.timing-clock-hub { fill: color-mix(in srgb, #9e7d49 72%, var(--local-secondary)); stroke: color-mix(in srgb, #52412e 81%, var(--worm-deep)); stroke-width: 3; }
.timing-clock-face { fill: color-mix(in srgb, #ded5b8 75%, var(--paper-strong)); stroke: color-mix(in srgb, #5b4d39 76%, var(--worm-deep)); stroke-width: 2; }
.timing-clock-sector { stroke: none; opacity: .66; }
.timing-clock-sector.early { fill: color-mix(in srgb, var(--local-primary) 57%, #8ab3a1); }
.timing-clock-sector.late { fill: color-mix(in srgb, var(--local-secondary) 50%, #c7b06f); }
.timing-clock-divider,
.timing-clock-hand,
.timing-bead-rail { fill: none; stroke: color-mix(in srgb, #514333 76%, var(--worm-deep)); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.timing-clock-hand { stroke-width: 4; }
.timing-bead-rail { stroke: color-mix(in srgb, #9a7a48 70%, var(--local-secondary)); stroke-width: 3; }
.timing-progeny-bead { fill: color-mix(in srgb, #55765f 74%, var(--local-primary)); stroke: color-mix(in srgb, #34483b 79%, var(--worm-deep)); stroke-width: 1.1; }
.timing-progeny-bead.deep { fill: color-mix(in srgb, #a77f4a 72%, var(--local-secondary)); }
.timing-male-aperture { fill: color-mix(in srgb, #4d5f58 75%, var(--local-primary)); stroke: color-mix(in srgb, #303d38 83%, var(--worm-deep)); stroke-width: 2; }
.timing-male-tally { fill: color-mix(in srgb, #d0bb79 73%, var(--paper-strong)); stroke: color-mix(in srgb, #4e4030 77%, var(--worm-deep)); stroke-width: 1; }
.timing-male-tally.warm { fill: color-mix(in srgb, #a85e5d 65%, var(--local-secondary)); }
.timing-hour-label,
.timing-window-label,
.timing-assay-label,
.timing-eca36-text,
.timing-x-label { fill: color-mix(in srgb, #2d4741 79%, var(--worm-deep)); font: 900 11px/1 var(--sans); paint-order: stroke; stroke: color-mix(in srgb, var(--paper-strong) 74%, transparent); stroke-width: 2px; }
.timing-hour-label { font-size: 12px; }
.timing-assay-label { fill: color-mix(in srgb, #e1d69e 72%, var(--paper-strong)); font-size: 8px; stroke: color-mix(in srgb, #33443f 66%, var(--worm-deep)); stroke-width: 1px; }
.timing-eca36-tag { fill: color-mix(in srgb, #d2ba77 73%, var(--paper-strong)); stroke: color-mix(in srgb, #5b4931 75%, var(--worm-deep)); stroke-width: 1.6; }
.timing-eca36-text { font-size: 10px; stroke-width: 1px; }
.timing-counter-frame,
.timing-counter-foot { fill: color-mix(in srgb, #806948 72%, var(--local-secondary)); stroke: color-mix(in srgb, #4b3f31 81%, var(--worm-deep)); stroke-width: 2.7; stroke-linejoin: round; }
.timing-counter-branch,
.timing-progeny-chute,
.timing-male-chute { fill: none; stroke: color-mix(in srgb, #917346 73%, var(--worm-deep)); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.timing-flip-window { fill: color-mix(in srgb, #638175 71%, var(--local-primary)); stroke: color-mix(in srgb, #374d45 80%, var(--worm-deep)); stroke-width: 2; }
.timing-flip-window.late { fill: color-mix(in srgb, #a18555 68%, var(--local-secondary)); }
.timing-window-label { fill: color-mix(in srgb, #f0e7c9 80%, var(--paper-strong)); font-size: 8px; stroke: color-mix(in srgb, #33433e 66%, var(--worm-deep)); stroke-width: .8px; }
.timing-x-gate { fill: color-mix(in srgb, #765570 63%, var(--local-primary)); stroke: color-mix(in srgb, #493747 79%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; }
.timing-x-label { fill: color-mix(in srgb, #f0e2bd 76%, var(--paper-strong)); font-size: 9px; stroke-width: .8px; }
.araucania-accessory { filter: drop-shadow(0 5px 4px rgba(30,38,31,.28)); }
.araucania-accessory-shadow { fill: rgba(27,35,29,.24); }
.labyrinth-table-frame { fill: color-mix(in srgb, #8d704b 74%, var(--local-secondary)); fill-rule: evenodd; stroke: color-mix(in srgb, #4e402f 82%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.labyrinth-kidney-surface { fill: color-mix(in srgb, #d8cfb0 72%, var(--paper-strong)); stroke: color-mix(in srgb, #695840 72%, var(--worm-deep)); stroke-width: 2; }
.labyrinth-grooved-track,
.labyrinth-helix-track { fill: none; stroke: color-mix(in srgb, #557264 74%, var(--local-primary)); stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; }
.labyrinth-grooved-track { stroke: color-mix(in srgb, #49685b 72%, var(--local-primary)); stroke-width: 7; }
.labyrinth-compost-island { fill: color-mix(in srgb, #8c6241 72%, var(--local-secondary)); stroke: color-mix(in srgb, #4b3d31 80%, var(--worm-deep)); stroke-width: 1.8; }
.labyrinth-compost-island.deep { fill: color-mix(in srgb, #534739 82%, var(--local-primary)); }
.labyrinth-compost-island.green { fill: color-mix(in srgb, #536d4e 78%, var(--local-primary)); }
.labyrinth-island-vein { fill: none; stroke: color-mix(in srgb, #d1b677 57%, var(--paper-strong)); stroke-width: 1.2; stroke-linecap: round; }
.labyrinth-worm-token { fill: none; stroke: color-mix(in srgb, #82607d 68%, var(--local-primary)); stroke-width: 5; stroke-linecap: round; }
.labyrinth-worm-token-head,
.labyrinth-gate-hinge,
.labyrinth-gate-slider,
.labyrinth-drawer-pull { fill: color-mix(in srgb, #bc9451 74%, var(--local-secondary)); stroke: color-mix(in srgb, #54432e 79%, var(--worm-deep)); stroke-width: 1.4; }
.labyrinth-articulated-gate { fill: color-mix(in srgb, #6f805f 70%, var(--local-primary)); stroke: color-mix(in srgb, #3e4e3b 80%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; }
.labyrinth-ticket,
.labyrinth-ch417-plate { fill: color-mix(in srgb, #d9c17c 72%, var(--paper-strong)); stroke: color-mix(in srgb, #5d4931 76%, var(--worm-deep)); stroke-width: 1.7; }
.labyrinth-ticket-text,
.labyrinth-plate-text { fill: color-mix(in srgb, #304b44 81%, var(--worm-deep)); font: 900 11px/1 var(--sans); paint-order: stroke; stroke: color-mix(in srgb, var(--paper-strong) 70%, transparent); stroke-width: 1.4px; }
.labyrinth-ticket-text.small { font-size: 7px; letter-spacing: .04em; }
.labyrinth-table-feet,
.labyrinth-helix-foot,
.labyrinth-catch-drawer { fill: color-mix(in srgb, #806647 74%, var(--local-secondary)); stroke: color-mix(in srgb, #4a3d30 82%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.labyrinth-helix-chassis { fill: none; stroke: color-mix(in srgb, #957547 74%, var(--worm-deep)); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.labyrinth-helix-deck { fill: color-mix(in srgb, #9a7549 72%, var(--local-secondary)); stroke: color-mix(in srgb, #51412f 81%, var(--worm-deep)); stroke-width: 2.2; }
.labyrinth-helix-deck.deep { fill: color-mix(in srgb, #6f6d4f 67%, var(--local-primary)); }
.labyrinth-helix-deck-inner { fill: color-mix(in srgb, #d9d0b2 67%, var(--paper-strong)); stroke: color-mix(in srgb, #4b665a 66%, var(--local-primary)); stroke-width: 1.4; }
.labyrinth-sliding-gate { fill: none; stroke: color-mix(in srgb, #a28149 74%, var(--worm-deep)); stroke-width: 6; stroke-linecap: round; }
.labyrinth-drawer-front { fill: color-mix(in srgb, #a18255 71%, var(--local-secondary)); stroke: color-mix(in srgb, #58462f 78%, var(--worm-deep)); stroke-width: 1.5; }

.ash-sector-cabinet,
.ash-cassette-chassis { fill: color-mix(in srgb, #765f46 72%, var(--local-secondary)); stroke: color-mix(in srgb, #433a30 83%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.ash-sector-wheel,
.ash-analog-dial { fill: color-mix(in srgb, #d9d0b5 74%, var(--paper-strong)); stroke: color-mix(in srgb, #665642 76%, var(--worm-deep)); stroke-width: 2.5; }
.ash-sector-divider,
.ash-dial-scale,
.ash-cassette-handle,
.ash-panel-hinge,
.ash-side-panel-brace,
.ash-chart-hinge,
.ash-chart-folds,
.ash-chart-trace { fill: none; stroke: color-mix(in srgb, #5e4c38 75%, var(--worm-deep)); stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; }
.ash-deposition-cell { fill: color-mix(in srgb, #638073 72%, var(--local-primary)); stroke: color-mix(in srgb, #3a5148 80%, var(--worm-deep)); stroke-width: 1.3; }
.ash-deposition-cell.deep { fill: color-mix(in srgb, #9c7a4c 68%, var(--local-secondary)); }
.ash-direction-pointer,
.ash-pointer-hub { fill: color-mix(in srgb, #805877 66%, var(--local-primary)); stroke: color-mix(in srgb, #4b3a49 80%, var(--worm-deep)); stroke-width: 1.8; stroke-linejoin: round; }
.ash-counter-shell,
.ash-vial-chamber,
.ash-cassette-foot,
.ash-cabinet-feet { fill: color-mix(in srgb, #8c6d47 73%, var(--local-secondary)); stroke: color-mix(in srgb, #4c3e30 81%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.ash-counter-window,
.ash-cassette-window { fill: color-mix(in srgb, #9cc2b9 50%, var(--local-primary)); stroke: color-mix(in srgb, #3b5a52 76%, var(--worm-deep)); stroke-width: 1.2; }
.ash-counter-window.deep,
.ash-cassette-window.deep { fill: color-mix(in srgb, #b29a62 50%, var(--local-secondary)); }
.ash-fold-chart,
.ash-supported-side-panel { fill: color-mix(in srgb, #ddd2b4 74%, var(--paper-strong)); stroke: color-mix(in srgb, #665744 75%, var(--worm-deep)); stroke-width: 2.2; stroke-linejoin: round; }
.ash-chart-trace { stroke: color-mix(in srgb, #765571 67%, var(--local-primary)); stroke-width: 2.5; }
.ash-cassette-tray { fill: color-mix(in srgb, #61786b 68%, var(--local-primary)); stroke: color-mix(in srgb, #394c43 81%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; }
.ash-cassette-tray.deep { fill: color-mix(in srgb, #8c734d 69%, var(--local-secondary)); }
.ash-vial-body { fill: rgba(159,208,201,.54); stroke: color-mix(in srgb, #3f6a64 72%, var(--worm-deep)); stroke-width: 1.8; }
.ash-vial-cap { fill: color-mix(in srgb, #b38a4b 73%, var(--local-secondary)); stroke: color-mix(in srgb, #57442e 79%, var(--worm-deep)); stroke-width: 1.5; }

.cross-dial-outer,
.cross-bridge-base,
.cross-bridge-feet { fill: color-mix(in srgb, #82694b 72%, var(--local-secondary)); stroke: color-mix(in srgb, #493e31 81%, var(--worm-deep)); stroke-width: 3; stroke-linejoin: round; }
.cross-dial-gate { fill: none; stroke: color-mix(in srgb, #557267 73%, var(--local-primary)); stroke-width: 7; }
.cross-dial-gate.middle { stroke: color-mix(in srgb, #9a7a4b 71%, var(--local-secondary)); stroke-width: 6; }
.cross-dial-gate.inner { stroke: color-mix(in srgb, #765773 65%, var(--local-primary)); stroke-width: 5; }
.cross-dial-spokes,
.cross-observation-hinge,
.cross-panel-brace,
.cross-track-rail,
.cross-window-divider,
.cross-result-mast { fill: none; stroke: color-mix(in srgb, #604d38 77%, var(--worm-deep)); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.cross-dial-spokes { stroke-width: 1.5; opacity: .67; }
.cross-entry-port,
.cross-entry-chamber { fill: color-mix(in srgb, #667f72 72%, var(--local-primary)); stroke: color-mix(in srgb, #394e45 82%, var(--worm-deep)); stroke-width: 2.2; stroke-linejoin: round; }
.cross-entry-port.right,
.cross-entry-chamber.right { fill: color-mix(in srgb, #9d8054 66%, var(--local-secondary)); }
.cross-dial-hub,
.cross-result-hinge { fill: color-mix(in srgb, #b68f50 73%, var(--local-secondary)); stroke: color-mix(in srgb, #55422d 79%, var(--worm-deep)); stroke-width: 1.6; }
.cross-folding-panel,
.cross-central-chamber { fill: rgba(168,211,204,.49); stroke: color-mix(in srgb, #416b63 74%, var(--worm-deep)); stroke-width: 2.4; stroke-linejoin: round; }
.cross-blank-window { fill: color-mix(in srgb, #e1d9c1 72%, var(--paper-strong)); stroke: color-mix(in srgb, #685a48 73%, var(--worm-deep)); stroke-width: 1.4; }
.cross-blank-window.deep { fill: color-mix(in srgb, #c8b684 64%, var(--paper-strong)); }
.cross-track-rail { stroke: color-mix(in srgb, #557367 74%, var(--local-primary)); stroke-width: 8; }
.cross-central-gate { fill: none; stroke: color-mix(in srgb, #765574 68%, var(--local-primary)); stroke-width: 4; stroke-linecap: round; }
.cross-result-flag { fill: color-mix(in srgb, #8a6682 64%, var(--local-primary)); stroke: color-mix(in srgb, #4d3c4b 80%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; }
.cross-ju4400-plate { fill: color-mix(in srgb, #d7bd7a 72%, var(--paper-strong)); stroke: color-mix(in srgb, #5c4931 77%, var(--worm-deep)); stroke-width: 1.6; }
.cross-ju4400-text { fill: color-mix(in srgb, #304a44 80%, var(--worm-deep)); font: 900 10px/1 var(--sans); paint-order: stroke; stroke: color-mix(in srgb, var(--paper-strong) 70%, transparent); stroke-width: 1.2px; }
.trivandrum-accessory {
  --tri-ink: #263955;
  --tri-indigo: #4b4fa6;
  --tri-teal: #209f9a;
  --tri-aqua: #79d8d1;
  --tri-coral: #df6079;
  --tri-gold: #d7a63e;
  --tri-ivory: #fff6df;
  --tri-leaf: #32895f;
  --tri-berry: #9d4678;
  --tri-steel: #c8d8da;
  filter: drop-shadow(0 5px 4px rgba(31,48,71,.25));
}
.trivandrum-accessory-shadow { fill: rgba(27,42,61,.24); }
.loupe-handle,
.loupe-folding-arm { fill: none; stroke: var(--tri-gold); stroke-width: 17; stroke-linecap: round; }
.loupe-grip,
.loupe-folding-case { fill: var(--tri-indigo); stroke: var(--tri-ink); stroke-width: 3; stroke-linejoin: round; }
.loupe-neck,
.loupe-hinge { fill: var(--tri-coral); stroke: var(--tri-ink); stroke-width: 3; }
.loupe-rim { fill: var(--tri-gold); stroke: var(--tri-ink); stroke-width: 3; }
.loupe-glass { fill: rgba(151,231,225,.63); stroke: var(--tri-ivory); stroke-width: 3; }
.loupe-glint { fill: none; stroke: rgba(255,255,255,.92); stroke-width: 7; stroke-linecap: round; }
.loupe-worm { fill: none; stroke: var(--tri-berry); stroke-width: 7; stroke-linecap: round; }
.loupe-worm.second { stroke: var(--tri-indigo); stroke-width: 5; }

.watering-can-handle-under { fill: none; stroke: var(--tri-ink); stroke-width: 22; stroke-linecap: round; }
.watering-can-handle-under.primary { stroke-width: 27; }
.watering-can-handle { fill: none; stroke: var(--tri-indigo); stroke-width: 15; stroke-linecap: round; }
.watering-can-handle.primary { stroke-width: 19; }
.watering-can-handle-glint { fill:none; stroke:rgba(255,255,255,.62); stroke-width:3.5; stroke-linecap:round; }
.watering-can-handle-glint.primary { stroke-width:5; }
.watering-can-body,
.watering-can-spout,
.watering-can-rose { fill: var(--tri-teal); stroke: var(--tri-ink); stroke-width: 3; stroke-linejoin: round; }
.watering-can-body.slim { fill: var(--tri-aqua); }
.watering-can-top { fill: var(--tri-aqua); stroke: var(--tri-ink); stroke-width: 3; }
.watering-can-opening { fill: var(--tri-ink); stroke: var(--tri-gold); stroke-width: 3; }
.watering-can-hole { fill: var(--tri-ink); }
.watering-can-rose-rim,
.watering-can-spout-collar { fill:var(--tri-gold); stroke:var(--tri-ink); stroke-width:3; stroke-linejoin:round; }
.watering-can-spout-ridge,
.watering-can-opening-glint { fill:none; stroke:rgba(255,255,255,.7); stroke-width:3; stroke-linecap:round; }
.watering-can-spout-ridge.primary { stroke-width:4; }
.watering-can-top-rim { fill:none; stroke:rgba(255,246,223,.8); stroke-width:3; }
.watering-can-panel-seam { fill:none; stroke:rgba(31,48,71,.34); stroke-width:2; stroke-linecap:round; }
.watering-can-body-band { fill:none; stroke:var(--tri-indigo); stroke-width:3; stroke-linecap:round; opacity:.7; }
.watering-can-body-band.primary { stroke-width:4; }
.watering-can-rivet { fill:var(--tri-coral); stroke:var(--tri-ink); stroke-width:1.5; }
.watering-can-emboss { fill:none; stroke:rgba(255,246,223,.8); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.watering-can-emboss.primary { stroke-width:4; }
.watering-can-highlight,
.watering-can-base { fill: none; stroke: rgba(255,255,255,.82); stroke-width: 4; stroke-linecap: round; }
.watering-can-flower-mark { fill: var(--tri-coral); stroke: var(--tri-ink); stroke-width: 2; }
.watering-can-flower-centre { fill: var(--tri-gold); stroke: var(--tri-ink); stroke-width: 1.5; }

.sample-tube-cap { fill: var(--tri-coral); stroke: var(--tri-ink); stroke-width: 3; stroke-linejoin: round; }
.sample-tube-glass { fill: rgba(151,231,225,.5); stroke: var(--tri-teal); stroke-width: 3; stroke-linejoin: round; }
.sample-tube-glint { fill: none; stroke: rgba(255,255,255,.9); stroke-width: 6; stroke-linecap: round; }
.sample-leaf { fill: var(--tri-leaf); stroke: var(--tri-ink); stroke-width: 2; }
.sample-leaf.deep { fill: var(--tri-teal); }
.sample-petal { fill: var(--tri-coral); stroke: var(--tri-ink); stroke-width: 1.8; }
.sample-petal.small { fill: var(--tri-berry); }
.sample-tag-string { fill: none; stroke: var(--tri-gold); stroke-width: 3; stroke-linecap: round; }
.sample-tag { fill: var(--tri-ivory); stroke: var(--tri-indigo); stroke-width: 2.5; stroke-linejoin: round; }
.sample-tag-text { fill: var(--tri-ink); font: 900 11px/1 var(--sans); letter-spacing: .025em; paint-order: stroke; stroke: rgba(255,246,223,.9); stroke-width: 1.1px; }
.timekeeper-yoke-base,
.timekeeper-tripod,
.timekeeper-agar-drawer,
.timekeeper-culture-deck { fill: var(--tri-indigo); stroke: var(--tri-ink); stroke-width: 2.7; stroke-linejoin: round; }
.timekeeper-rotating-yoke { fill: none; stroke: var(--tri-gold); stroke-width: 8; }
.timekeeper-yoke-supports { fill: none; stroke: var(--tri-indigo); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.timekeeper-yoke-pivot,
.timekeeper-transfer-hinge,
.timekeeper-drawer-pull { fill: var(--tri-gold); stroke: var(--tri-ink); stroke-width: 2; }
.timekeeper-glass { fill: rgba(121,216,209,.48); stroke: var(--tri-teal); stroke-width: 2.5; }
.timekeeper-glass.chamber-lower { fill: rgba(121,216,209,.38); }
.timekeeper-tube-meniscus { fill: none; stroke: rgba(255,255,255,.88); stroke-width: 3; stroke-linecap: round; }
.timekeeper-stopper,
.timekeeper-chamber-divider { fill: var(--tri-coral); stroke: var(--tri-ink); stroke-width: 2.2; stroke-linejoin: round; }
.timekeeper-petal { fill: var(--tri-coral); stroke: var(--tri-ink); stroke-width: 1.2; }
.timekeeper-petal.deep { fill: var(--tri-berry); }
.timekeeper-leaf { fill: var(--tri-leaf); stroke: var(--tri-ink); stroke-width: 1.2; }
.timekeeper-leaf.deep { fill: var(--tri-teal); }
.timekeeper-leaf-vein { fill: none; stroke: var(--tri-ivory); stroke-width: 1; }
.timekeeper-ring-tick { fill: none; stroke: var(--tri-indigo); stroke-width: 2.2; stroke-linecap: round; }
.timekeeper-ring-tick.major { stroke: var(--tri-coral); stroke-width: 4; }
.timekeeper-date-tag,
.timekeeper-day-counter-frame { fill: var(--tri-ivory); stroke: var(--tri-indigo); stroke-width: 1.8; stroke-linejoin: round; }
.timekeeper-date-text,
.timekeeper-day-label { fill: var(--tri-ink); font: 900 9px/1 var(--sans); paint-order: stroke; stroke: rgba(255,246,223,.8); stroke-width: 1.1px; letter-spacing: .02em; }
.timekeeper-day-window { fill: var(--tri-teal); stroke: var(--tri-ink); stroke-width: 1.1; }
.timekeeper-day-window.deep { fill: var(--tri-coral); }
.timekeeper-upright-frame { fill: none; stroke: var(--tri-indigo); stroke-width: 5; }
.timekeeper-side-port-housing,
.timekeeper-culture-rim,
.timekeeper-drawer-front { fill: var(--tri-steel); stroke: var(--tri-ink); stroke-width: 1.8; stroke-linejoin: round; }
.timekeeper-side-port-valve { fill: var(--tri-gold); stroke: var(--tri-ink); stroke-width: 2; }
.timekeeper-side-port-spokes,
.timekeeper-deck-brace { fill: none; stroke: var(--tri-ink); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.timekeeper-transfer-chute { fill: var(--tri-teal); stroke: var(--tri-ink); stroke-width: 2; stroke-linejoin: round; }

.waterworks-lake-basin,
.waterworks-column-base { fill: var(--tri-indigo); stroke: var(--tri-ink); stroke-width: 2.8; stroke-linejoin: round; }
.waterworks-basin-water { fill: rgba(121,216,209,.72); stroke: var(--tri-teal); stroke-width: 2; }
.waterworks-basin-ripple { fill: none; stroke: rgba(255,255,255,.9); stroke-width: 2.3; stroke-linecap: round; }
.waterworks-pump-body,
.waterworks-pump-column { fill: var(--tri-teal); stroke: var(--tri-ink); stroke-width: 2.7; stroke-linejoin: round; }
.waterworks-pump-cap,
.waterworks-column-cap { fill: var(--tri-gold); stroke: var(--tri-ink); stroke-width: 2; stroke-linejoin: round; }
.waterworks-handwheel,
.waterworks-column-valve { fill: var(--tri-coral); stroke: var(--tri-ink); stroke-width: 3; }
.waterworks-wheel-hub { fill: var(--tri-gold); stroke: var(--tri-ink); stroke-width: 1.6; }
.waterworks-wheel-spoke,
.waterworks-valve-spokes,
.waterworks-feed-pipe,
.waterworks-s-pipe,
.waterworks-pipe-joints { fill: none; stroke: var(--tri-ink); stroke-linecap: round; stroke-linejoin: round; }
.waterworks-wheel-spoke,
.waterworks-valve-spokes { stroke-width: 2.2; }
.waterworks-feed-pipe,
.waterworks-s-pipe { stroke: var(--tri-gold); stroke-width: 8; }
.waterworks-pipe-joints { stroke-width: 3; }
.waterworks-terrace-bed { fill: var(--tri-leaf); stroke: var(--tri-ink); stroke-width: 1.7; stroke-linejoin: round; }
.waterworks-terrace-bed.deep { fill: var(--tri-indigo); }
.waterworks-terrace-channel { fill: none; stroke: var(--tri-aqua); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.waterworks-bed-leaf,
.waterworks-spray-leaf { fill: var(--tri-leaf); stroke: var(--tri-ink); stroke-width: 1.1; }
.waterworks-bed-leaf.deep,
.waterworks-spray-leaf.deep { fill: var(--tri-coral); }
.waterworks-basin-feet { fill: none; stroke: var(--tri-indigo); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.waterworks-stacked-cistern { fill: var(--tri-teal); stroke: var(--tri-ink); stroke-width: 2.2; stroke-linejoin: round; }
.waterworks-stacked-cistern.deep { fill: var(--tri-indigo); }
.waterworks-cistern-band,
.waterworks-sight-gauge,
.waterworks-gauge-tick { fill: none; stroke: var(--tri-ink); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.waterworks-sight-gauge { fill: rgba(255,255,255,.55); stroke: var(--tri-teal); stroke-width: 2.3; }
.waterworks-gauge-level { fill: var(--tri-aqua); }
.waterworks-sprinkler-head { fill: var(--tri-gold); stroke: var(--tri-ink); stroke-width: 1.8; }

.music-cabinet-body,
.bandstand-pavilion-base,
.music-triangular-base { fill: var(--tri-indigo); stroke: var(--tri-ink); stroke-width: 2.8; stroke-linejoin: round; }
.music-cabinet-canopy,
.bandstand-faceted-roof { fill: var(--tri-coral); stroke: var(--tri-ink); stroke-width: 2.7; stroke-linejoin: round; }
.music-canopy-ribs,
.bandstand-roof-facets,
.music-folding-hinges,
.music-roll-spindle,
.bandstand-cylinder-spindle,
.bandstand-winding-crank,
.bandstand-pavilion-feet { fill: none; stroke: var(--tri-gold); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.music-cabinet-arch { fill: var(--tri-ivory); stroke: var(--tri-ink); stroke-width: 2; }
.music-cabinet-arch.centre { fill: var(--tri-aqua); }
.music-vertical-roll,
.bandstand-pinned-cylinder { fill: var(--tri-ivory); stroke: var(--tri-ink); stroke-width: 2.2; }
.music-roll-hole,
.bandstand-cylinder-pin { fill: var(--tri-coral); }
.music-roll-hole.deep,
.bandstand-cylinder-pin.deep { fill: var(--tri-indigo); }
.music-hanging-reed { fill: var(--tri-gold); stroke: var(--tri-ink); stroke-width: 1.7; stroke-linejoin: round; }
.music-hanging-reed.deep { fill: var(--tri-coral); }
.music-reed-pin,
.bandstand-crank-handle { fill: var(--tri-gold); stroke: var(--tri-ink); stroke-width: 1.5; }
.music-base-resonator,
.bandstand-cylinder-frame { fill: var(--tri-teal); stroke: var(--tri-ink); stroke-width: 2; stroke-linejoin: round; }
.bandstand-column { fill: var(--tri-ivory); stroke: var(--tri-ink); stroke-width: 1.5; }
.bandstand-column.deep { fill: var(--tri-gold); }
.bandstand-resonator-slat { fill: none; stroke: var(--tri-coral); stroke-width: 6; stroke-linecap: round; }
.bandstand-resonator-slat.deep { stroke: var(--tri-gold); }
.praslin-accessory-shadow { fill: rgba(20,32,27,.26); }
.genome-loom-frame,
.genome-reel-base { fill: color-mix(in srgb, #8f7050 72%, var(--local-secondary)); stroke: color-mix(in srgb, #4b3d31 83%, var(--worm-deep)); stroke-width: 2.8; stroke-linejoin: round; }
.genome-loom-membrane { fill: color-mix(in srgb, #d4caa9 65%, var(--paper-strong)); stroke: color-mix(in srgb, #665340 75%, var(--worm-deep)); stroke-width: 2.2; stroke-linejoin: round; }
.genome-membrane-grid { fill: none; stroke: color-mix(in srgb, #7c7161 48%, var(--local-primary)); stroke-width: 1.1; opacity: .58; }
.genome-pore-ring,
.genome-single-pore { fill: color-mix(in srgb, #688978 66%, var(--local-primary)); stroke: color-mix(in srgb, #354f43 81%, var(--worm-deep)); stroke-width: 2.2; }
.genome-pore-ring.deep { fill: color-mix(in srgb, #795b72 64%, var(--local-primary)); }
.genome-pore-core { fill: color-mix(in srgb, #d4b467 70%, var(--local-secondary)); stroke: color-mix(in srgb, #624a2e 78%, var(--worm-deep)); stroke-width: 1.4; }
.genome-continuous-read,
.genome-spiral-strand { fill: none; stroke: color-mix(in srgb, #9f4771 70%, var(--local-primary)); stroke-width: 5.4; stroke-linecap: round; stroke-linejoin: round; }
.genome-scaffold-tab,
.genome-radial-drawer { fill: color-mix(in srgb, #6d8c78 64%, var(--local-primary)); stroke: color-mix(in srgb, #385043 79%, var(--worm-deep)); stroke-width: 1.8; stroke-linejoin: round; }
.genome-scaffold-tab.deep,
.genome-radial-drawer.deep { fill: color-mix(in srgb, #9a7451 69%, var(--local-secondary)); }
.genome-open-reel,
.genome-reel-stand,
.genome-counter-arm,
.genome-crank-shaft,
.genome-crank-spokes,
.genome-loom-feet,
.genome-reel-feet { fill: none; stroke: color-mix(in srgb, #5a4634 82%, var(--worm-deep)); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.genome-open-reel { stroke-width: 9; }
.genome-counter-arm,
.genome-crank-shaft,
.genome-crank-spokes { stroke-width: 3; }
.genome-crank-wheel,
.genome-drawer-pull { fill: color-mix(in srgb, #76546d 66%, var(--local-primary)); stroke: color-mix(in srgb, #493946 81%, var(--worm-deep)); stroke-width: 1.8; }
.genome-record-tag,
.genome-read-counter { fill: color-mix(in srgb, #d8c98f 70%, var(--paper-strong)); stroke: color-mix(in srgb, #66513a 78%, var(--worm-deep)); stroke-width: 1.8; stroke-linejoin: round; }
.genome-record-text,
.genome-small-text,
.growth-tag-text { fill: color-mix(in srgb, #294b42 84%, var(--worm-deep)); font: 900 9px/1 var(--sans); paint-order: stroke; stroke: color-mix(in srgb, var(--paper-strong) 72%, transparent); stroke-width: 1.1px; letter-spacing: .02em; }
.genome-small-text { font-size: 7px; }

.growth-frame-base,
.growth-census-base { fill: color-mix(in srgb, #896b4b 72%, var(--local-secondary)); stroke: color-mix(in srgb, #4a3c31 83%, var(--worm-deep)); stroke-width: 2.8; stroke-linejoin: round; }
.growth-measuring-frame,
.growth-caliper-rail,
.growth-sliding-caliper,
.growth-frame-feet,
.growth-census-feet { fill: none; stroke: color-mix(in srgb, #5a4634 82%, var(--worm-deep)); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.growth-caliper-rail,
.growth-sliding-caliper { stroke-width: 3; }
.growth-scale-ticks { fill: none; stroke: color-mix(in srgb, #9d7a48 74%, var(--local-secondary)); stroke-width: 2.1; stroke-linecap: round; }
.growth-model-root { fill: none; stroke: color-mix(in srgb, #5a7654 75%, var(--local-primary)); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.growth-model-root.deep { stroke: color-mix(in srgb, #806949 72%, var(--local-secondary)); }
.growth-model-leaf { fill: color-mix(in srgb, #6c9070 67%, var(--local-primary)); stroke: color-mix(in srgb, #385143 80%, var(--worm-deep)); stroke-width: 1.5; }
.growth-model-leaf.deep { fill: color-mix(in srgb, #a48a54 66%, var(--local-secondary)); }
.growth-stage-marker,
.growth-stage-counter { fill: color-mix(in srgb, #bb9857 73%, var(--local-secondary)); stroke: color-mix(in srgb, #59442e 81%, var(--worm-deep)); stroke-width: 1.4; }
.growth-stage-counter.deep { fill: color-mix(in srgb, #6e846d 66%, var(--local-primary)); }
.growth-marked-tree-tag,
.growth-data-roll,
.growth-mapping-drawer { fill: color-mix(in srgb, #d5c893 69%, var(--paper-strong)); stroke: color-mix(in srgb, #65523d 78%, var(--worm-deep)); stroke-width: 1.8; stroke-linejoin: round; }
.growth-data-roll-arm,
.growth-data-lines,
.growth-map-lines { fill: none; stroke: color-mix(in srgb, #61513e 79%, var(--worm-deep)); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.growth-data-roll-arm { stroke-width: 3.5; }
.growth-census-panel { fill: color-mix(in srgb, #d1c6a5 68%, var(--paper-strong)); stroke: color-mix(in srgb, #695741 76%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; }
.growth-census-panel.deep { fill: color-mix(in srgb, #a9bea6 57%, var(--local-primary)); }
.growth-fold-hinge,
.growth-interval-rail { fill: none; stroke: color-mix(in srgb, #5c4a38 80%, var(--worm-deep)); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.growth-interval-node,
.growth-drawer-pull { fill: color-mix(in srgb, #76546c 66%, var(--local-primary)); stroke: color-mix(in srgb, #493846 81%, var(--worm-deep)); stroke-width: 1.4; }
.growth-interval-node.deep { fill: color-mix(in srgb, #b18c4f 73%, var(--local-secondary)); }

.listener-canopy-base,
.listener-tripod-hub,
.listener-wave-carriage { fill: color-mix(in srgb, #896b4b 72%, var(--local-secondary)); stroke: color-mix(in srgb, #4a3c31 83%, var(--worm-deep)); stroke-width: 2.8; stroke-linejoin: round; }
.listener-petal-bowl { fill: color-mix(in srgb, #795773 68%, var(--local-primary)); stroke: color-mix(in srgb, #493a47 83%, var(--worm-deep)); stroke-width: 2.8; stroke-linejoin: round; }
.listener-bowl-inner { fill: color-mix(in srgb, #b28d57 70%, var(--local-secondary)); stroke: color-mix(in srgb, #5e482f 78%, var(--worm-deep)); stroke-width: 2; }
.listener-bowl-petal-lines,
.listener-bowl-neck { fill: none; stroke: color-mix(in srgb, #4e3d43 79%, var(--worm-deep)); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.listener-crooked-tripod,
.listener-tripod-brace,
.listener-carriage-feet,
.listener-crescent-arch,
.listener-arch-inlay,
.listener-canopy-feet { fill: none; stroke: color-mix(in srgb, #594532 82%, var(--worm-deep)); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.listener-tripod-brace,
.listener-arch-inlay { stroke-width: 3; }
.listener-crescent-arch { stroke: color-mix(in srgb, #7d5d72 69%, var(--local-primary)); stroke-width: 14; }
.listener-direction-vane,
.listener-resonator-cord,
.listener-spectrogram-arm { fill: none; stroke: color-mix(in srgb, #9b7949 75%, var(--local-secondary)); stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.listener-vane-fin,
.listener-hanging-resonator { fill: color-mix(in srgb, #738a72 66%, var(--local-primary)); stroke: color-mix(in srgb, #3d5141 80%, var(--worm-deep)); stroke-width: 1.8; stroke-linejoin: round; }
.listener-vane-fin.deep,
.listener-hanging-resonator.deep { fill: color-mix(in srgb, #a78653 69%, var(--local-secondary)); }
.listener-resonator-ripple,
.listener-waveform,
.listener-spectrogram-lines { fill: none; stroke: color-mix(in srgb, #7c4969 72%, var(--local-primary)); stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.listener-spectrogram-roll { fill: color-mix(in srgb, #d5c894 69%, var(--paper-strong)); stroke: color-mix(in srgb, #65523d 78%, var(--worm-deep)); stroke-width: 1.8; stroke-linejoin: round; }
.sao-accessory-shadow { fill: rgba(24,34,29,.22); }
.fruit-track-base,
.fruit-tower-base,
.sound-arc-base,
.sound-mast-base,
.begonia-drum-base,
.begonia-strip-base { fill: color-mix(in srgb, #896846 73%, var(--local-secondary)); stroke: color-mix(in srgb, #493b31 83%, var(--worm-deep)); stroke-width: 2.8; stroke-linejoin: round; }
.fruit-track-frame,
.fruit-tower-frame,
.fruit-track-feet,
.fruit-tower-feet,
.sound-listening-arc,
.sound-arc-feet,
.sound-single-mast,
.sound-mast-feet,
.begonia-drum-support,
.begonia-drum-feet,
.begonia-petiole-frame,
.begonia-strip-feet { fill: none; stroke: color-mix(in srgb, #594430 82%, var(--worm-deep)); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.fruit-track-frame,
.fruit-tower-frame { stroke: color-mix(in srgb, #8e6a3e 74%, var(--local-secondary)); }
.fruit-glass-beam { fill: color-mix(in srgb, #cde0d7 53%, var(--paper-strong)); stroke: color-mix(in srgb, #675641 75%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; opacity: .86; }
.fruit-carriage-rail,
.fruit-suspension-cord,
.fruit-counter-cord,
.fruit-vial-bracket,
.fruit-date-axle,
.fruit-tower-helix { fill: none; stroke: color-mix(in srgb, #9b7949 74%, var(--local-secondary)); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.fruit-carriage-rail { stroke-width: 4; }
.fruit-suspension-carriage,
.fruit-counterweight,
.fruit-counter-pulley,
.fruit-counter-anchor,
.fruit-trapdoor-pivot,
.fruit-drawer-pull { fill: color-mix(in srgb, #a87d45 72%, var(--local-secondary)); stroke: color-mix(in srgb, #55402d 81%, var(--worm-deep)); stroke-width: 1.7; stroke-linejoin: round; }
.fruit-anonymous-rind { fill: color-mix(in srgb, #866543 75%, var(--local-secondary)); stroke: color-mix(in srgb, #493b31 82%, var(--worm-deep)); stroke-width: 2.1; stroke-linejoin: round; }
.fruit-anonymous-pulp { fill: color-mix(in srgb, #b28d59 71%, var(--local-secondary)); stroke: color-mix(in srgb, #695139 76%, var(--worm-deep)); stroke-width: 1.3; }
.fruit-rind-tear { fill: color-mix(in srgb, #6d4c37 79%, var(--local-primary)); stroke: color-mix(in srgb, #49372d 82%, var(--worm-deep)); stroke-width: 1.5; stroke-linejoin: round; }
.fruit-decay-mottle { fill: color-mix(in srgb, #684332 81%, var(--worm-deep)); }
.fruit-decay-mottle.deep { fill: color-mix(in srgb, #29372f 88%, var(--local-primary)); }
.fruit-catch-bed,
.fruit-litter-drawer { fill: color-mix(in srgb, #5f513c 69%, var(--local-primary)); stroke: color-mix(in srgb, #453b31 81%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; }
.fruit-catch-leaf { fill: color-mix(in srgb, #8d6845 67%, var(--local-secondary)); stroke: color-mix(in srgb, #4c3e31 78%, var(--worm-deep)); stroke-width: 1.1; }
.fruit-catch-leaf.deep { fill: color-mix(in srgb, #465d42 79%, var(--local-primary)); }
.fruit-date-wheel { fill: color-mix(in srgb, #74576d 67%, var(--local-primary)); stroke: color-mix(in srgb, #4b3747 82%, var(--worm-deep)); stroke-width: 2.2; }
.fruit-date-spokes { fill: none; stroke: color-mix(in srgb, #d2b36f 68%, var(--paper-strong)); stroke-width: 1.5; opacity: .78; }
.fruit-record-plate,
.fruit-isofemale-vial,
.fruit-tower-top-cup { fill: color-mix(in srgb, #d2c59d 68%, var(--paper-strong)); stroke: color-mix(in srgb, #65513c 79%, var(--worm-deep)); stroke-width: 1.7; stroke-linejoin: round; }
.fruit-vial-cap { fill: color-mix(in srgb, #76516c 69%, var(--local-primary)); stroke: color-mix(in srgb, #4a3545 82%, var(--worm-deep)); stroke-width: 1.5; }
.fruit-record-text,
.fruit-small-text { fill: color-mix(in srgb, #2f463d 86%, var(--worm-deep)); font: 900 9px/1 var(--sans); paint-order: stroke; stroke: color-mix(in srgb, var(--paper-strong) 73%, transparent); stroke-width: 1px; letter-spacing: .025em; }
.fruit-small-text.vertical { font-size: 8px; }
.fruit-trapdoor { fill: color-mix(in srgb, #7c5b70 67%, var(--local-primary)); stroke: color-mix(in srgb, #493845 82%, var(--worm-deep)); stroke-width: 1.6; stroke-linejoin: round; }
.fruit-trapdoor.deep { fill: color-mix(in srgb, #a4804b 70%, var(--local-secondary)); }
.fruit-drawer-litter { fill: none; stroke: color-mix(in srgb, #aa824f 69%, var(--local-secondary)); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.sound-listening-arc { stroke: color-mix(in srgb, #73566e 70%, var(--local-primary)); stroke-width: 12; }
.sound-arc-inlay,
.sound-funnel-supports,
.sound-horn-ribs,
.sound-cylinder-frame,
.sound-cylinder-bracket,
.sound-observer-rail,
.sound-pendulum-bracket,
.sound-pendulum-cord { fill: none; stroke: color-mix(in srgb, #9b7848 74%, var(--local-secondary)); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.sound-funnel-supports { stroke-width: 4.5; }
.sound-acoustic-funnel,
.sound-single-horn { fill: color-mix(in srgb, #775870 69%, var(--local-primary)); stroke: color-mix(in srgb, #493846 83%, var(--worm-deep)); stroke-width: 2.3; stroke-linejoin: round; }
.sound-acoustic-funnel.deep { fill: color-mix(in srgb, #a17f4b 70%, var(--local-secondary)); }
.sound-funnel-throat,
.sound-funnel-ripple { fill: none; stroke: color-mix(in srgb, #57413e 78%, var(--worm-deep)); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.sound-funnel-throat { stroke-width: 4; }
.sound-wave-drum,
.sound-cylinder-frame { fill: color-mix(in srgb, #d1c6a7 68%, var(--paper-strong)); stroke: color-mix(in srgb, #67543f 78%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; }
.sound-woven-wave,
.sound-spiral-cylinder { fill: none; stroke: color-mix(in srgb, #7b4d6f 72%, var(--local-primary)); stroke-width: 2.7; stroke-linecap: round; stroke-linejoin: round; }
.sound-ten-minute-dial { fill: color-mix(in srgb, #b18b4f 72%, var(--local-secondary)); stroke: color-mix(in srgb, #59442f 82%, var(--worm-deep)); stroke-width: 2; }
.sound-dial-hand { fill: none; stroke: color-mix(in srgb, #493846 82%, var(--worm-deep)); stroke-width: 2.3; stroke-linecap: round; }
.sound-small-text,
.sound-radius-text { fill: color-mix(in srgb, #30463d 86%, var(--worm-deep)); font: 900 10px/1 var(--sans); paint-order: stroke; stroke: color-mix(in srgb, var(--paper-strong) 73%, transparent); stroke-width: 1px; }
.sound-radius-text { font-size: 9px; letter-spacing: .04em; }
.sound-observer-slider { fill: color-mix(in srgb, #6b8b6c 66%, var(--local-primary)); stroke: color-mix(in srgb, #3e5141 81%, var(--worm-deep)); stroke-width: 1.4; }
.sound-observer-slider.deep { fill: color-mix(in srgb, #9f7b49 72%, var(--local-secondary)); }
.sound-observer-knob { fill: color-mix(in srgb, #76516d 71%, var(--local-primary)); stroke: color-mix(in srgb, #4a3545 82%, var(--worm-deep)); stroke-width: 1.4; }
.sound-pendulum-weight { fill: color-mix(in srgb, #7a586e 68%, var(--local-primary)); stroke: color-mix(in srgb, #493845 82%, var(--worm-deep)); stroke-width: 1.8; }
.begonia-leaf-drum { fill: color-mix(in srgb, #6d875f 66%, var(--local-primary)); stroke: color-mix(in srgb, #3e503f 82%, var(--worm-deep)); stroke-width: 2.8; stroke-linejoin: round; }
.begonia-leaf-midvein,
.begonia-leaf-veins,
.begonia-lineage-ribbon,
.begonia-flip-spine { fill: none; stroke: color-mix(in srgb, #a15372 68%, var(--local-primary)); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.begonia-leaf-midvein { stroke-width: 4; }
.begonia-lineage-ring { fill: color-mix(in srgb, #d4c89f 24%, transparent); stroke: color-mix(in srgb, #d0ac63 73%, var(--local-secondary)); stroke-width: 3; }
.begonia-lineage-ring.middle { stroke: color-mix(in srgb, #7b4e70 74%, var(--local-primary)); }
.begonia-lineage-ring.inner { stroke: color-mix(in srgb, #45684d 73%, var(--local-primary)); }
.begonia-shutter,
.begonia-flip-panel { fill: color-mix(in srgb, #d0c39a 69%, var(--paper-strong)); stroke: color-mix(in srgb, #65523d 78%, var(--worm-deep)); stroke-width: 1.7; stroke-linejoin: round; }
.begonia-shutter.deep,
.begonia-flip-panel.deep { fill: color-mix(in srgb, #adbca2 58%, var(--local-primary)); }
.begonia-shutter-slit { fill: none; stroke: color-mix(in srgb, #78526f 70%, var(--local-primary)); stroke-width: 2; stroke-linecap: round; }
.begonia-viewing-aperture { fill: color-mix(in srgb, #a5824d 71%, var(--local-secondary)); stroke: color-mix(in srgb, #57432e 81%, var(--worm-deep)); stroke-width: 2; }
.begonia-aperture-inner { fill: color-mix(in srgb, #334d42 81%, var(--worm-deep)); stroke: color-mix(in srgb, #d3c598 64%, var(--paper-strong)); stroke-width: 1.4; }
.begonia-crank-shaft,
.begonia-crank-spokes { fill: none; stroke: color-mix(in srgb, #9b7847 75%, var(--local-secondary)); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.begonia-crank-wheel,
.begonia-panel-hinge { fill: color-mix(in srgb, #79566f 69%, var(--local-primary)); stroke: color-mix(in srgb, #4a3745 82%, var(--worm-deep)); stroke-width: 1.7; }
.pohnpei-machine-base { fill: color-mix(in srgb, #866b48 72%, var(--local-secondary)); stroke: color-mix(in srgb, #493d31 83%, var(--worm-deep)); stroke-width: 2.8; stroke-linejoin: round; }
.pohnpei-machine-feet,
.concordance-tower-frame,
.concordance-cabinet-frame,
.temperature-column-frame,
.temperature-bridge-frame,
.registry-spine,
.registry-rail-frame { fill: none; stroke: color-mix(in srgb, #624e38 79%, var(--worm-deep)); stroke-width: 5.5; stroke-linecap: round; stroke-linejoin: round; }
.pohnpei-machine-text { fill: color-mix(in srgb, #2f463d 87%, var(--worm-deep)); font: 900 20px/1 var(--sans); paint-order: stroke; stroke: color-mix(in srgb, var(--paper-strong) 76%, transparent); stroke-width: 1.15px; letter-spacing: 0; }
.pohnpei-machine-text.tiny { font-size: 15px; }
.pohnpei-machine-text.micro { font-size: 11px; }
.pohnpei-machine-mobile-key { display: none; }
.pohnpei-culture-vial { fill: color-mix(in srgb, #d2c9a8 68%, var(--paper-strong)); stroke: color-mix(in srgb, #665440 79%, var(--worm-deep)); stroke-width: 1.7; }
.pohnpei-vial-cap { fill: color-mix(in srgb, #78546f 70%, var(--local-primary)); stroke: color-mix(in srgb, #493746 82%, var(--worm-deep)); stroke-width: 1.5; }
.concordance-window,
.concordance-shutter,
.concordance-spelling-carriage,
.concordance-flipplate,
.concordance-kotop-tab { fill: color-mix(in srgb, #d2c7a3 68%, var(--paper-strong)); stroke: color-mix(in srgb, #64523d 79%, var(--worm-deep)); stroke-width: 1.8; stroke-linejoin: round; }
.concordance-window.deep,
.concordance-shutter.deep { fill: color-mix(in srgb, #aebba1 58%, var(--local-primary)); }
.concordance-spelling-rail,
.concordance-drive-shaft,
.concordance-crank-spokes,
.concordance-return-chain,
.concordance-vial-bracket,
.concordance-vial-dock,
.concordance-drawer-seam { fill: none; stroke: color-mix(in srgb, #9b7948 74%, var(--local-secondary)); stroke-width: 3.1; stroke-linecap: round; stroke-linejoin: round; }
.concordance-spelling-rail { stroke-width: 4; }
.concordance-fruit-cradle,
.concordance-specimen-drawer { fill: color-mix(in srgb, #5b5541 68%, var(--local-primary)); stroke: color-mix(in srgb, #413b31 81%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; }
.concordance-fruit-sample { fill: color-mix(in srgb, #765268 68%, var(--local-primary)); stroke: color-mix(in srgb, #493743 82%, var(--worm-deep)); stroke-width: 1.8; stroke-linejoin: round; }
.concordance-index-wheel { fill: color-mix(in srgb, #76556d 68%, var(--local-primary)); stroke: color-mix(in srgb, #493946 82%, var(--worm-deep)); stroke-width: 2.2; }
.concordance-index-hub,
.concordance-return-gear,
.concordance-crank-wheel,
.concordance-drawer-pull { fill: color-mix(in srgb, #ad884f 72%, var(--local-secondary)); stroke: color-mix(in srgb, #58442f 82%, var(--worm-deep)); stroke-width: 1.7; }
.concordance-return-gear.large { stroke-width: 2.1; }
.concordance-leaf-shutter { fill: color-mix(in srgb, #66805c 67%, var(--local-primary)); stroke: color-mix(in srgb, #3d503e 81%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; }
.concordance-leaf-rib { fill: none; stroke: color-mix(in srgb, #a05272 65%, var(--local-primary)); stroke-width: 2.2; stroke-linecap: round; }
.concordance-viewing-aperture { fill: color-mix(in srgb, #ad884f 72%, var(--local-secondary)); stroke: color-mix(in srgb, #58442f 82%, var(--worm-deep)); stroke-width: 1.8; }
.concordance-aperture-inner { fill: color-mix(in srgb, #334c42 84%, var(--worm-deep)); stroke: color-mix(in srgb, #d2c69f 64%, var(--paper-strong)); stroke-width: 1.3; }
.temperature-contact-chamber,
.temperature-calibration-drawer { fill: color-mix(in srgb, #6d573f 67%, var(--local-secondary)); stroke: color-mix(in srgb, #443a30 82%, var(--worm-deep)); stroke-width: 2.1; stroke-linejoin: round; }
.temperature-contact-pad { fill: color-mix(in srgb, #765469 68%, var(--local-primary)); stroke: color-mix(in srgb, #493743 81%, var(--worm-deep)); stroke-width: 1.6; }
.temperature-air-bulb { fill: color-mix(in srgb, #c8d8cd 62%, var(--paper-strong)); stroke: color-mix(in srgb, #4a6559 78%, var(--worm-deep)); stroke-width: 2.3; }
.temperature-contact-bulb { fill: color-mix(in srgb, #9b7747 70%, var(--local-secondary)); stroke: color-mix(in srgb, #58442f 82%, var(--worm-deep)); stroke-width: 2.2; }
.temperature-air-stand,
.temperature-closed-capillary,
.temperature-rack,
.temperature-gear-spokes,
.temperature-opposed-pointers,
.temperature-crank-shaft,
.temperature-crank-spokes,
.temperature-vial-dock { fill: none; stroke: color-mix(in srgb, #79566f 72%, var(--local-primary)); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.temperature-closed-capillary { stroke: color-mix(in srgb, #ad8a50 72%, var(--local-secondary)); stroke-width: 3.5; }
.temperature-rack { stroke-width: 3.3; }
.temperature-differential-gear,
.temperature-crank-wheel,
.temperature-drawer-pull { fill: color-mix(in srgb, #aa844d 72%, var(--local-secondary)); stroke: color-mix(in srgb, #57432f 82%, var(--worm-deep)); stroke-width: 1.9; }
.temperature-value-shutter,
.temperature-result-window { fill: color-mix(in srgb, #d1c7a7 68%, var(--paper-strong)); stroke: color-mix(in srgb, #65523e 79%, var(--worm-deep)); stroke-width: 1.7; stroke-linejoin: round; }
.temperature-value-shutter.deep { fill: color-mix(in srgb, #aec0ad 58%, var(--local-primary)); }
.registry-main-rail,
.registry-return-chain,
.registry-drive-link,
.registry-winding-shaft,
.registry-winding-spokes,
.registry-drum-axle,
.registry-drum-ribs { fill: none; stroke: color-mix(in srgb, #9a7848 73%, var(--local-secondary)); stroke-width: 3.1; stroke-linecap: round; stroke-linejoin: round; }
.registry-main-rail { stroke-width: 4.2; }
.registry-gate,
.registry-helical-drawer,
.registry-coordinate-plate,
.registry-coordinate-drum { fill: color-mix(in srgb, #d0c5a1 68%, var(--paper-strong)); stroke: color-mix(in srgb, #64513d 79%, var(--worm-deep)); stroke-width: 1.7; stroke-linejoin: round; }
.registry-gate.deep,
.registry-helical-drawer.deep { fill: color-mix(in srgb, #aebca4 58%, var(--local-primary)); }
.registry-gate.focus,
.registry-helical-drawer.focus { fill: color-mix(in srgb, #7a566f 68%, var(--local-primary)); stroke: color-mix(in srgb, #4a3746 83%, var(--worm-deep)); stroke-width: 2.1; }
.registry-vial-socket,
.registry-qg-tab,
.registry-geneva-wheel,
.registry-geneva-hub,
.registry-return-wheel,
.registry-winding-wheel { fill: color-mix(in srgb, #ad874e 72%, var(--local-secondary)); stroke: color-mix(in srgb, #57432f 82%, var(--worm-deep)); stroke-width: 1.7; }
.registry-geneva-slot { fill: color-mix(in srgb, #455d4f 78%, var(--local-primary)); stroke: color-mix(in srgb, #304239 84%, var(--worm-deep)); stroke-width: 1; }
.registry-f-view-frame { fill: none; stroke: color-mix(in srgb, #79566f 72%, var(--local-primary)); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.registry-viewing-lens { fill: color-mix(in srgb, #ac884f 72%, var(--local-secondary)); stroke: color-mix(in srgb, #57432f 82%, var(--worm-deep)); stroke-width: 1.8; }
.registry-viewing-lens-inner { fill: color-mix(in srgb, #334d42 84%, var(--worm-deep)); stroke: color-mix(in srgb, #d2c69f 64%, var(--paper-strong)); stroke-width: 1.3; }
@media (max-width: 600px) {
  .pohnpei-accessory .pohnpei-machine-text:not(.pohnpei-machine-mobile-key) { display: none; }
  .pohnpei-accessory .pohnpei-machine-mobile-key {
    display: inline;
    font-size: 44px;
    letter-spacing: -.045em;
    stroke-width: 2px;
  }
}
.pohnpei-prop-shadow { fill: rgba(25, 39, 34, .24); }
.kotop-parasol-canopy {
  fill: color-mix(in srgb, #bf536d 76%, var(--local-primary));
  stroke: color-mix(in srgb, #56364d 84%, var(--worm-deep));
  stroke-width: 4.6;
  stroke-linejoin: round;
}
.kotop-parasol-canopy.companion { stroke-width: 4.2; }
.kotop-parasol-panel { stroke: none; }
.kotop-parasol-panel.berry { fill: color-mix(in srgb, #b84b6c 82%, var(--local-primary)); }
.kotop-parasol-panel.gold { fill: color-mix(in srgb, #e0b55f 82%, var(--local-secondary)); }
.kotop-parasol-panel.cream { fill: color-mix(in srgb, #fff1c2 87%, var(--paper-strong)); }
.kotop-parasol-ribs,
.kotop-parasol-edge,
.kotop-parasol-stem,
.kotop-parasol-handle,
.kotop-parasol-finial {
  fill: none;
  stroke: color-mix(in srgb, #725237 83%, var(--worm-deep));
  stroke-width: 4.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.kotop-parasol-ribs { stroke: color-mix(in srgb, #fff1c9 64%, var(--local-secondary)); stroke-width: 3; }
.kotop-parasol-edge { stroke: color-mix(in srgb, #5a354a 84%, var(--worm-deep)); stroke-width: 4.8; }
.kotop-parasol-cap,
.kotop-parasol-grip {
  fill: color-mix(in srgb, #6fb3ad 74%, var(--local-primary));
  stroke: color-mix(in srgb, #355d5a 83%, var(--worm-deep));
  stroke-width: 3.2;
  stroke-linejoin: round;
}
.pepper-board-deck {
  fill: color-mix(in srgb, #bf5b70 74%, var(--local-primary));
  stroke: color-mix(in srgb, #52384b 85%, var(--worm-deep));
  stroke-width: 5;
  stroke-linejoin: round;
}
.pepper-board-deck.companion { fill: color-mix(in srgb, #dfad57 75%, var(--local-secondary)); stroke-width: 4.5; }
.pepper-board-edge,
.pepper-board-grip,
.pepper-board-vine,
.pepper-board-harness,
.pepper-board-calyx {
  fill: none;
  stroke: color-mix(in srgb, #f5d98f 72%, var(--paper-strong));
  stroke-width: 3.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pepper-board-edge { stroke: color-mix(in srgb, #594039 83%, var(--worm-deep)); stroke-width: 5; }
.pepper-board-grip { stroke: color-mix(in srgb, #6ab2aa 74%, var(--local-primary)); stroke-dasharray: 8 8; }
.pepper-board-vine { stroke: color-mix(in srgb, #6f9b73 73%, var(--local-primary)); stroke-width: 5; }
.pepper-board-harness { stroke: color-mix(in srgb, #f0cf78 76%, var(--local-secondary)); stroke-width: 6; }
.pepper-board-truck {
  fill: none;
  stroke: color-mix(in srgb, #7599a0 70%, var(--worm-deep));
  stroke-width: 7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pepper-board-baseplate {
  fill: color-mix(in srgb, #86aab0 68%, var(--paper-strong));
  stroke: color-mix(in srgb, #4d6570 82%, var(--worm-deep));
  stroke-width: 2.8;
  stroke-linejoin: round;
}
.pepper-board-wheel {
  fill: color-mix(in srgb, #463a4d 86%, var(--worm-deep));
  stroke: color-mix(in srgb, #f0c66f 75%, var(--local-secondary));
  stroke-width: 4;
}
.pepper-board-wheel.pale { fill: color-mix(in srgb, #f1dfb6 79%, var(--paper-strong)); }
.pepper-board-bearing {
  fill: color-mix(in srgb, #6ab6b2 76%, var(--local-primary));
  stroke: color-mix(in srgb, #345b5a 82%, var(--worm-deep));
  stroke-width: 2.5;
}
.pepper-board-calyx { stroke: color-mix(in srgb, #7ba06f 72%, var(--local-primary)); stroke-width: 3.2; }
.pepper-board-vine-berry {
  fill: color-mix(in srgb, #443849 87%, var(--worm-deep));
  stroke: color-mix(in srgb, #e2b961 74%, var(--local-secondary));
  stroke-width: 2.4;
}
.pepper-board-vine-berry.pale { fill: color-mix(in srgb, #efddb4 82%, var(--paper-strong)); }
.rain-leaf-sled-shell {
  fill: color-mix(in srgb, #7766a7 76%, var(--local-primary));
  stroke: color-mix(in srgb, #463c65 86%, var(--worm-deep));
  stroke-width: 5;
  stroke-linejoin: round;
}
.rain-leaf-sled-shell.companion { fill: color-mix(in srgb, #5ca9a7 72%, var(--local-primary)); stroke-width: 4.5; }
.rain-leaf-sled-fold {
  fill: color-mix(in srgb, #d6a759 72%, var(--local-secondary));
  stroke: color-mix(in srgb, #674a39 82%, var(--worm-deep));
  stroke-width: 3;
  stroke-linejoin: round;
}
.rain-leaf-sled-midrib,
.rain-leaf-sled-ribs,
.rain-leaf-sled-runner,
.rain-leaf-sled-handle,
.rain-leaf-sled-splash {
  fill: none;
  stroke: color-mix(in srgb, #f5d783 73%, var(--local-secondary));
  stroke-width: 4.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.rain-leaf-sled-midrib { stroke-width: 7; }
.rain-leaf-sled-ribs { stroke: color-mix(in srgb, #f6e4b2 70%, var(--paper-strong)); stroke-width: 3; }
.rain-leaf-sled-runner { stroke: color-mix(in srgb, #e0b457 80%, var(--local-secondary)); stroke-width: 7; }
.rain-leaf-sled-handle { stroke: color-mix(in srgb, #c55570 75%, var(--local-primary)); stroke-width: 7; }
.rain-leaf-sled-splash { stroke: color-mix(in srgb, #99d9d6 78%, var(--paper-strong)); stroke-width: 5; }
.queensland-play-shadow { fill: rgba(25, 31, 27, .25); }
.pod-drum-body {
  fill: color-mix(in srgb, #8a543d 76%, var(--local-secondary));
  stroke: color-mix(in srgb, #493a32 88%, var(--worm-deep));
  stroke-width: 5;
  stroke-linejoin: round;
}
.pod-drum-body.companion { fill: color-mix(in srgb, #99613e 72%, var(--local-secondary)); stroke-width: 4.5; }
.pod-drum-seam {
  fill: none;
  stroke: color-mix(in srgb, #e2bc72 68%, var(--local-secondary));
  stroke-width: 4;
  stroke-linecap: round;
}
.pod-drum-rim,
.pod-drum-lacing,
.pod-drum-harness,
.pod-drum-stand,
.pod-drum-mallet {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pod-drum-rim { stroke: color-mix(in srgb, #f0d48e 76%, var(--paper-strong)); stroke-width: 8; }
.pod-drum-lacing { stroke: color-mix(in srgb, #5ba6a0 76%, var(--local-primary)); stroke-width: 4; }
.pod-drum-harness { stroke: color-mix(in srgb, #b74f68 74%, var(--local-primary)); stroke-width: 7; }
.pod-drum-stand { stroke: color-mix(in srgb, #d5ac5c 78%, var(--local-secondary)); stroke-width: 7; }
.pod-drum-mallet { stroke: color-mix(in srgb, #694d39 84%, var(--worm-deep)); stroke-width: 7; }
.pod-drum-mallet-head {
  fill: color-mix(in srgb, #d5a558 78%, var(--local-secondary));
  stroke: color-mix(in srgb, #593d34 84%, var(--worm-deep));
  stroke-width: 3.5;
}
.pod-drum-mallet-head.alt { fill: color-mix(in srgb, #6ab2aa 76%, var(--local-primary)); }
.pod-drum-hardware {
  fill: color-mix(in srgb, #f0d88e 78%, var(--paper-strong));
  stroke: color-mix(in srgb, #56443a 82%, var(--worm-deep));
  stroke-width: 3;
}
.megaphone-body {
  fill: color-mix(in srgb, #bd526c 76%, var(--local-primary));
  stroke: color-mix(in srgb, #533847 88%, var(--worm-deep));
  stroke-width: 5;
  stroke-linejoin: round;
}
.megaphone-body.companion { fill: color-mix(in srgb, #d6a657 72%, var(--local-secondary)); stroke-width: 4.5; }
.megaphone-bell {
  fill: color-mix(in srgb, #f2d98f 82%, var(--paper-strong));
  stroke: color-mix(in srgb, #553b49 86%, var(--worm-deep));
  stroke-width: 5;
}
.megaphone-bell-inner {
  fill: color-mix(in srgb, #244f56 84%, var(--worm-deep));
  stroke: color-mix(in srgb, #f7e4ae 75%, var(--paper-strong));
  stroke-width: 3;
}
.megaphone-mouthpiece,
.megaphone-grip {
  fill: color-mix(in srgb, #68527e 78%, var(--local-primary));
  stroke: color-mix(in srgb, #49394e 86%, var(--worm-deep));
  stroke-width: 4;
  stroke-linejoin: round;
}
.megaphone-rib,
.megaphone-handle,
.megaphone-trigger,
.megaphone-strap,
.megaphone-sound {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.megaphone-rib { stroke: color-mix(in srgb, #f0d07f 76%, var(--local-secondary)); stroke-width: 4; }
.megaphone-handle { stroke: color-mix(in srgb, #594350 84%, var(--worm-deep)); stroke-width: 10; }
.megaphone-trigger { stroke: color-mix(in srgb, #f4d889 76%, var(--local-secondary)); stroke-width: 5; }
.megaphone-strap { stroke: color-mix(in srgb, #6eb4ad 76%, var(--local-primary)); stroke-width: 6; }
.megaphone-sound { stroke: color-mix(in srgb, #f2cc72 80%, var(--local-secondary)); stroke-width: 6; }
.kaleidoscope-body {
  fill: color-mix(in srgb, #c08b48 74%, var(--local-secondary));
  stroke: color-mix(in srgb, #4d3c3a 88%, var(--worm-deep));
  stroke-width: 5;
  stroke-linejoin: round;
}
.kaleidoscope-body.companion { fill: color-mix(in srgb, #5ba8a3 73%, var(--local-primary)); stroke-width: 4.5; }
.kaleidoscope-side-panel {
  fill: color-mix(in srgb, #b34f69 72%, var(--local-primary));
  stroke: color-mix(in srgb, #57404c 84%, var(--worm-deep));
  stroke-width: 3.5;
  stroke-linejoin: round;
}
.kaleidoscope-eye-cup,
.kaleidoscope-collar,
.kaleidoscope-grip {
  fill: color-mix(in srgb, #6a527e 78%, var(--local-primary));
  stroke: color-mix(in srgb, #46384d 87%, var(--worm-deep));
  stroke-width: 4;
  stroke-linejoin: round;
}
.kaleidoscope-collar { fill: color-mix(in srgb, #edcf79 78%, var(--local-secondary)); }
.kaleidoscope-collar.narrow { fill: color-mix(in srgb, #71b3ab 75%, var(--local-primary)); }
.kaleidoscope-lens-frame {
  fill: color-mix(in srgb, #f3dc98 80%, var(--paper-strong));
  stroke: color-mix(in srgb, #4f3e4c 88%, var(--worm-deep));
  stroke-width: 5;
  stroke-linejoin: round;
}
.kaleidoscope-pane { stroke: color-mix(in srgb, #544254 86%, var(--worm-deep)); stroke-width: 2.8; stroke-linejoin: round; }
.kaleidoscope-pane.pane-a { fill: #61aaa4; }
.kaleidoscope-pane.pane-b { fill: #c65470; }
.kaleidoscope-pane.pane-c { fill: #e3b75f; }
.kaleidoscope-pane.pane-d { fill: #7662a3; }
.kaleidoscope-lens-hub {
  fill: color-mix(in srgb, #f8e5ad 84%, var(--paper-strong));
  stroke: color-mix(in srgb, #4e3b4b 86%, var(--worm-deep));
  stroke-width: 3;
}
.kaleidoscope-handle,
.kaleidoscope-wrist-loop,
.kaleidoscope-spark {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.kaleidoscope-handle { stroke: color-mix(in srgb, #54404b 86%, var(--worm-deep)); stroke-width: 10; }
.kaleidoscope-wrist-loop { stroke: color-mix(in srgb, #c6536d 74%, var(--local-primary)); stroke-width: 6; }
.kaleidoscope-spark { stroke: color-mix(in srgb, #f1cf76 80%, var(--local-secondary)); stroke-width: 5; }
.queensland-machine-shadow { fill: rgba(24, 31, 26, .22); }
.queensland-machine-base { fill: color-mix(in srgb, #8b6b46 72%, var(--local-secondary)); stroke: color-mix(in srgb, #493c31 83%, var(--worm-deep)); stroke-width: 2.8; stroke-linejoin: round; }
.queensland-machine-feet,
.qld-scanner-tower,
.qld-scanner-bridge,
.qld-date-tower,
.qld-relay-bench,
.qld-crane-mast { fill: none; stroke: color-mix(in srgb, #5d4b38 81%, var(--worm-deep)); stroke-width: 5.5; stroke-linecap: round; stroke-linejoin: round; }
.queensland-machine-text { fill: color-mix(in srgb, #2d473d 88%, var(--worm-deep)); font: 900 20px/1 var(--sans); paint-order: stroke; stroke: color-mix(in srgb, var(--paper-strong) 77%, transparent); stroke-width: 1.15px; letter-spacing: 0; }
.queensland-machine-text.tiny { font-size: 15px; }
.queensland-machine-text.micro { font-size: 10px; }
.queensland-machine-mobile-key { display: none; }
.qld-culture-vial { fill: color-mix(in srgb, #d5cba8 69%, var(--paper-strong)); stroke: color-mix(in srgb, #66533f 80%, var(--worm-deep)); stroke-width: 1.7; }
.qld-vial-cap { fill: color-mix(in srgb, #78526a 71%, var(--local-primary)); stroke: color-mix(in srgb, #493642 83%, var(--worm-deep)); stroke-width: 1.5; }
.qld-vial-dock,
.qld-founder-lift,
.qld-counterweight-link,
.qld-reflection-bracket { fill: none; stroke: color-mix(in srgb, #997548 74%, var(--local-secondary)); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.qld-pod-body { fill: color-mix(in srgb, #74443e 72%, var(--local-primary)); stroke: color-mix(in srgb, #473331 84%, var(--worm-deep)); stroke-width: 2.5; stroke-linejoin: round; }
.qld-pod-seam { fill: none; stroke: color-mix(in srgb, #c4a05e 75%, var(--local-secondary)); stroke-width: 3.2; stroke-linecap: round; }
.qld-pod-contour { fill: none; stroke: color-mix(in srgb, #9b6e4d 61%, var(--worm-deep)); stroke-width: 1.6; stroke-linecap: round; opacity: .78; }
.qld-pod-cradle,
.qld-scan-drum,
.qld-counterweight,
.qld-vial-platform { fill: color-mix(in srgb, #5e6d53 66%, var(--local-primary)); stroke: color-mix(in srgb, #3e493b 82%, var(--worm-deep)); stroke-width: 2; stroke-linejoin: round; }
.qld-optical-hoop,
.qld-scan-ring { fill: color-mix(in srgb, #d5e2d8 18%, transparent); stroke: color-mix(in srgb, #9d7a49 75%, var(--local-secondary)); stroke-width: 4; }
.qld-scan-ring.outer { stroke: color-mix(in srgb, #79556c 73%, var(--local-primary)); stroke-width: 4.7; }
.qld-lens-glass { fill: color-mix(in srgb, #b9d5cb 68%, var(--paper-strong)); stroke: color-mix(in srgb, #47675b 80%, var(--worm-deep)); stroke-width: 2.1; }
.qld-reflection-shutter,
.qld-record-plate,
.qld-trace-strip,
.qld-closed-drawer,
.qld-date-drawer,
.qld-covered-channel,
.qld-calendar-cylinder,
.qld-plate-deck,
.qld-map-drawer { fill: color-mix(in srgb, #d4c8a3 69%, var(--paper-strong)); stroke: color-mix(in srgb, #65523d 80%, var(--worm-deep)); stroke-width: 1.8; stroke-linejoin: round; }
.qld-reflection-shutter.deep,
.qld-calendar-cylinder,
.qld-strata-gate.deep { fill: color-mix(in srgb, #acbda3 59%, var(--local-primary)); }
.qld-lead-screw,
.qld-crank-shaft,
.qld-crank-spokes,
.qld-screw-thread,
.qld-trace-line,
.qld-connected-chain,
.qld-drive-shaft,
.qld-drive-teeth,
.qld-lift-cable,
.qld-gondola-rail,
.qld-gear-shaft { fill: none; stroke: color-mix(in srgb, #a17c49 76%, var(--local-secondary)); stroke-width: 3.1; stroke-linecap: round; stroke-linejoin: round; }
.qld-lead-screw { stroke-width: 4; }
.qld-screw-thread { stroke-width: 1.6; }
.qld-connected-chain { stroke-dasharray: 4 3; stroke-width: 2.8; }
.qld-chain-sprocket,
.qld-crank-wheel,
.qld-drawer-pull,
.qld-date-hub,
.qld-drive-gear,
.qld-lift-pulley,
.qld-rotation-gear { fill: color-mix(in srgb, #ad874e 73%, var(--local-secondary)); stroke: color-mix(in srgb, #57432f 83%, var(--worm-deep)); stroke-width: 1.8; }
.qld-lens-carriage { fill: color-mix(in srgb, #7b566e 70%, var(--local-primary)); stroke: color-mix(in srgb, #493744 83%, var(--worm-deep)); stroke-width: 1.8; stroke-linejoin: round; }
.qld-date-wheel { fill: color-mix(in srgb, #765269 69%, var(--local-primary)); stroke: color-mix(in srgb, #493642 83%, var(--worm-deep)); stroke-width: 2.5; }
.qld-date-notch,
.qld-calendar-mark { fill: none; stroke: color-mix(in srgb, #d7c99e 74%, var(--paper-strong)); stroke-width: 2.2; stroke-linecap: round; }
.qld-calendar-mark.deep { stroke: color-mix(in srgb, #9c7949 76%, var(--local-secondary)); }
.qld-channel-cap { fill: color-mix(in srgb, #75546a 70%, var(--local-primary)); stroke: color-mix(in srgb, #493744 82%, var(--worm-deep)); stroke-width: 1.4; }
.qld-funnel-station,
.qld-funnel-cassette { fill: color-mix(in srgb, #80604a 69%, var(--local-secondary)); stroke: color-mix(in srgb, #493c32 83%, var(--worm-deep)); stroke-width: 2.1; stroke-linejoin: round; }
.qld-funnel-neck { fill: color-mix(in srgb, #a98553 72%, var(--local-secondary)); stroke: color-mix(in srgb, #57442f 82%, var(--worm-deep)); stroke-width: 1.6; }
.qld-plate-carriage { fill: color-mix(in srgb, #6f5a43 68%, var(--local-secondary)); stroke: color-mix(in srgb, #44392e 83%, var(--worm-deep)); stroke-width: 1.9; stroke-linejoin: round; }
.qld-recovery-plate { fill: color-mix(in srgb, #d7d6c6 72%, var(--paper-strong)); stroke: color-mix(in srgb, #5c645a 75%, var(--worm-deep)); stroke-width: 2; }
.qld-crane-lattice,
.qld-counter-jib,
.qld-radial-jib { fill: none; stroke: color-mix(in srgb, #78576b 73%, var(--local-primary)); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.qld-counter-jib { stroke-width: 4.6; }
.qld-gondola,
.qld-access-box,
.qld-strata-gate { fill: color-mix(in srgb, #d1c6a4 69%, var(--paper-strong)); stroke: color-mix(in srgb, #63513d 80%, var(--worm-deep)); stroke-width: 1.7; stroke-linejoin: round; }
.qld-map-table { fill: color-mix(in srgb, #687d5d 66%, var(--local-primary)); stroke: color-mix(in srgb, #3e4d3d 83%, var(--worm-deep)); stroke-width: 2.8; }
.qld-radius-ring { fill: color-mix(in srgb, #d6cfaa 22%, transparent); stroke: color-mix(in srgb, #c19a57 76%, var(--local-secondary)); stroke-width: 3; stroke-dasharray: 5 3; }
.qld-canopy-mosaic { fill: color-mix(in srgb, #405d45 71%, var(--local-primary)); stroke: color-mix(in srgb, #314338 83%, var(--worm-deep)); stroke-width: 1.8; stroke-linejoin: round; }
.qld-canopy-token { fill: color-mix(in srgb, #8ba375 67%, var(--local-primary)); stroke: color-mix(in srgb, #435340 80%, var(--worm-deep)); stroke-width: 1.2; }
.qld-canopy-token.deep { fill: color-mix(in srgb, #566f50 75%, var(--local-primary)); }
.qld-map-hub,
.qld-tree-position { fill: color-mix(in srgb, #ac844d 73%, var(--local-secondary)); stroke: color-mix(in srgb, #56422e 83%, var(--worm-deep)); stroke-width: 1.3; }
.qld-tree-position.deep { fill: color-mix(in srgb, #7b566d 70%, var(--local-primary)); }
@media (max-width: 600px) {
  .queensland-accessory .queensland-machine-text:not(.queensland-machine-mobile-key) { display: none; }
  .queensland-accessory .queensland-machine-mobile-key {
    display: inline;
    font-size: 42px;
    letter-spacing: -.045em;
    stroke-width: 2px;
  }
}
.fig-visor path:first-child, .fig-visor path:nth-of-type(4) { fill: #72a66b; stroke: var(--worm-deep); stroke-width: 3; }
.fig-vein, .visor-band { fill: none; stroke: #315f50; stroke-width: 2.5; stroke-linecap: round; }
.satchel-strap { fill: none; stroke: #745744; stroke-width: 7; stroke-linecap: round; }
.satchel-bag { fill: #c99b63; stroke: var(--worm-deep); stroke-width: 3; }
.satchel-flap { fill: #9d724c; stroke: var(--worm-deep); stroke-width: 2; }
.fig-mark { fill: #759e67; stroke: #496f4d; stroke-width: 2; }
.pack-harness { fill: none; stroke: #295f72; stroke-width: 7; stroke-linecap: round; }
.bandhani-wrap, .bandhani-tail { fill: #d64d62; stroke: #7a3650; stroke-width: 3; stroke-linejoin: round; }
.bandhani-dots { fill: none; stroke: #fff1a8; stroke-width: 5; stroke-linecap: round; stroke-dasharray: 1 10; }
.market-tote { fill: #d8a05f; }
.fruit-dot.orange { fill: #f08a45; }
.fruit-dot.berry { fill: #b95a7a; }
.worm-bikini .bikini-band, .worm-bikini .bikini-tie { fill: none; stroke: #e95884; stroke-width: 6; stroke-linecap: round; }
.worm-bikini .bikini-cup { fill: #f1749a; stroke: #9f3f66; stroke-width: 3; }
.worm-bikini .bikini-bottom { fill: #f1749a; stroke: #9f3f66; stroke-width: 3; }
.wasp-wing, .dragonfly-wing { fill: rgba(235,252,255,.7); stroke: var(--local-primary); stroke-width: 4; }
.wing-detail, .leaf-vein { fill: none; stroke: color-mix(in srgb, var(--local-primary) 65%, var(--worm-deep)); stroke-width: 2.5; stroke-linecap: round; }
.cryo-jetpack rect { fill: #4a929e; }
.cryo-jetpack .jet-flame { fill: #ffd166; stroke: #d86b59; stroke-width: 2; }
.cryo-jetpack circle { fill: #d9f5f5; stroke: #2f7885; stroke-width: 3; }
.snow-mark { fill: none !important; stroke: #4c9aa8 !important; stroke-width: 2 !important; }
.dandiya-clip { fill: none; stroke: #75445d; stroke-width: 9; stroke-linecap: round; }
.dandiya-stick { fill: none; stroke: #f3b449; stroke-width: 9; stroke-linecap: round; }
.dandiya-stick.coral { stroke: #e85f62; }
.dandiya-grip { fill: none; stroke: #fff0ad; stroke-width: 4; stroke-linecap: round; }
.tam-crown { fill: #274d76; stroke: #162f4e; stroke-width: 3; }
.tam-band { fill: none; stroke: #e45356; stroke-width: 7; stroke-linecap: round; }
.tam-pom { fill: #e8b84f; stroke: #67482f; stroke-width: 2; }
.kilt-wrap { fill: #315b78; stroke: #193a51; stroke-width: 3; }
.kilt-pleats { fill: none; stroke: #e45356; stroke-width: 5; }
.kilt-cross { fill: none; stroke: #f1c95a; stroke-width: 4; }
.bagpipe-strap { fill: none; stroke: #5b3c5c; stroke-width: 9; stroke-linecap: round; }
.bagpipe-bag { fill: #386b57; stroke: #223d38; stroke-width: 4; }
.bagpipe-pipe { fill: none; stroke: #79512f; stroke-width: 8; stroke-linecap: round; }
.bagpipe-drone { fill: none; stroke: #e6bb57; stroke-width: 6; stroke-linecap: round; }
.great-highland-bagpipes .bagpipe-bag {
  fill: color-mix(in srgb, #456352 70%, var(--local-primary));
  stroke: color-mix(in srgb, #294238 82%, var(--worm-deep));
  stroke-width: 3;
}
.great-highland-bagpipes .bagpipe-bag.companion {
  fill: color-mix(in srgb, #596d5d 66%, var(--local-primary));
}
.great-highland-bagpipes .bagpipe-drone,
.great-highland-bagpipes .bagpipe-chanter,
.great-highland-bagpipes .bagpipe-blowpipe {
  fill: none;
  stroke: color-mix(in srgb, #49382e 82%, var(--worm-deep));
  stroke-width: 7.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.great-highland-bagpipes .bagpipe-drone {
  stroke-width: 9;
}
.spf-pack rect { fill: #f5db75; }
.spf-pack circle { fill: #ff8f6b; stroke: white; stroke-width: 3; }
.spf-pack text { fill: #713c52; font-size: 14px; font-weight: 900; stroke: none; }
.sun-ray { fill: none; stroke: #ff8f6b; stroke-width: 3; stroke-linecap: round; }
.chocolate-strap { fill: none; stroke: #684337; stroke-width: 10; stroke-linecap: round; }
.chocolate-wrapper { fill: #f3bd54; stroke: #704033; stroke-width: 4; }
.chocolate-bar { fill: #77402e; stroke: #4b2b25; stroke-width: 3; }
.chocolate-grid { fill: none; stroke: #b36c46; stroke-width: 3; }
.wrapper-fold { fill: #e96558; stroke: #704033; stroke-width: 3; }
.doodle-canvas {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.habitat.is-drawing .doodle-canvas {
  z-index: 5;
  cursor: crosshair;
  pointer-events: auto;
  touch-action: none;
}
.doodle-layer { pointer-events: none; }
.doodle-stroke { fill: none; stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; filter: drop-shadow(0 2px 1px rgba(23,51,61,.2)); }
.habitat[data-local-style="okinawa"] { --local-primary: #e96558; --local-secondary: #f8c64e; --scene-sky: #bfe5e8; --scene-ground: #75a96d; --scene-water: #63b7c5; --scene-highlight: #ffd166; --scene-detail: #315e58; }
.habitat[data-local-style="kauai"] { --local-primary: #e77ea5; --local-secondary: #73b98d; --scene-sky: #bfe8ef; --scene-ground: #549369; --scene-water: #54b6cc; --scene-highlight: #ffd166; --scene-detail: #315f55; }
.habitat[data-local-style="field"] { --local-primary: #4f7f72; --local-secondary: #d7b96d; --scene-sky: #d8edf0; --scene-ground: #94b877; --scene-water: #8bc8ce; --scene-highlight: #f7c85b; --scene-detail: #607050; }
.habitat[data-local-style="rainforest"] { --local-primary: #3e9c70; --local-secondary: #f1a94b; --scene-sky: #b8ddd0; --scene-ground: #377f5d; --scene-water: #69b9b2; --scene-highlight: #f3c658; --scene-detail: #245443; }
.habitat[data-local-style="woodland"] { --local-primary: #6f679d; --local-secondary: #9ebc84; --scene-sky: #d8e2d3; --scene-ground: #879b68; --scene-water: #8eb3aa; --scene-highlight: #e9bd62; --scene-detail: #5a5b45; }
.habitat[data-local-style="ocean"] { --local-primary: #318ca5; --local-secondary: #f29b77; --scene-sky: #c7e9ea; --scene-ground: #77ad79; --scene-water: #4db3c5; --scene-highlight: #ffd166; --scene-detail: #2a6670; }
.worm-name-tag {
  position: absolute;
  left: 18px;
  bottom: 16px;
  z-index: 3;
  border-radius: 999px;
  padding: 8px 13px;
  background: rgba(255,255,255,.82);
  font-weight: 800;
  backdrop-filter: blur(6px);
}

.dress-bar { padding: 18px 20px 20px; }
.dress-bar h2 { margin: 3px 0 12px; font-family: var(--display); font-size: 1.4rem; }
.dress-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.dress-buttons button {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 9px 12px;
  background: var(--paper-strong);
  color: var(--ink);
  cursor: pointer;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  box-shadow: 0 3px 0 rgba(29,70,68,.06);
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.dress-buttons button[hidden] { display: none; }
.dress-buttons button:hover { border-color: var(--teal); transform: translateY(-2px); box-shadow: 0 6px 12px rgba(29,70,68,.12); }
.dress-buttons button[aria-pressed="true"] { background: color-mix(in srgb, var(--teal) 13%, var(--paper-strong)); color: var(--teal-dark); border-color: var(--teal); box-shadow: 0 4px 10px rgba(20,75,78,.13); }
.dress-buttons button[data-accessory] { position: relative; padding-inline-end: 34px; }
.dress-buttons button[data-accessory]::after { content: ""; position: absolute; inset-inline-end: 10px; top: 50%; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--teal-dark); color: white; font-size: .72rem; opacity: 0; transform: translateY(-50%) scale(.8); pointer-events: none; }
.dress-buttons button[data-accessory][aria-pressed="true"]::after { content: "✓"; opacity: 1; transform: translateY(-50%) scale(1); }
.dress-buttons .button-icon { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: color-mix(in srgb, var(--yellow) 45%, white); font-size: .92rem; }
.goggles-button-icon svg { width: 18px; height: 18px; fill: rgba(174,232,240,.5); stroke: #295f72; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.dress-buttons .freestyle-button { margin-inline-start: 5px; border-color: color-mix(in srgb, var(--teal) 25%, var(--line)); background: color-mix(in srgb, var(--teal) 4%, var(--paper-strong)); }
.dress-buttons .freestyle-button[aria-pressed="true"] { background: color-mix(in srgb, var(--teal) 13%, var(--paper-strong)); border-color: var(--teal); color: var(--teal-dark); }
.freestyle-icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.accessory-size-controls {
  display: none;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "caption"
    "slider";
  align-items: center;
  column-gap: 14px;
  row-gap: 2px;
  width: 100%;
  box-sizing: border-box;
  margin-top: 14px;
  border: 1px solid color-mix(in srgb, var(--teal) 32%, var(--line));
  border-radius: 22px 22px 18px 22px;
  padding: 10px 14px 11px;
  background: color-mix(in srgb, var(--teal) 5%, var(--paper-strong));
  color: var(--ink);
  box-shadow: 0 7px 18px rgba(23, 51, 61, .06);
}
.accessory-size-controls[hidden] { display: none; }
.accessory-size-caption {
  grid-area: caption;
  color: var(--teal-dark);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .075em;
  text-align: left;
  text-transform: uppercase;
}
.accessory-size-slider {
  --accessory-size-progress: 28.57%;
  grid-area: slider;
  width: 100%;
  min-width: 0;
  height: 46px;
  margin: 0;
  appearance: none;
  background: transparent;
  cursor: pointer;
  accent-color: var(--teal-dark);
}
.accessory-size-slider::-webkit-slider-runnable-track {
  height: 10px;
  border: 1px solid color-mix(in srgb, var(--teal) 42%, var(--line));
  border-radius: 999px;
  background: linear-gradient(to right,
    color-mix(in srgb, var(--teal-dark) 92%, var(--yellow)) 0 var(--accessory-size-progress),
    color-mix(in srgb, var(--teal) 10%, var(--paper-strong)) var(--accessory-size-progress) 100%);
  box-shadow: inset 0 1px 2px rgba(23, 51, 61, .14), 0 1px 0 rgba(255, 255, 255, .78);
}
.accessory-size-slider::-webkit-slider-thumb {
  width: 28px;
  height: 28px;
  margin-top: -10px;
  appearance: none;
  border: 4px solid var(--paper-strong);
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 0 0 0 2px var(--teal-dark), 0 4px 10px rgba(23, 51, 61, .24);
  transition: transform .14s ease, box-shadow .14s ease;
}
.accessory-size-slider::-moz-range-track {
  height: 10px;
  border: 1px solid color-mix(in srgb, var(--teal) 42%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--teal) 10%, var(--paper-strong));
  box-shadow: inset 0 1px 2px rgba(23, 51, 61, .14), 0 1px 0 rgba(255, 255, 255, .78);
}
.accessory-size-slider::-moz-range-progress {
  height: 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--teal-dark) 92%, var(--yellow));
}
.accessory-size-slider::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 4px solid var(--paper-strong);
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 0 0 0 2px var(--teal-dark), 0 4px 10px rgba(23, 51, 61, .24);
  transition: transform .14s ease, box-shadow .14s ease;
}
.accessory-size-slider:hover::-webkit-slider-thumb { transform: scale(1.06); box-shadow: 0 0 0 2px var(--teal-dark), 0 5px 13px rgba(23, 51, 61, .28); }
.accessory-size-slider:active::-webkit-slider-thumb { transform: scale(.96); }
.accessory-size-slider:hover::-moz-range-thumb { transform: scale(1.06); box-shadow: 0 0 0 2px var(--teal-dark), 0 5px 13px rgba(23, 51, 61, .28); }
.accessory-size-slider:active::-moz-range-thumb { transform: scale(.96); }
.accessory-size-slider:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--yellow) 72%, white);
  outline-offset: 1px;
  border-radius: 999px;
}
@media (min-width: 681px) and (hover: hover) and (pointer: fine) {
  .accessory-size-controls:not([hidden]) { display: grid; }
}
.draw-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; border: 1px solid color-mix(in srgb, var(--teal) 20%, var(--line)); padding: 10px 12px; border-radius: 16px; background: color-mix(in srgb, var(--teal) 7%, var(--paper-strong)); }
.draw-tools[hidden] { display: none; }
.draw-tools > span { font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.draw-color { width: 27px; height: 27px; border: 3px solid white; border-radius: 50%; background: var(--draw-color); box-shadow: 0 0 0 1px var(--line); cursor: pointer; }
.draw-color[data-draw-color="#f36f62"] { background: #f36f62; }
.draw-color[data-draw-color="#167d7a"] { background: #167d7a; }
.draw-color[data-draw-color="#7567b8"] { background: #7567b8; }
.draw-color[data-draw-color="#ffd166"] { background: #ffd166; }
.draw-color.is-selected { box-shadow: 0 0 0 3px var(--ink); }
.clear-drawing { border: 1px solid var(--line); border-radius: 999px; padding: 6px 10px; background: white; color: var(--ink); cursor: pointer; font-weight: 800; }
.species-story {
  padding: clamp(24px, 4vw, 38px);
  display: flex;
  flex-direction: column;
}
.species-story h2 { margin: 0; font-family: var(--display); font-size: clamp(2rem, 3.25vw, 2.7rem); line-height: .98; letter-spacing: -.04em; }
.species-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.story-control {
  flex: none;
  min-height: 44px;
  border: 1px solid color-mix(in srgb, var(--teal) 42%, var(--line));
  border-radius: 999px;
  padding: 8px 13px 8px 11px;
  background: color-mix(in srgb, var(--teal) 8%, var(--paper-strong));
  color: var(--teal-dark);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 800;
  box-shadow: 0 3px 0 rgba(29,70,68,.06);
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.story-control:hover {
  border-color: var(--teal);
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(29,70,68,.12);
}
.narration-toggle[aria-pressed="true"] {
  border-color: var(--teal-dark);
  background: var(--teal-dark);
  color: white;
}
.story-control svg {
  width: 20px;
  height: 20px;
}
.narration-toggle svg {
  fill: currentColor;
}
.narration-toggle .narration-wave {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}
.narration-toggle[hidden] { display: none; }
.gallery-toggle {
  border-color: var(--teal-dark);
  background: var(--teal-dark);
  color: white;
  box-shadow: 0 4px 10px rgba(20,75,78,.2);
}
.gallery-toggle:hover { border-color: var(--teal); background: var(--teal); }
.gallery-toggle svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.nickname { margin: 9px 0 16px; color: var(--coral); font-family: var(--display); font-size: 1.22rem; font-weight: 800; }
.species-intro { margin: 0; color: var(--ink-soft); font-size: 1.05rem; }
.fact-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 18px; }
.fact-pill { border-radius: 999px; padding: 8px 12px; font-size: .82rem; font-weight: 800; }
.fact-pill.selfing { background: rgba(243,111,98,.17); color: #a5393f; }
.fact-pill.outcrossing { background: rgba(117,103,184,.17); color: #514395; }
.habitat-pill { background: rgba(22,125,122,.14); color: var(--teal-dark); }
.wow-fact {
  margin-top: 0;
  position: relative;
  border-top: 1px solid var(--line);
  padding: 16px 0 0;
  background: transparent;
}
.wow-fact > span { position: absolute; top: 12px; right: 12px; font-size: 1.15rem; line-height: 1; opacity: .84; }
.wow-fact p { margin: 0; }
.wow-fact strong, .wow-fact p span { display: block; }
.wow-fact strong { padding-right: 18px; color: var(--teal-dark); }
.wow-fact p span { margin-top: 3px; color: var(--ink-soft); }
@media (max-width: 420px) {
  .species-actions { display: grid; grid-template-columns: 1fr; }
  .story-control { width: 100%; min-width: 0; min-height: 48px; padding-inline: 12px; justify-content: center; }
  .wow-fact { padding: 13px 0 0; }
  .wow-fact > span { top: 10px; right: 10px; font-size: 1rem; }
  .wow-fact strong { padding-right: 16px; }
}

.species-gallery-dialog {
  width: min(1040px, calc(100vw - 32px));
  max-height: min(780px, calc(100dvh - 32px));
  border: 0;
  border-radius: 28px;
  padding: 0;
  background: transparent;
  color: var(--ink);
  box-shadow: 0 24px 80px rgba(20, 37, 36, .34);
}
.species-gallery-dialog::backdrop {
  background: rgba(13, 31, 30, .72);
  backdrop-filter: blur(3px);
}
.species-gallery-shell {
  position: relative;
  max-height: min(780px, calc(100dvh - 32px));
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid color-mix(in srgb, var(--teal) 34%, var(--line));
  border-radius: inherit;
  padding: clamp(24px, 4vw, 42px);
  background: var(--paper-strong);
}
.species-gallery-close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 50%;
  padding: 0;
  background: color-mix(in srgb, var(--paper-strong) 90%, var(--teal));
  color: var(--ink);
  cursor: pointer;
  font: 800 1.55rem/1 var(--sans);
}
.species-gallery-close span { display: block; line-height: 1; }
.species-gallery-close:hover { border-color: var(--teal); color: var(--teal-dark); }
.species-gallery-close:focus-visible { outline: 3px solid color-mix(in srgb, var(--gold) 80%, white); outline-offset: 3px; }
.species-gallery-dialog h2 {
  margin: 0;
  padding-right: 54px;
  font-family: var(--display);
  font-size: clamp(2rem, 5vw, 3.4rem);
  line-height: 1;
  letter-spacing: -.035em;
}
.species-gallery-description { width: 100%; margin: 13px 0 0; color: var(--ink-soft); }
.species-gallery-images {
  display: grid;
  grid-template-columns: minmax(0, 680px);
  justify-content: center;
  gap: 14px;
  margin-top: 26px;
}
.species-gallery-images[data-species="elegans"] {
  width: 100%;
  max-width: 900px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-inline: auto;
}
.species-gallery-images figure {
  display: block;
  min-width: 0;
  width: min(100%, var(--gallery-card-width, 680px));
  justify-self: center;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--paper) 90%, var(--teal));
}
.species-gallery-images[data-species="elegans"] figure {
  box-shadow: 0 10px 28px rgba(18, 62, 61, .09);
}
.species-gallery-images[data-species="elegans"] .species-gallery-card--wide {
  grid-column: 1 / -1;
}
.species-gallery-images figcaption {
  padding: 11px 14px 12px;
  border-top: 1px solid color-mix(in srgb, var(--teal) 20%, var(--line));
  color: var(--ink);
  font-family: var(--display);
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}
.species-gallery-images .whole-worm-view {
  display: block;
  width: 100%;
  height: auto;
  background: #202523;
}

.species-gallery-images .whole-worm-video-frame {
  display: grid;
  place-items: center;
  background: #111615;
}

.species-gallery-images .whole-worm-video {
  display: block;
  width: 100%;
  height: auto;
  max-height: 640px;
  background: #111615;
  object-fit: contain;
}

.species-gallery-images .whole-worm-video:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--gold) 82%, white);
  outline-offset: -4px;
}

.species-gallery-images .whole-worm-view--pale-padding {
  box-sizing: border-box;
  padding-inline: 14px;
  background: #f3f3f1;
}

.species-gallery-credit i { font-style: italic; }
.species-gallery-credit {
  margin: 18px 0 0;
  color: var(--ink-soft);
  font-size: .78rem;
  line-height: 1.5;
}
.species-gallery-credit a { color: var(--teal-dark); font-weight: 800; }

.family-info-dialog { width: min(1080px, calc(100vw - 32px)); }
.family-info-shell {
  background:
    radial-gradient(circle at 92% 4%, rgba(255,209,102,.22), transparent 15rem),
    radial-gradient(circle at 4% 36%, rgba(191,232,232,.32), transparent 18rem),
    var(--paper-strong);
}
.family-tree-kicker {
  display: block;
  color: var(--teal);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.family-info-intro {
  max-width: 62rem;
  margin: 16px 0 0;
  color: var(--ink-soft);
  font-size: 1.03rem;
}
.atlas-completion-reward {
  position: relative;
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  overflow: visible;
  max-width: 54rem;
  min-height: 188px;
  margin-top: 18px;
  border: 2px solid color-mix(in srgb, var(--land-edge) 74%, var(--teal-dark));
  border-radius: 25px 20px 27px 22px;
  padding: 10px 34px 10px 8px;
  background:
    radial-gradient(circle at 14% 46%, rgba(255,209,102,.23), transparent 13rem),
    linear-gradient(105deg, rgba(255,253,246,.99), color-mix(in srgb, var(--ocean) 23%, white));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.78),
    0 12px 28px rgba(26,71,79,.12);
  animation: atlas-reward-reveal .58s cubic-bezier(.2,.9,.25,1.08) both;
}
.atlas-completion-reward::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 14px;
  width: 78px;
  height: 18px;
  border-bottom: 2px solid rgba(211,167,109,.48);
  border-radius: 50%;
  transform: rotate(-4deg);
}
.atlas-completion-reward[hidden] { display: none; }
.atlas-completion-medallion {
  position: relative;
  display: grid;
  place-items: center;
  width: 248px;
  min-height: 180px;
}
.atlas-completion-medallion::before {
  content: "";
  position: absolute;
  inset: 12px 18px 5px;
  border: 1px solid rgba(211,167,109,.36);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,252,237,.9), rgba(191,232,232,.34) 64%, transparent 65%);
  box-shadow: 0 8px 18px rgba(26,71,79,.1);
}
.atlas-completion-emblem { position: relative; z-index: 1; display: block; width: 238px; height: auto; }
.atlas-completion-count {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 24px;
  min-width: 72px;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .08em;
  line-height: 1;
  text-align: center;
  transform: translateX(-50%);
}
.atlas-completion-reward p { margin: 0; color: var(--ink-soft); }
.atlas-completion-reward strong {
  display: block;
  color: var(--teal-dark);
  font-family: var(--display);
  font-size: clamp(1.8rem, 3vw, 2.35rem);
  line-height: 1.1;
  letter-spacing: -.025em;
}
.atlas-completion-reward p span { display: block; margin-top: 7px; font-size: 1.02rem; }
.mating-system-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}
.mating-system-card {
  border: 1px solid var(--line);
  border-radius: 20px 25px 19px 24px;
  padding: 18px 20px;
  box-shadow: 0 9px 24px rgba(26,71,79,.07);
}
.mating-system-card--selfing { background: color-mix(in srgb, var(--coral) 11%, white); }
.mating-system-card--outcrossing { background: color-mix(in srgb, var(--violet) 10%, white); }
.mating-system-card h3,
.selfing-origins h3,
.family-tree-heading h3 {
  margin: 0;
  font-family: var(--display);
  line-height: 1.12;
}
.mating-system-card h3 { display: flex; align-items: center; gap: 9px; font-size: 1.14rem; }
.mating-system-card h3 span { width: 12px; height: 12px; flex: 0 0 auto; background: var(--coral); border-radius: 50%; }
.mating-system-card--outcrossing h3 span { background: var(--violet); border-radius: 3px; }
.mating-system-card p { margin: 7px 0 0; color: var(--ink-soft); }
.selfing-origins {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin-top: 16px;
  border: 1px solid color-mix(in srgb, var(--coral) 32%, var(--line));
  border-radius: 24px 19px 25px 20px;
  padding: 17px 20px;
  background: color-mix(in srgb, var(--yellow) 18%, white);
}
.selfing-origins-number {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 3px solid var(--coral);
  border-radius: 50%;
  background: var(--paper-strong);
  color: var(--teal-dark);
  font-family: var(--display);
  font-size: 1.35rem;
  font-weight: 900;
  transform: rotate(-4deg);
}
.selfing-origins h3 { font-size: 1.18rem; }
.selfing-origins p { margin: 5px 0 0; color: var(--ink-soft); }
.family-tree-section {
  margin-top: 28px;
  border: 1px solid color-mix(in srgb, var(--teal) 28%, var(--line));
  border-radius: 25px 21px 28px 20px;
  padding: 20px;
  background: rgba(236,249,247,.58);
}
.family-tree-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}
.family-tree-heading h3 { margin-top: 3px; font-size: 1.5rem; }
.family-tree-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 7px 12px;
  border: 1px solid color-mix(in srgb, var(--teal) 24%, var(--line));
  border-radius: 999px;
  padding: 6px 10px;
  background: color-mix(in srgb, var(--paper-strong) 88%, var(--ocean));
  color: var(--ink-soft);
  font-size: .75rem;
  font-weight: 800;
}
.family-tree-legend strong { color: var(--teal-dark); font-size: inherit; }
.family-tree-legend span { display: inline-flex; align-items: center; gap: 6px; }
.tree-key { display: inline-grid; place-items: center; width: 16px; height: 16px; }
.tree-key--game { border: 2px solid var(--teal); border-radius: 5px; background: rgba(255,255,255,.86); }
.tree-key b { display: block; width: 7px; height: 7px; }
.tree-key--game-selfing b { border-radius: 50%; background: var(--coral); }
.tree-key--game-outcrossing b { border-radius: 2px; background: var(--violet); }
.family-tree-note { margin: 10px 0 14px; color: var(--ink-soft); font-size: .83rem; }
.caenorhabditis-tree {
  width: 100%;
  max-height: 490px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: rgba(255,255,255,.82);
  scrollbar-color: color-mix(in srgb, var(--teal) 55%, white) transparent;
}
.caenorhabditis-tree:focus-visible { outline: 3px solid var(--game-focus); outline-offset: 3px; }
.caenorhabditis-tree-svg { display: block; min-width: 850px; font-family: var(--sans); }
.phylogeny-branch { stroke: color-mix(in srgb, var(--teal) 55%, var(--ink-soft)); stroke-width: 1.35; fill: none; }
.phylogeny-game-row { fill: color-mix(in srgb, var(--violet) 9%, white); stroke: color-mix(in srgb, var(--violet) 28%, transparent); }
.phylogeny-game-row--selfing { fill: color-mix(in srgb, var(--coral) 10%, white); stroke: color-mix(in srgb, var(--coral) 30%, transparent); }
.phylogeny-tip-marker { fill: color-mix(in srgb, var(--teal) 48%, white); }
.phylogeny-tip-marker--outcrossing { fill: var(--violet); }
.phylogeny-tip-marker--selfing { fill: var(--coral); }
.phylogeny-tip-label {
  fill: var(--ink-soft);
  font-size: 12px;
  font-style: italic;
  dominant-baseline: middle;
}
.phylogeny-tip-label--game { fill: var(--ink); font-size: 12.5px; font-weight: 900; }
.phylogeny-origin-label {
  fill: color-mix(in srgb, var(--coral) 78%, var(--ink));
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  dominant-baseline: middle;
}
.phylogeny-group-bracket {
  fill: none;
  stroke: color-mix(in srgb, var(--land-edge) 74%, var(--teal));
  stroke-width: 1.8;
  stroke-linecap: round;
}
.phylogeny-group-label {
  fill: color-mix(in srgb, var(--land-edge) 62%, var(--ink-soft));
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
  text-anchor: middle;
}
.unplaced-species {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px 18px;
  align-items: center;
  margin: 14px 0 0;
  border: 1px dashed color-mix(in srgb, var(--teal) 48%, var(--line));
  border-radius: 15px;
  padding: 12px 14px;
  background: color-mix(in srgb, var(--yellow) 12%, white);
  color: var(--ink-soft);
  font-size: .85rem;
}
.unplaced-species strong { color: var(--teal-dark); white-space: nowrap; }
.family-info-sources { margin: 18px 0 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.family-info-sources a { color: var(--teal-dark); font-weight: 800; }

@media (max-width: 620px) {
  .species-gallery-images[data-species="elegans"] {
    grid-template-columns: minmax(0, 1fr);
  }

  .species-gallery-images[data-species="elegans"] .species-gallery-card--wide {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .species-gallery-dialog { width: min(520px, calc(100vw - 20px)); max-height: calc(100dvh - 20px); border-radius: 22px; }
  .species-gallery-shell { max-height: calc(100dvh - 20px); padding: 24px 16px 20px; }
  .species-gallery-images { grid-template-columns: 1fr; }
  .mating-system-cards { grid-template-columns: 1fr; }
  .family-tree-heading { align-items: start; flex-direction: column; }
  .family-tree-legend {
    width: 100%;
    box-sizing: border-box;
    display: grid;
    justify-content: stretch;
    gap: 8px;
    border-radius: 16px;
    padding: 10px 12px;
    line-height: 1.3;
  }
  .family-tree-legend span {
    align-items: flex-start;
    white-space: normal;
  }
  .family-tree-section { padding: 15px; }
  .unplaced-species { grid-template-columns: 1fr; gap: 3px; }
}

@media (max-width: 560px) {
  .section-heading { align-items: start; flex-direction: column; gap: 12px; }
  .species-heading-copy p { max-width: none; }
  .family-info-toggle { margin-top: 0; }
  .selfing-origins { align-items: start; }
  .selfing-origins-number { width: 48px; height: 48px; font-size: 1.12rem; }
  .atlas-completion-reward { grid-template-columns: 134px minmax(0, 1fr); gap: 8px; min-height: 136px; padding: 5px 12px 5px 3px; }
  .atlas-completion-reward::after { display: none; }
  .atlas-completion-medallion { width: 134px; min-height: 124px; }
  .atlas-completion-medallion::before { inset: 8px 4px 2px; }
  .atlas-completion-emblem { width: 132px; }
  .atlas-completion-count { bottom: 23px; min-width: 54px; font-size: .62rem; }
  .atlas-completion-reward strong { font-size: 1.35rem; }
  .atlas-completion-reward p span { font-size: .86rem; }
}

/* Hawaii refresh: distinct leaf craft, cloud-glass objects and flower-macro jewellery. */
.kauai-qg130-accessory,
.elegans-field-redesign .xz-earcup,
.elegans-field-redesign .xz-mic-core,
.oahu-eca789-accessory {
  filter: drop-shadow(0 5px 4px rgba(24, 30, 48, .28));
}

.qg130-cart-shell { fill:#7b4b37; stroke:#24334c; stroke-width:6; stroke-linejoin:round; }
.qg130-cart-shell.companion { fill:#9a5d42; }
.qg130-cart-glow { fill:#f4cb69; stroke:#e05d7b; stroke-width:5; }
.qg130-cart-glow.companion { fill:#9ce4dc; }
.qg130-cart-handle,.qg130-shell-rib { fill:none; stroke:#e9bd54; stroke-width:7; stroke-linecap:round; }
.qg130-shell-rib { stroke:#c88c55; stroke-width:4; }
.qg130-cart-wheel { fill:#58c7bd; stroke:#24334c; stroke-width:6; }
.qg130-cart-wheel.companion { fill:#7653a8; stroke-width:5; }
.qg130-cart-hub { fill:#fff2b6; stroke:#24334c; stroke-width:4; }
.qg130-cart-glint { fill:none; stroke:#fff8d8; stroke-width:5; stroke-linecap:round; }
.qg130-carousel-mast,.qg130-carousel-cord { fill:none; stroke:#64413b; stroke-width:13; stroke-linecap:round; stroke-linejoin:round; }
.qg130-carousel-mast.companion { stroke-width:10; }
.qg130-carousel-cord { stroke:#f1c86a; stroke-width:5; }
.qg130-carousel-canopy { fill:#d75e7f; stroke:#24334c; stroke-width:6; stroke-linejoin:round; }
.qg130-carousel-canopy.companion { fill:#4ca6a2; }
.qg130-carousel-seat { fill:#f0bd52; stroke:#24334c; stroke-width:5; }
.qg130-carousel-seat.alt { fill:#77d7cf; }
.qg130-carousel-base { fill:#6f57a7; stroke:#24334c; stroke-width:6; }
.qg130-carousel-base.companion { fill:#d96783; stroke-width:5; }
.qg130-root-grain { fill:none; stroke:#f0b879; stroke-width:4; stroke-linecap:round; }
.qg130-ribbon-hoop { fill:none; stroke-width:16; }
.qg130-ribbon-hoop.companion { stroke-width:12; }
.qg130-ribbon-hoop.gold { stroke:#f1bf4f; }
.qg130-ribbon-hoop.aqua { stroke:#59c9c1; }
.qg130-ribbon-hoop.berry { stroke:#df5d82; }
.qg130-ribbon-knot { fill:#fff5cf; stroke:#24334c; stroke-width:4; }
.qg130-ribbon-knot.knot-2 { fill:#6d57a6; }
.qg130-ribbon-knot.knot-3 { fill:#53b9b4; }
.qg130-hoop-stand { fill:#5b4038; stroke:#24334c; stroke-width:5; }
.qg130-ribbon-highlight { fill:none; stroke:#fff0bd; stroke-width:4; stroke-linecap:round; }

.xz-headphone-band { fill:none; stroke:#e3b64e; stroke-width:15; stroke-linecap:round; }
.xz-headphone-band.companion { stroke-width:11; }
.xz-earcup { fill:#5651a8; stroke:#223450; stroke-width:6; stroke-linejoin:round; }
.xz-earcup.companion { fill:#3f9295; stroke-width:5; }
.xz-earcup.alt { fill:#d95e82; }
.xz-earcup-pad { fill:none; stroke:#c8eee7; stroke-width:5; stroke-linecap:round; }
.xz-bird-sound-scoop { fill:#5bd0c5; stroke:#223450; stroke-width:6; }
.xz-bird-sound-scoop.companion { fill:#efbd58; stroke-width:5; }
.xz-band-highlight,.xz-sound-wave { fill:none; stroke:#fff0b8; stroke-width:5; stroke-linecap:round; }
.xz-sound-wave { stroke:#e76588; stroke-width:4; }
.xz-mic-stem,.xz-mic-base { fill:none; stroke:#e5b956; stroke-width:9; stroke-linecap:round; stroke-linejoin:round; }
.xz-mic-stem.companion { stroke-width:7; }
.xz-mic-base { fill:#4b8f91; stroke:#223450; stroke-width:5; }
.xz-mic-base.companion { fill:#6e59a8; }
.xz-mic-core { fill:#315f71; stroke:#223450; stroke-width:6; }
.xz-mic-core.companion { stroke-width:5; }
.xz-ohia-stamen { fill:none; stroke:#e96886; stroke-width:5; stroke-linecap:round; }
.xz-ohia-stamen.alt { stroke:#f2bd55; }
.xz-ohia-tip { fill:#fff1bd; stroke:#9b3f64; stroke-width:3; }
.xz-ohia-tip.alt { fill:#61cec3; }
.xz-mic-grille { fill:none; stroke:#9ce2da; stroke-width:4; stroke-linecap:round; }

.eca789-trumpet-petal { fill:#d65f7f; stroke:#28324f; stroke-width:6; }
.eca789-trumpet-petal.companion { fill:#ef9a63; stroke-width:5; }
.eca789-trumpet-bell { fill:#f8df9a; stroke:#9b3f64; stroke-width:6; }
.eca789-trumpet-bell.companion { stroke:#3d8287; stroke-width:5; }
.eca789-trumpet-body { fill:#e7b957; stroke:#28324f; stroke-width:5; stroke-linejoin:round; }
.eca789-trumpet-body.companion { fill:#76cec4; stroke-width:4; }
.eca789-valve-casing { fill:#6d59a8; stroke:#28324f; stroke-width:4; }
.eca789-valve-casing.companion { fill:#d75f7e; stroke-width:3; }
.eca789-trumpet-tube,.eca789-trumpet-valve,.eca789-trumpet-mouthpiece { fill:none; stroke:#e5b553; stroke-width:8; stroke-linecap:round; stroke-linejoin:round; }
.eca789-trumpet-valve { stroke-width:5; }
.eca789-valve-key { fill:#7ad3c8; stroke:#28324f; stroke-width:3; }
.eca789-petal-vein { fill:none; stroke:#f3c76b; stroke-width:5; }
.eca789-rain-note,.eca789-harp-drop { fill:#69d0c8; stroke:#28324f; stroke-width:4; }
.eca789-rain-note.alt,.eca789-harp-drop.alt { fill:#775ca9; }
.eca789-harp-frame { fill:#d96382; stroke:#28324f; stroke-width:7; stroke-linejoin:round; }
.eca789-harp-frame.companion { fill:#4d9693; stroke-width:6; }
.eca789-harp-string { fill:none; stroke:#f7df9c; stroke-width:4; }
.eca789-harp-base { fill:#6d59a8; stroke:#28324f; stroke-width:6; }
.eca789-harp-base.companion { fill:#e6b64f; stroke-width:5; }
.eca789-harp-highlight { fill:none; stroke:#8ce0d5; stroke-width:5; stroke-linecap:round; }
.eca789-xylophone-frame { fill:#5a3d39; stroke:#28324f; stroke-width:7; stroke-linejoin:round; }
.eca789-xylophone-frame.companion { fill:#795145; stroke-width:6; }
.eca789-cacao-key { fill:#8f4b3f; stroke:#28324f; stroke-width:4; }
.eca789-cacao-key.alt { fill:#d09b50; }
.eca789-cacao-key.bright { fill:#df6f77; }
.eca789-cacao-resonator { fill:none; stroke:#68c9c1; stroke-width:9; stroke-linecap:round; }
.eca789-cacao-resonator.companion { stroke:#e76786; stroke-width:7; }
.eca789-mallet { fill:none; stroke:#e6bd59; stroke-width:6; stroke-linecap:round; }
.eca789-mallet.companion { stroke-width:5; }
.eca789-mallet-head { fill:#d65d7c; stroke:#28324f; stroke-width:4; }
.eca789-mallet-head.companion { fill:#5fc9c0; }
.eca789-mallet-head.alt { fill:#6d59a8; }
.eca789-cacao-pod { fill:#d9a54f; stroke:#28324f; stroke-width:5; }
.eca789-cacao-pod-rib { fill:none; stroke:#8f4b3f; stroke-width:4; stroke-linecap:round; }

@media (prefers-reduced-motion: reduce) {
  .family-info-toggle,
  .family-info-toggle-arrow,
  .explored,
  .explored-emblem,
  .explored-complete-count,
  .atlas-completion-reward { transition: none; animation: none; }
}

@keyframes atlas-reward-reveal {
  0% { opacity: 0; transform: translateY(8px) scale(.98); }
  70% { opacity: 1; transform: translateY(-2px) scale(1.006); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* Mahahual JU2617: citrus-decay, test-cross and lighthouse mechanisms. */
.mahahual-ju2617-accessory {
  --ju2617-ink: color-mix(in srgb, #3f372d 84%, var(--worm-deep));
  --ju2617-brass: color-mix(in srgb, #b98643 78%, var(--local-secondary));
  --ju2617-brass-light: color-mix(in srgb, #e5bf74 76%, var(--paper-strong));
  --ju2617-copper: color-mix(in srgb, #a95e3d 74%, var(--local-primary));
  --ju2617-glass: color-mix(in srgb, #d8efe8 48%, transparent);
  --ju2617-orange: #c96f2f;
  --ju2617-pulp: #e8a34b;
  --ju2617-cream: color-mix(in srgb, #efe3bc 78%, var(--paper-strong));
}
.mahahual-ju2617-accessory path,
.mahahual-ju2617-accessory circle,
.mahahual-ju2617-accessory ellipse,
.mahahual-ju2617-accessory rect {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ju2617-label,
.ju2617-small-label {
  fill: var(--ju2617-ink);
  stroke: none;
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .04em;
  paint-order: stroke;
}
.ju2617-small-label { font-size: 13px; }
.ju2617-recorder-base,
.ju2617-lock-bench,
.ju2617-lighthouse-base,
.ju2617-curved-base,
.ju2617-litter-drawer,
.ju2617-progeny-drawer {
  fill: var(--ju2617-brass);
  stroke: var(--ju2617-ink);
  stroke-width: 3;
}
.ju2617-record-plate {
  fill: var(--ju2617-cream);
  stroke: var(--ju2617-ink);
  stroke-width: 2.5;
}
.ju2617-bell-jar {
  fill: var(--ju2617-glass);
  stroke: color-mix(in srgb, #668f87 74%, var(--ju2617-ink));
  stroke-width: 4;
}
.ju2617-jar-rim,
.ju2617-bubble,
.ju2617-fresnel-ring {
  fill: color-mix(in srgb, #d7f0e9 58%, transparent);
  stroke: color-mix(in srgb, #668f87 72%, var(--ju2617-ink));
  stroke-width: 2.4;
}
.ju2617-bubble.small { stroke-width: 1.8; }
.ju2617-citrus-rind {
  fill: var(--ju2617-orange);
  stroke: color-mix(in srgb, #6d442c 84%, var(--ju2617-ink));
  stroke-width: 2.7;
}
.ju2617-citrus.open .ju2617-citrus-rind { fill: color-mix(in srgb, #ad6333 78%, var(--ju2617-orange)); }
.ju2617-citrus-collapse {
  fill: none;
  stroke: color-mix(in srgb, #704830 84%, var(--ju2617-ink));
  stroke-width: 2.4;
}
.ju2617-citrus-pulp {
  fill: var(--ju2617-pulp);
  stroke: color-mix(in srgb, #9f6532 80%, var(--ju2617-ink));
  stroke-width: 2;
}
.ju2617-segment-line {
  fill: none;
  stroke: color-mix(in srgb, #fff0bc 68%, var(--ju2617-pulp));
  stroke-width: 1.5;
}
.ju2617-capillary,
.ju2617-u-tube,
.ju2617-counter-rail {
  fill: none;
  stroke: color-mix(in srgb, #658d84 74%, var(--ju2617-ink));
  stroke-width: 3.2;
}
.ju2617-trace-drum,
.ju2617-culture-vial {
  fill: var(--ju2617-cream);
  stroke: var(--ju2617-ink);
  stroke-width: 2.5;
}
.ju2617-trace-line {
  fill: none;
  stroke: var(--ju2617-copper);
  stroke-width: 2.2;
}
.ju2617-u-frame,
.ju2617-gate-frame {
  fill: color-mix(in srgb, var(--ju2617-brass) 37%, transparent);
  stroke: var(--ju2617-ink);
  stroke-width: 4;
}
.ju2617-stacked-chamber,
.ju2617-twin-tube {
  fill: color-mix(in srgb, #d8eee6 45%, var(--ju2617-cream));
  stroke: color-mix(in srgb, #56796f 74%, var(--ju2617-ink));
  stroke-width: 2.7;
}
.ju2617-counter-bead,
.ju2617-drawer-pull,
.ju2617-gear-hub {
  fill: var(--ju2617-brass-light);
  stroke: var(--ju2617-ink);
  stroke-width: 1.6;
}
.ju2617-counter-bead.accent { fill: var(--ju2617-copper); }
.ju2617-vial-cap {
  fill: none;
  stroke: var(--ju2617-copper);
  stroke-width: 3;
}
.ju2617-bubble-wheel,
.ju2617-gear,
.ju2617-escapement-wheel {
  fill: var(--ju2617-brass-light);
  stroke: var(--ju2617-ink);
  stroke-width: 2.5;
}
.ju2617-gear-spoke,
.ju2617-drive,
.ju2617-timing-tick {
  fill: none;
  stroke: var(--ju2617-ink);
  stroke-width: 2.3;
}
.ju2617-cross-arm {
  fill: none;
  stroke: var(--ju2617-copper);
  stroke-width: 12;
}
.ju2617-culture-well {
  fill: color-mix(in srgb, #d9eee6 66%, var(--paper-strong));
  stroke: color-mix(in srgb, #597f75 74%, var(--ju2617-ink));
  stroke-width: 3;
}
.ju2617-observation-cabinet,
.ju2617-diagnostic-shutter,
.ju2617-blank-window {
  fill: var(--ju2617-cream);
  stroke: var(--ju2617-ink);
  stroke-width: 2.5;
}
.ju2617-observation-window {
  fill: color-mix(in srgb, #9fc8bb 48%, transparent);
  stroke: color-mix(in srgb, #4e746a 76%, var(--ju2617-ink));
  stroke-width: 2.2;
}
.ju2617-gate-feed {
  fill: none;
  stroke: var(--ju2617-copper);
  stroke-width: 3;
}
.ju2617-lighthouse-tower {
  fill: color-mix(in srgb, #f0e7c9 86%, var(--paper-strong));
  stroke: var(--ju2617-ink);
  stroke-width: 3;
}
.ju2617-lantern-room,
.ju2617-lantern-roof {
  fill: var(--ju2617-copper);
  stroke: var(--ju2617-ink);
  stroke-width: 2.7;
}
.ju2617-lantern-shutter,
.ju2617-flash-aperture {
  fill: color-mix(in srgb, #745349 76%, var(--ju2617-ink));
  stroke: var(--ju2617-ink);
  stroke-width: 1.8;
}
.ju2617-lantern-shutter.lit,
.ju2617-flash-aperture.lit {
  fill: #f1c35b;
}
.ju2617-timing-ring {
  fill: color-mix(in srgb, var(--ju2617-brass-light) 30%, transparent);
  stroke: var(--ju2617-brass);
  stroke-width: 4;
}
.ju2617-fresnel-drum {
  fill: color-mix(in srgb, #75988e 66%, var(--local-primary));
  stroke: var(--ju2617-ink);
  stroke-width: 3;
}
.ju2617-escapement-arm {
  fill: none;
  stroke: var(--ju2617-copper);
  stroke-width: 5;
}
@media (max-width: 600px) {
  .mahahual-ju2617-accessory .ju2617-small-label { display: none; }
  .mahahual-ju2617-accessory .ju2617-label { font-size: 24px; }
}

/* Mauritius JU2909: ravanne, Vacoas basketry and dodo-inspired fruit grabbers. */
.mauritius-ju2909-accessory {
  --ju2909-ink: #253847;
  --ju2909-wood: #986039;
  --ju2909-wood-deep: #68422f;
  --ju2909-skin: #f1ddb0;
  --ju2909-skin-shadow: #d7b979;
  --ju2909-gold: #e1b95a;
  --ju2909-gold-light: #f2d88f;
  --ju2909-berry: #a34f67;
  --ju2909-violet: #67559b;
  --ju2909-aqua: #62a7a4;
  --ju2909-ivory: #f6edcf;
  --ju2909-nut: #805133;
}
.mauritius-ju2909-accessory path,
.mauritius-ju2909-accessory circle,
.mauritius-ju2909-accessory ellipse,
.mauritius-ju2909-accessory rect {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ju2909-ravanne-rim-back {
  fill: var(--ju2909-wood);
  stroke: var(--ju2909-ink);
  stroke-width: 8;
}
.ju2909-ravanne-skin {
  fill: var(--ju2909-skin);
  stroke: var(--ju2909-wood-deep);
  stroke-width: 4;
}
.ju2909-ravanne-skin.companion-skin { fill: color-mix(in srgb, var(--ju2909-skin) 82%, var(--ju2909-gold-light)); }
.ju2909-ravanne-sidewall,
.ju2909-ravanne-harness,
.ju2909-tail-clasp,
.ju2909-basket-foot,
.ju2909-grabber-harness,
.ju2909-control-cable {
  fill: none;
  stroke: var(--ju2909-wood-deep);
  stroke-width: 7;
}
.ju2909-ravanne-harness.accent { stroke: var(--ju2909-berry); }
.ju2909-ravanne-skin-mark {
  fill: none;
  stroke: var(--ju2909-skin-shadow);
  stroke-width: 3;
  opacity: .82;
}
.ju2909-ravanne-lacing {
  fill: none;
  stroke: var(--ju2909-gold-light);
  stroke-width: 4;
}
.ju2909-rivet {
  fill: var(--ju2909-gold-light);
  stroke: var(--ju2909-ink);
  stroke-width: 1.8;
}
.ju2909-beater-shaft {
  fill: none;
  stroke: var(--ju2909-ink);
  stroke-width: 5;
}
.ju2909-beater-head {
  fill: var(--ju2909-violet);
  stroke: var(--ju2909-ink);
  stroke-width: 3;
}
.ju2909-beater-head.accent { fill: var(--ju2909-berry); }
.ju2909-ravanne-spring {
  fill: none;
  stroke: var(--ju2909-aqua);
  stroke-width: 5;
}
.ju2909-vacoas-basket {
  fill: var(--ju2909-gold-light);
  stroke: var(--ju2909-ink);
  stroke-width: 5;
}
.ju2909-vacoas-basket.companion-basket { fill: color-mix(in srgb, var(--ju2909-gold-light) 74%, var(--ju2909-ivory)); }
.ju2909-vacoas-rim {
  fill: none;
  stroke: var(--ju2909-berry);
  stroke-width: 9;
}
.ju2909-weave-band {
  fill: none;
  stroke: var(--ju2909-violet);
  stroke-width: 7;
}
.ju2909-weave-line {
  fill: none;
  stroke: color-mix(in srgb, var(--ju2909-wood) 72%, var(--ju2909-gold));
  stroke-width: 4;
}
.ju2909-fruit-lip {
  fill: var(--ju2909-aqua);
  stroke: var(--ju2909-ink);
  stroke-width: 5;
}
.ju2909-basket-mouth {
  fill: var(--ju2909-wood-deep);
  stroke: var(--ju2909-ink);
  stroke-width: 5;
}
.ju2909-gathered-fruit {
  fill: var(--ju2909-berry);
  stroke: var(--ju2909-ink);
  stroke-width: 4;
}
.ju2909-fruit-stem {
  fill: none;
  stroke: var(--ju2909-wood-deep);
  stroke-width: 4;
}
.ju2909-dodo-head {
  fill: #7f8795;
  stroke: var(--ju2909-ink);
  stroke-width: 5;
}
.ju2909-dodo-head.companion-head { fill: #6e9a9a; }
.ju2909-dodo-crest {
  fill: none;
  stroke: var(--ju2909-violet);
  stroke-width: 8;
}
.ju2909-dodo-crest-feathers {
  fill: none;
  stroke: var(--ju2909-berry);
  stroke-width: 9;
}
.ju2909-dodo-eye {
  fill: var(--ju2909-ivory);
  stroke: var(--ju2909-ink);
  stroke-width: 3;
}
.ju2909-body-clamp {
  fill: none;
  stroke: var(--ju2909-gold);
  stroke-width: 9;
}
.ju2909-grabber-bridge {
  fill: none;
  stroke: var(--ju2909-berry);
  stroke-width: 7;
}
.ju2909-grabber-coupling {
  fill: var(--ju2909-aqua);
  stroke: var(--ju2909-ink);
  stroke-width: 3;
}
.ju2909-dodo-upper-beak {
  fill: var(--ju2909-gold-light);
  stroke: var(--ju2909-ink);
  stroke-width: 5;
}
.ju2909-dodo-lower-beak {
  fill: var(--ju2909-gold);
  stroke: var(--ju2909-ink);
  stroke-width: 5;
}
.ju2909-beak-tip {
  fill: var(--ju2909-violet);
  stroke: var(--ju2909-ink);
  stroke-width: 4;
}
.ju2909-dodo-nostril {
  fill: var(--ju2909-ink);
  stroke: none;
}
.ju2909-beak-seam,
.ju2909-nut-groove {
  fill: none;
  stroke: var(--ju2909-wood-deep);
  stroke-width: 3;
}
.ju2909-woody-nut {
  fill: var(--ju2909-nut);
  stroke: var(--ju2909-ink);
  stroke-width: 4;
}
.ju2909-beak-hinge {
  fill: var(--ju2909-berry);
  stroke: var(--ju2909-ink);
  stroke-width: 3;
}
.ju2909-grabber-trigger {
  fill: var(--ju2909-aqua);
  stroke: var(--ju2909-ink);
  stroke-width: 4;
}

/* Ho Chi Minh City JU4356: carambola, ITS2 and urban-canopy mechanisms. */
.hcmc-ju4356-accessory {
  --ju4356-ink: color-mix(in srgb, #343d34 84%, var(--worm-deep));
  --ju4356-brass: color-mix(in srgb, #a77f45 76%, var(--local-secondary));
  --ju4356-brass-light: color-mix(in srgb, #dfc076 74%, var(--paper-strong));
  --ju4356-berry: color-mix(in srgb, #7d4f6e 72%, var(--local-primary));
  --ju4356-leaf: color-mix(in srgb, #46725b 78%, var(--local-primary));
  --ju4356-fruit: #c5a23f;
  --ju4356-fruit-deep: #8b6f2f;
  --ju4356-glass: color-mix(in srgb, #d5ece5 51%, transparent);
  --ju4356-cream: color-mix(in srgb, #eee3bb 80%, var(--paper-strong));
}
.hcmc-ju4356-accessory path,
.hcmc-ju4356-accessory circle,
.hcmc-ju4356-accessory ellipse,
.hcmc-ju4356-accessory rect {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ju4356-label,
.ju4356-small-label,
.ju4356-large-symbol {
  fill: var(--ju4356-ink);
  stroke: none;
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .035em;
}
.ju4356-small-label { font-size: 12px; }
.ju4356-large-symbol { font-family: var(--display); font-size: 38px; }
.ju4356-contact-tray,
.ju4356-reader-bed,
.ju4356-census-base,
.ju4356-ground-drawer {
  fill: var(--ju4356-brass);
  stroke: var(--ju4356-ink);
  stroke-width: 3;
}
.ju4356-five-rib-cradle,
.ju4356-sample-shutter,
.ju4356-flipplate,
.ju4356-alias-tab,
.ju4356-tag-drawer,
.ju4356-blank-tag {
  fill: var(--ju4356-cream);
  stroke: var(--ju4356-ink);
  stroke-width: 2.4;
}
.ju4356-fruit-rind {
  fill: var(--ju4356-fruit);
  stroke: color-mix(in srgb, #5f542f 82%, var(--ju4356-ink));
  stroke-width: 2.8;
}
.ju4356-fruit-rib {
  fill: none;
  stroke: color-mix(in srgb, var(--ju4356-fruit-deep) 77%, var(--ju4356-ink));
  stroke-width: 1.8;
}
.ju4356-fruit-rib.strong { stroke-width: 2.7; }
.ju4356-softened-patch {
  fill: color-mix(in srgb, #8c5d36 74%, var(--ju4356-fruit-deep));
  stroke: color-mix(in srgb, #573d2d 82%, var(--ju4356-ink));
  stroke-width: 1.8;
}
.ju4356-rib-frame,
.ju4356-spool-tower,
.ju4356-caliper-cabinet {
  fill: color-mix(in srgb, var(--ju4356-brass) 35%, transparent);
  stroke: var(--ju4356-ink);
  stroke-width: 4;
}
.ju4356-culture-vial {
  fill: var(--ju4356-glass);
  stroke: color-mix(in srgb, #557d70 74%, var(--ju4356-ink));
  stroke-width: 2.2;
}
.ju4356-vial-cap,
.ju4356-hinge,
.ju4356-drive,
.ju4356-dial-hand,
.ju4356-reel-spoke,
.ju4356-counter-spoke {
  fill: none;
  stroke: var(--ju4356-ink);
  stroke-width: 2.4;
}
.ju4356-ground-grain {
  fill: color-mix(in srgb, #65543c 75%, var(--ju4356-fruit-deep));
  stroke: var(--ju4356-ink);
  stroke-width: 1.3;
}
.ju4356-ground-grain.accent { fill: var(--ju4356-berry); }
.ju4356-ribbon-reel,
.ju4356-catch-reel,
.ju4356-side-dial,
.ju4356-crown-counter,
.ju4356-drawer-pull {
  fill: var(--ju4356-brass-light);
  stroke: var(--ju4356-ink);
  stroke-width: 2.3;
}
.ju4356-reel-hub {
  fill: var(--ju4356-berry);
  stroke: var(--ju4356-ink);
  stroke-width: 1.7;
}
.ju4356-its2-aperture,
.ju4356-ribbon-window {
  fill: var(--ju4356-glass);
  stroke: color-mix(in srgb, #557d70 74%, var(--ju4356-ink));
  stroke-width: 2.5;
}
.ju4356-ribbon {
  fill: var(--ju4356-cream);
  stroke: var(--ju4356-berry);
  stroke-width: 3.2;
}
.ju4356-registration-mark {
  fill: none;
  stroke: var(--ju4356-brass);
  stroke-width: 1.7;
}
.ju4356-uncertainty-shutter {
  fill: color-mix(in srgb, var(--ju4356-berry) 64%, var(--ju4356-cream));
  stroke: var(--ju4356-ink);
  stroke-width: 2.5;
}
.ju4356-trunk-gauge {
  fill: color-mix(in srgb, #73583f 72%, var(--ju4356-brass));
  stroke: var(--ju4356-ink);
  stroke-width: 2.7;
}
.ju4356-sliding-arm,
.ju4356-crown-branch {
  fill: none;
  stroke: var(--ju4356-brass);
  stroke-width: 5;
}
.ju4356-path-roll {
  fill: var(--ju4356-cream);
  stroke: var(--ju4356-ink);
  stroke-width: 2.3;
}
.ju4356-path-line,
.ju4356-path-grid {
  fill: none;
  stroke: var(--ju4356-berry);
  stroke-width: 2.4;
}
.ju4356-canopy-lobe {
  fill: var(--ju4356-leaf);
  stroke: color-mix(in srgb, #304d3b 83%, var(--ju4356-ink));
  stroke-width: 2.3;
}
.ju4356-canopy-lobe.accent {
  fill: color-mix(in srgb, var(--ju4356-leaf) 72%, var(--ju4356-brass-light));
}
.ju4356-canopy-lobe.deep {
  fill: color-mix(in srgb, var(--ju4356-leaf) 76%, var(--ju4356-berry));
}
@media (max-width: 600px) {
  .hcmc-ju4356-accessory .ju4356-small-label { display: none; }
  .hcmc-ju4356-accessory .ju4356-label { font-size: 24px; }
  .hcmc-ju4356-accessory .ju4356-large-symbol { font-size: 45px; }
}

/* Nambucca rainforest-garden record: flowers, two-plate relay and 18S reader. */
.nambucca-qg2814-accessory {
  --qg2814-ink: color-mix(in srgb, #293b36 87%, var(--worm-deep));
  --qg2814-brass: color-mix(in srgb, #a97842 76%, var(--local-secondary));
  --qg2814-brass-light: color-mix(in srgb, #dfbd70 78%, var(--paper-strong));
  --qg2814-green: color-mix(in srgb, #55735d 82%, var(--local-primary));
  --qg2814-green-light: color-mix(in srgb, #acc4a1 74%, var(--paper-strong));
  --qg2814-coral: color-mix(in srgb, #b66d63 78%, var(--local-tertiary));
  --qg2814-cream: color-mix(in srgb, #eee0bd 84%, var(--paper-strong));
  --qg2814-glass: color-mix(in srgb, #d3e7df 56%, transparent);
}
.nambucca-qg2814-accessory path,
.nambucca-qg2814-accessory circle,
.nambucca-qg2814-accessory ellipse {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.qg2814-label,
.qg2814-small-label,
.qg2814-stage-label,
.qg2814-date-label {
  fill: var(--qg2814-ink);
  font-family: var(--font-sans);
  font-weight: 900;
  pointer-events: none;
}
.qg2814-small-label { font-size: 11px; letter-spacing: .075em; }
.qg2814-stage-label { font-size: 18px; }
.qg2814-date-label { font-size: 22px; }
.qg2814-flower-cabinet,
.qg2814-sample-table,
.qg2814-plate-lift,
.qg2814-relay-table,
.qg2814-ribbon-cabinet,
.qg2814-reader-table {
  fill: var(--qg2814-brass);
  stroke: var(--qg2814-ink);
  stroke-width: 4;
}
.qg2814-flower-drawer,
.qg2814-ribbon-window,
.qg2814-readout-drawer,
.qg2814-id-drawer,
.qg2814-sequence-screen,
.qg2814-identification-gate,
.qg2814-species-readout {
  fill: var(--qg2814-cream);
  stroke: var(--qg2814-ink);
  stroke-width: 3.5;
}
.qg2814-flower-drawer.accent {
  fill: var(--qg2814-green-light);
}
.qg2814-petal {
  fill: var(--qg2814-cream);
  stroke: var(--qg2814-ink);
  stroke-width: 2.5;
}
.qg2814-petal.accent { fill: var(--qg2814-coral); }
.qg2814-petal.collapsed { fill: color-mix(in srgb, var(--qg2814-coral) 58%, #765343); }
.qg2814-flower-centre {
  fill: var(--qg2814-brass-light);
  stroke: var(--qg2814-ink);
  stroke-width: 2.5;
}
.qg2814-litter-tray,
.qg2814-index-plate,
.qg2814-date-window,
.qg2814-founder-cradle,
.qg2814-reader-plate {
  fill: var(--qg2814-brass-light);
  stroke: var(--qg2814-ink);
  stroke-width: 3.5;
}
.qg2814-ground-membrane {
  fill: color-mix(in srgb, #70513d 68%, var(--qg2814-cream));
  stroke: var(--qg2814-ink);
  stroke-width: 4;
}
.qg2814-sampling-aperture,
.qg2814-culture-plate,
.qg2814-isotype-seal {
  fill: var(--qg2814-glass);
  stroke: var(--qg2814-ink);
  stroke-width: 4;
}
.qg2814-culture-plate.second { fill: color-mix(in srgb, var(--qg2814-green-light) 65%, transparent); }
.qg2814-plate-lid {
  fill: none;
  stroke: var(--qg2814-ink);
  stroke-width: 2.5;
}
.qg2814-litter-chip {
  fill: #75533e;
  stroke: var(--qg2814-ink);
  stroke-width: 2;
}
.qg2814-drawer-tabs,
.qg2814-theatre-tick,
.qg2814-lift-rail,
.qg2814-five-notch-column,
.qg2814-transfer-rail,
.qg2814-sequence-rung {
  fill: none;
  stroke: var(--qg2814-ink);
  stroke-width: 3;
}
.qg2814-founder-window {
  fill: var(--qg2814-coral);
  stroke: var(--qg2814-ink);
  stroke-width: 3.5;
}
.qg2814-sequence-ribbon {
  fill: none;
  stroke: var(--qg2814-green);
  stroke-width: 5;
}
@media (max-width: 600px) {
  .nambucca-qg2814-accessory .qg2814-small-label { display: none; }
  .nambucca-qg2814-accessory .qg2814-stage-label { font-size: 22px; }
}

/* Dois Rios jackfruit record: emergence, shared-bag provenance and test cross. */
.dois-rios-eg5612-accessory {
  --eg5612-ink: color-mix(in srgb, #263b34 87%, var(--worm-deep));
  --eg5612-brass: color-mix(in srgb, #a8753d 76%, var(--local-secondary));
  --eg5612-brass-light: color-mix(in srgb, #dfbd70 78%, var(--paper-strong));
  --eg5612-green: color-mix(in srgb, #566f43 82%, var(--local-primary));
  --eg5612-green-light: color-mix(in srgb, #a8bd72 74%, var(--paper-strong));
  --eg5612-ochre: color-mix(in srgb, #c08a45 80%, var(--local-tertiary));
  --eg5612-red: color-mix(in srgb, #a65048 78%, var(--local-tertiary));
  --eg5612-cream: color-mix(in srgb, #efe0b8 84%, var(--paper-strong));
}
.dois-rios-eg5612-accessory path,
.dois-rios-eg5612-accessory circle {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.eg5612-label,
.eg5612-small-label,
.eg5612-stage-label,
.eg5612-question {
  fill: var(--eg5612-ink);
  font-family: var(--font-sans);
  font-weight: 900;
  pointer-events: none;
}
.eg5612-small-label { font-size: 11px; letter-spacing: .075em; }
.eg5612-stage-label { font-size: 18px; }
.eg5612-question { font-size: 34px; }
.eg5612-emergence-cabinet,
.eg5612-theatre-table,
.eg5612-bag-ledger,
.eg5612-bag-viewer-table,
.eg5612-cross-tower,
.eg5612-cross-gate-table {
  fill: var(--eg5612-brass);
  stroke: var(--eg5612-ink);
  stroke-width: 4;
}
.eg5612-rind-window,
.eg5612-stage-drawer,
.eg5612-founding-gate,
.eg5612-bag-pocket,
.eg5612-species-window,
.eg5612-cross-channel {
  fill: var(--eg5612-cream);
  stroke: var(--eg5612-ink);
  stroke-width: 3.5;
}
.eg5612-stage-drawer.founding,
.eg5612-stage-window.founding {
  fill: var(--eg5612-green-light);
}
.eg5612-jackfruit-rind {
  fill: var(--eg5612-green);
  stroke: var(--eg5612-ink);
  stroke-width: 4;
}
.eg5612-rind-node {
  fill: var(--eg5612-green-light);
  stroke: none;
}
.eg5612-jackfruit-interior {
  fill: var(--eg5612-ochre);
  stroke: var(--eg5612-ink);
  stroke-width: 3;
}
.eg5612-fruit-bulb {
  fill: var(--eg5612-cream);
  stroke: var(--eg5612-ink);
  stroke-width: 2;
}
.eg5612-stage-window,
.eg5612-stage-traces,
.eg5612-open-cross {
  fill: var(--eg5612-green-light);
  stroke: var(--eg5612-ink);
  stroke-width: 3;
}
.eg5612-founding-cradle,
.eg5612-index-plate,
.eg5612-provenance-plate,
.eg5612-cross-result-plate {
  fill: var(--eg5612-brass-light);
  stroke: var(--eg5612-ink);
  stroke-width: 3.5;
}
.eg5612-gate-link,
.eg5612-provenance-ribbon,
.eg5612-bag-join,
.eg5612-test-rail,
.eg5612-closed-cross {
  fill: none;
  stroke: var(--eg5612-ink);
  stroke-width: 3.5;
}
.eg5612-transport-bag {
  fill: color-mix(in srgb, var(--eg5612-cream) 72%, transparent);
  stroke: var(--eg5612-ink);
  stroke-width: 4;
}
.eg5612-flower-card {
  fill: var(--eg5612-red);
  stroke: var(--eg5612-ink);
  stroke-width: 3.5;
}
.eg5612-shared-seal,
.eg5612-founding-chamber,
.eg5612-larva-lift {
  fill: var(--eg5612-ochre);
  stroke: var(--eg5612-ink);
  stroke-width: 3.5;
}
.eg5612-uncertainty-shutter {
  fill: var(--eg5612-brass-light);
  stroke: var(--eg5612-ink);
  stroke-width: 4;
}
@media (max-width: 600px) {
  .dois-rios-eg5612-accessory .eg5612-small-label { display: none; }
  .dois-rios-eg5612-accessory .eg5612-stage-label { font-size: 22px; }
}

/* Orsay rural-garden apple record: decay, association and field ledger. */
.orsay-ju2518-accessory {
  --ju2518-ink: color-mix(in srgb, #303a36 86%, var(--worm-deep));
  --ju2518-brass: color-mix(in srgb, #a77a42 76%, var(--local-secondary));
  --ju2518-brass-light: color-mix(in srgb, #e0bf73 78%, var(--paper-strong));
  --ju2518-sage: color-mix(in srgb, #657c5c 80%, var(--local-primary));
  --ju2518-sage-light: color-mix(in srgb, #b8c69a 74%, var(--paper-strong));
  --ju2518-apple: color-mix(in srgb, #a64f3f 80%, var(--local-tertiary));
  --ju2518-apple-light: color-mix(in srgb, #d08a58 76%, var(--paper-strong));
  --ju2518-cream: color-mix(in srgb, #efe2bd 84%, var(--paper-strong));
  --ju2518-glass: color-mix(in srgb, #d8e7d0 56%, transparent);
}
.orsay-ju2518-accessory path,
.orsay-ju2518-accessory circle {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ju2518-label,
.ju2518-small-label,
.ju2518-number,
.ju2518-date-label,
.ju2518-date-number {
  fill: var(--ju2518-ink);
  font-family: var(--font-sans);
  font-weight: 900;
  pointer-events: none;
}
.ju2518-small-label { font-size: 12px; letter-spacing: .08em; }
.ju2518-number { font-size: 23px; }
.ju2518-date-label { font-size: 20px; }
.ju2518-date-number { font-size: 31px; }
.ju2518-flipbook-cabinet,
.ju2518-rotoscope-table,
.ju2518-association-cabinet,
.ju2518-spectroscope-table,
.ju2518-fieldbook-tower,
.ju2518-ledger-table {
  fill: var(--ju2518-brass);
  stroke: var(--ju2518-ink);
  stroke-width: 4;
}
.ju2518-state-window,
.ju2518-channel-window,
.ju2518-record-window,
.ju2518-date-window,
.ju2518-month-window,
.ju2518-year-window,
.ju2518-garden-aperture {
  fill: var(--ju2518-cream);
  stroke: var(--ju2518-ink);
  stroke-width: 3.5;
}
.ju2518-state-window.accent,
.ju2518-date-window.accent {
  fill: var(--ju2518-sage-light);
}
.ju2518-apple {
  fill: var(--ju2518-apple);
  stroke: var(--ju2518-ink);
  stroke-width: 4;
}
.ju2518-apple.softened { fill: var(--ju2518-apple-light); }
.ju2518-apple.open { fill: color-mix(in srgb, var(--ju2518-apple-light) 64%, var(--ju2518-cream)); }
.ju2518-apple-stem,
.ju2518-flip-tabs,
.ju2518-rotoscope-tick,
.ju2518-channel-rail,
.ju2518-association-bridge,
.ju2518-elevation-line {
  fill: none;
  stroke: var(--ju2518-ink);
  stroke-width: 3;
}
.ju2518-apple-leaf,
.ju2518-garden-symbol {
  fill: var(--ju2518-sage);
  stroke: var(--ju2518-ink);
  stroke-width: 3;
}
.ju2518-decay-window {
  fill: color-mix(in srgb, #6b4b37 82%, var(--ju2518-cream));
  stroke: var(--ju2518-ink);
  stroke-width: 3;
}
.ju2518-contact-tray,
.ju2518-index-plate,
.ju2518-association-plate,
.ju2518-elevation-weight,
.ju2518-nd-drawer,
.ju2518-nd-shutter {
  fill: var(--ju2518-brass-light);
  stroke: var(--ju2518-ink);
  stroke-width: 3.5;
}
.ju2518-rotoscope-disc,
.ju2518-inspection-lens,
.ju2518-link-lens,
.ju2518-date-dial,
.ju2518-elevation-dial {
  fill: var(--ju2518-glass);
  stroke: var(--ju2518-ink);
  stroke-width: 4;
}
.ju2518-signal-ribbon {
  fill: none;
  stroke: var(--ju2518-sage);
  stroke-width: 5;
}
.ju2518-signal-node {
  fill: var(--ju2518-apple-light);
  stroke: var(--ju2518-ink);
  stroke-width: 2.5;
}
@media (max-width: 600px) {
  .orsay-ju2518-accessory .ju2518-small-label { display: none; }
  .orsay-ju2518-accessory .ju2518-date-number { font-size: 35px; }
}

/* Réunion JU1375: vanilla, cane juice and endemic-gecko fantasy references. */
.bfr-reunion {
  --ju1375-ink: #263b3b;
  --ju1375-vine: #2f775d;
  --ju1375-vine-light: #79aa71;
  --ju1375-flower: #fff4d8;
  --ju1375-flower-warm: #f0d39a;
  --ju1375-lip: #a64169;
  --ju1375-pod: #5d4937;
  --ju1375-pod-light: #806244;
  --ju1375-juice: rgba(228, 190, 75, .78);
  --ju1375-juice-light: #f4d97d;
  --ju1375-glass: rgba(214, 244, 237, .34);
  --ju1375-cane: #718b4d;
  --ju1375-cane-light: #bed47a;
  --ju1375-gecko: #4cae72;
  --ju1375-gecko-light: #8bd48d;
  --ju1375-gecko-deep: #216c58;
  --ju1375-gecko-mark: #d75b62;
}
.bfr-reunion path,
.bfr-reunion circle,
.bfr-reunion ellipse {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ju1375-vanilla-vine,
.ju1375-vanilla-tendril {
  fill: none;
  stroke: var(--ju1375-vine);
  stroke-width: 13;
}
.ju1375-vanilla-tendril { stroke-width: 4; }
.ju1375-vanilla-leaf {
  fill: var(--ju1375-vine);
  stroke: var(--ju1375-ink);
  stroke-width: 4;
}
.ju1375-vanilla-leaf-light { fill: var(--ju1375-vine-light); }
.ju1375-vanilla-petal {
  fill: var(--ju1375-flower);
  stroke: var(--ju1375-ink);
  stroke-width: 3.5;
}
.ju1375-vanilla-petal.warm { fill: var(--ju1375-flower-warm); }
.ju1375-vanilla-lip {
  fill: var(--ju1375-lip);
  stroke: var(--ju1375-ink);
  stroke-width: 3.5;
}
.ju1375-vanilla-throat {
  fill: var(--bfr-gold);
  stroke: var(--ju1375-ink);
  stroke-width: 2.5;
}
.ju1375-vanilla-pod {
  fill: var(--ju1375-pod);
  stroke: var(--ju1375-ink);
  stroke-width: 4;
}
.ju1375-vanilla-pod-light { fill: var(--ju1375-pod-light); }
.ju1375-juice-glass {
  fill: var(--ju1375-glass);
  stroke: var(--ju1375-ink);
  stroke-width: 5;
}
.ju1375-glass-rim {
  fill: rgba(245, 255, 250, .5);
  stroke: var(--ju1375-ink);
  stroke-width: 4;
}
.ju1375-cane-juice {
  fill: var(--ju1375-juice);
  stroke: var(--ju1375-ink);
  stroke-width: 3.5;
}
.ju1375-juice-froth {
  fill: none;
  stroke: var(--ju1375-juice-light);
  stroke-width: 7;
}
.ju1375-cane-straw {
  fill: none;
  stroke: var(--ju1375-cane);
  stroke-width: 16;
}
.ju1375-cane-node {
  fill: none;
  stroke: var(--ju1375-cane-light);
  stroke-width: 4;
}
.ju1375-sipping-straw,
.ju1375-sipping-straw-highlight {
  fill: none;
  stroke: var(--bfr-accent);
  stroke-width: 8;
}
.ju1375-sipping-straw-highlight {
  stroke: #f7b3c0;
  stroke-width: 2.5;
}
.ju1375-glass-handle {
  fill: none;
  stroke: var(--ju1375-ink);
  stroke-width: 7;
}
.ju1375-condensation {
  fill: rgba(246, 255, 253, .84);
  stroke: rgba(54, 111, 108, .52);
  stroke-width: 2;
}
.ju1375-gecko-tail,
.ju1375-gecko-body,
.ju1375-gecko-head {
  fill: var(--ju1375-gecko);
  stroke: var(--ju1375-ink);
  stroke-width: 5;
}
.ju1375-gecko-head { fill: var(--ju1375-gecko-light); }
.ju1375-gecko-limb {
  fill: none;
  stroke: var(--ju1375-gecko-deep);
  stroke-width: 9;
}
.ju1375-gecko-toe {
  fill: none;
  stroke: var(--ju1375-gecko-deep);
  stroke-width: 4;
}
.ju1375-gecko-pad {
  fill: var(--ju1375-gecko-light);
  stroke: var(--ju1375-gecko-deep);
  stroke-width: 2.5;
}
.ju1375-gecko-eye {
  fill: #f7db79;
  stroke: var(--ju1375-ink);
  stroke-width: 3.5;
}
.ju1375-gecko-pupil { fill: #172e34; stroke: none; }
.ju1375-gecko-smile,
.ju1375-gecko-highlight {
  fill: none;
  stroke: var(--ju1375-ink);
  stroke-width: 3;
}
.ju1375-gecko-highlight { stroke: rgba(218, 250, 185, .78); }
.ju1375-gecko-mark {
  fill: var(--ju1375-gecko-mark);
  stroke: var(--ju1375-ink);
  stroke-width: 2;
}

/* Kauaʻi low-forest record: three samples, collection date and 11 m elevation. */
/* Recognisable field objects for the four remaining C. briggsae records. */
.briggsae-field-redesign {
  --bfr-ink: #252b50;
  --bfr-primary: #4f4ca8;
  --bfr-secondary: #62c9c3;
  --bfr-accent: #e9517b;
  --bfr-gold: #f0bd45;
  --bfr-ivory: #fff8df;
  --bfr-fruit: #cf4d69;
  --bfr-leaf: #248f79;
  --bfr-water: rgba(134, 222, 218, .72);
  filter: drop-shadow(0 5px 4px rgba(30, 34, 72, .27));
}
.briggsae-field-redesign.bfr-reunion {
  --bfr-primary: #504da8;
  --bfr-secondary: #66d2c9;
  --bfr-accent: #ed5e7e;
  --bfr-fruit: #d76483;
  --bfr-leaf: #178d83;
}
.briggsae-field-redesign.bfr-orsay {
  --bfr-primary: #514ca4;
  --bfr-secondary: #75c9b9;
  --bfr-accent: #d94972;
  --bfr-fruit: #cf3f5e;
  --bfr-leaf: #248b6c;
}
.briggsae-field-redesign.bfr-dois-rios {
  --bfr-primary: #3f4da5;
  --bfr-secondary: #45c6b4;
  --bfr-accent: #e84f76;
  --bfr-fruit: #e2a62c;
  --bfr-leaf: #1c9773;
}
.briggsae-field-redesign.bfr-nambucca {
  --bfr-primary: #4151a8;
  --bfr-secondary: #53c9c5;
  --bfr-accent: #e54c87;
  --bfr-fruit: #df5586;
  --bfr-leaf: #168f78;
}
.briggsae-field-redesign path,
.briggsae-field-redesign rect,
.briggsae-field-redesign circle,
.briggsae-field-redesign ellipse {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.briggsae-field-redesign .bfr-shadow {
  fill: rgba(28, 31, 65, .24);
  stroke: none;
}
.briggsae-field-redesign .bfr-primary,
.briggsae-field-redesign .bfr-secondary,
.briggsae-field-redesign .bfr-accent,
.briggsae-field-redesign .bfr-gold,
.briggsae-field-redesign .bfr-ivory,
.briggsae-field-redesign .bfr-glass,
.briggsae-field-redesign .bfr-water,
.briggsae-field-redesign .bfr-shell,
.briggsae-field-redesign .bfr-fruit,
.briggsae-field-redesign .bfr-leaf,
.briggsae-field-redesign .bfr-decay,
.briggsae-field-redesign .bfr-fruit-green,
.briggsae-field-redesign .bfr-fruit-gold,
.briggsae-field-redesign .bfr-fruit-pod,
.briggsae-field-redesign .bfr-flower,
.briggsae-field-redesign .bfr-flower-alt {
  stroke: var(--bfr-ink);
  stroke-width: 4;
}
.briggsae-field-redesign .bfr-primary { fill: var(--bfr-primary); }
.briggsae-field-redesign .bfr-secondary { fill: var(--bfr-secondary); }
.briggsae-field-redesign .bfr-accent { fill: var(--bfr-accent); }
.briggsae-field-redesign .bfr-gold { fill: var(--bfr-gold); }
.briggsae-field-redesign .bfr-ivory { fill: var(--bfr-ivory); }
.briggsae-field-redesign .bfr-glass { fill: rgba(215, 247, 244, .83); }
.briggsae-field-redesign .bfr-water { fill: var(--bfr-water); }
.briggsae-field-redesign .bfr-shell { fill: #e57391; }
.briggsae-field-redesign .bfr-fruit { fill: var(--bfr-fruit); }
.briggsae-field-redesign .bfr-leaf { fill: var(--bfr-leaf); }
.briggsae-field-redesign .bfr-decay { fill: #743b5f; }
.briggsae-field-redesign .bfr-fruit-green { fill: var(--bfr-leaf); }
.briggsae-field-redesign .bfr-fruit-gold { fill: var(--bfr-gold); }
.briggsae-field-redesign .bfr-fruit-pod { fill: var(--bfr-ivory); stroke-width: 2.5; }
.briggsae-field-redesign .bfr-flower { fill: var(--bfr-accent); stroke-width: 2.5; }
.briggsae-field-redesign .bfr-flower-alt { fill: var(--bfr-secondary); stroke-width: 2.5; }
.briggsae-field-redesign .bfr-line,
.briggsae-field-redesign .bfr-fine,
.briggsae-field-redesign .bfr-accent-line,
.briggsae-field-redesign .bfr-gold-line,
.briggsae-field-redesign .bfr-zip,
.briggsae-field-redesign .bfr-pointer,
.briggsae-field-redesign .bfr-negative,
.briggsae-field-redesign .bfr-positive,
.briggsae-field-redesign .bfr-dna-a,
.briggsae-field-redesign .bfr-dna-b,
.briggsae-field-redesign .bfr-dna-rung,
.briggsae-field-redesign .bfr-strap {
  fill: none;
  stroke: var(--bfr-ink);
  stroke-width: 4;
}
.briggsae-field-redesign .bfr-fine { stroke-width: 2.5; }
.briggsae-field-redesign .bfr-accent-line { stroke: var(--bfr-accent); stroke-width: 5; }
.briggsae-field-redesign .bfr-gold-line { stroke: var(--bfr-gold); stroke-width: 5; }
.briggsae-field-redesign .bfr-zip { stroke: var(--bfr-secondary); stroke-width: 5; stroke-dasharray: 6 5; }
.briggsae-field-redesign .bfr-pointer { stroke: var(--bfr-accent); stroke-width: 6; }
.briggsae-field-redesign .bfr-negative { stroke: var(--bfr-accent); stroke-width: 7; }
.briggsae-field-redesign .bfr-positive { stroke: var(--bfr-leaf); stroke-width: 8; }
.briggsae-field-redesign .bfr-dna-a { stroke: var(--bfr-accent); stroke-width: 6; }
.briggsae-field-redesign .bfr-dna-b { stroke: var(--bfr-secondary); stroke-width: 6; }
.briggsae-field-redesign .bfr-dna-rung { stroke-width: 2.5; }
.briggsae-field-redesign .bfr-strap { stroke: var(--bfr-primary); stroke-width: 13; }
.briggsae-field-redesign .bfr-label,
.briggsae-field-redesign .bfr-small,
.briggsae-field-redesign .bfr-date-number,
.briggsae-field-redesign .bfr-date-label,
.briggsae-field-redesign .bfr-card-symbol {
  fill: var(--bfr-ink);
  font-family: var(--font-sans);
  font-weight: 900;
  pointer-events: none;
}
.briggsae-field-redesign .bfr-label { font-size: 19px; }
.briggsae-field-redesign .bfr-small { font-size: 12px; letter-spacing: .045em; }
.briggsae-field-redesign .bfr-date-number { font-size: 64px; }
.briggsae-field-redesign .bfr-date-label { font-size: 25px; }
.briggsae-field-redesign .bfr-card-symbol { font-size: 27px; }
.briggsae-field-redesign .bfr-light-text { fill: var(--bfr-ivory); }
.briggsae-field-redesign .bfr-no-fill { fill: none; }
.briggsae-field-redesign .bfr-crown-stem,
.briggsae-field-redesign .bfr-crown-twine,
.briggsae-field-redesign .bfr-crown-ribbon,
.briggsae-field-redesign .bfr-satchel-strap,
.briggsae-field-redesign .bfr-satchel-stitch,
.briggsae-field-redesign .bfr-harness-band,
.briggsae-field-redesign .bfr-notebook-rule,
.briggsae-field-redesign .bfr-notebook-binding {
  fill: none;
  stroke: var(--bfr-ink);
  stroke-linecap: round;
  stroke-linejoin: round;
}
.briggsae-field-redesign .bfr-crown-stem { stroke: var(--bfr-leaf); stroke-width: 8; }
.briggsae-field-redesign .bfr-crown-twine { stroke: var(--bfr-gold); stroke-width: 3; }
.briggsae-field-redesign .bfr-crown-ribbon { stroke: var(--bfr-accent); stroke-width: 6; }
.briggsae-field-redesign .bfr-crown-leaf,
.briggsae-field-redesign .bfr-satchel-leaf { fill: var(--bfr-leaf); stroke: var(--bfr-ink); stroke-width: 3; }
.briggsae-field-redesign .bfr-satchel-strap { stroke: #9a633f; stroke-width: 13; }
.briggsae-field-redesign .bfr-satchel-body { fill: #bd754d; stroke: var(--bfr-ink); stroke-width: 4; }
.briggsae-field-redesign .bfr-satchel-flap { fill: #e3a15d; stroke: var(--bfr-ink); stroke-width: 4; }
.briggsae-field-redesign .bfr-satchel-buckle { fill: var(--bfr-gold); stroke: var(--bfr-ink); stroke-width: 3; }
.briggsae-field-redesign .bfr-satchel-stitch { stroke: var(--bfr-ivory); stroke-width: 3; stroke-dasharray: 4 5; }
.briggsae-field-redesign .bfr-harness-band { stroke: #825638; stroke-width: 14; }
.briggsae-field-redesign .bfr-notebook-cover { fill: var(--bfr-primary); stroke: var(--bfr-ink); stroke-width: 4; }
.briggsae-field-redesign .bfr-notebook-page { fill: var(--bfr-ivory); stroke: var(--bfr-ink); stroke-width: 3; }
.briggsae-field-redesign .bfr-notebook-rule { stroke: color-mix(in srgb, var(--bfr-secondary) 72%, var(--bfr-ink)); stroke-width: 2.5; }
.briggsae-field-redesign .bfr-notebook-binding { stroke: var(--bfr-gold); stroke-width: 7; stroke-dasharray: 5 8; }
.briggsae-field-redesign .bfr-pencil-body { fill: var(--bfr-accent); stroke: var(--bfr-ink); stroke-width: 3; }
.briggsae-field-redesign .bfr-pencil-tip { fill: var(--bfr-gold); stroke: var(--bfr-ink); stroke-width: 3; }
@media (max-width: 600px) {
  .briggsae-field-redesign .bfr-small { font-size: 15px; letter-spacing: .02em; }
}

/* Colourful, recognisable field objects for the non-N2 C. elegans records. */
.nigoni-field-redesign {
  --nfr-ink:#263052;
  --nfr-primary:#4a56b5;
  --nfr-secondary:#36bbaa;
  --nfr-accent:#e84f7d;
  --nfr-gold:#efbd45;
  --nfr-ivory:#fff8df;
  --nfr-leaf:#16896f;
  --nfr-water:rgba(99,211,207,.76);
  --nfr-water-alt:rgba(246,119,151,.58);
}
.nigoni-field-redesign.nfr-praslin { --nfr-primary:#514eb0; --nfr-secondary:#35b9a8; --nfr-accent:#e95783; }
.nigoni-field-redesign.nfr-sao-tome {
  --nfr-primary:#6f579d;
  --nfr-secondary:#2696a8;
  --nfr-accent:#e76182;
  --nfr-gold:#efbd55;
  --nfr-ivory:#fff2d5;
  --st-chocolate:#684034;
  --st-chocolate-light:#bd8062;
  --st-chocolate-bevel:#925b46;
  --st-copper:#dd925b;
  --st-foil:#f1cc7b;
  --st-wrapper:#74436f;
  --st-wrapper-accent:#55c7bd;
  --st-music-lacquer:#287fa2;
  --st-music-inlay:#f2a967;
  --st-music-bird:#d94f7b;
  --st-parasol-aqua:#69cdbf;
  --st-parasol-violet:#8870bd;
  --st-parasol-rose:#ec7398;
  --st-parasol-amber:#f1bd55;
  --st-leading:#4f3b70;
}
.nigoni-field-redesign.nfr-mahahual {
  --nfr-primary:#5553a6;
  --nfr-secondary:#3b92a1;
  --nfr-accent:#c74573;
  --mh-ink:#26314f;
  --mh-berry:#ad3f70;
  --mh-indigo:#5553a6;
  --mh-coral:#e87468;
  --mh-shell:#fff0cf;
  --mh-gold:#e1ad45;
  --mh-turquoise:#4595a3;
  --mh-lens:rgba(224,246,239,.82);
}
.nigoni-field-redesign.nfr-mauritius { --nfr-primary:#4958b3; --nfr-secondary:#37bea8; --nfr-accent:#e94f7f; }
.nigoni-field-redesign.nfr-hcmc { --nfr-primary:#4b50ae; --nfr-secondary:#32b9aa; --nfr-accent:#e84e78; }
.nigoni-field-redesign.nfr-lombok { --nfr-primary:#4655b0; --nfr-secondary:#35bda9; --nfr-accent:#e75080; }
.tropicalis-field-redesign.tfr-guadeloupe { --nfr-primary:#4a50ad; --nfr-secondary:#36bca8; --nfr-accent:#ea4e78; }
.tropicalis-field-redesign.tfr-oahu { --nfr-primary:#4656b3; --nfr-secondary:#36bea9; --nfr-accent:#ec527e; }
.tropicalis-field-redesign.tfr-kauai-qg131 { --nfr-primary:#4753b0; --nfr-secondary:#35bdaa; --nfr-accent:#e94f7c; }
.tropicalis-field-redesign.tfr-new-taipei {
  --nfr-primary:#4d50ae;
  --nfr-secondary:#30baa7;
  --nfr-accent:#eb527a;
  --nt-shoe-ink:#273451;
  --nt-shoe-berry:#be4772;
  --nt-shoe-coral:#ed726f;
  --nt-shoe-indigo:#5552ad;
  --nt-shoe-blue:#338da5;
  --nt-shoe-aqua:#69d2c5;
  --nt-shoe-gold:#efbd4e;
  --nt-shoe-ivory:#fff4d3;
  --nt-magpie-blue:#4858c4;
  --nt-magpie-deep:#303a91;
  --nt-magpie-aqua:#64d1cf;
  --nt-magpie-coral:#f06f72;
  --nt-boba-tea:#e59679;
  --nt-boba-rose:#e85e88;
  --nt-boba-glass:rgba(224,247,242,.86);
  --nt-boba-pearl:#3f315f;
}
.tfr-new-taipei.nic1648-magpie-kite,
.tfr-new-taipei.nic1648-boba-jetpack { filter:drop-shadow(0 5px 4px rgba(25,34,55,.28)); }
.tfr-new-taipei .nic1648-magpie-body { fill:var(--nt-magpie-blue);stroke:var(--nt-shoe-ink);stroke-width:7;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-magpie-body.companion { fill:var(--nt-magpie-deep); }
.tfr-new-taipei .nic1648-kite-panel { fill:var(--nt-magpie-aqua);stroke:var(--nt-shoe-ink);stroke-width:3;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-kite-panel-alt { fill:var(--nt-magpie-blue);stroke:var(--nt-shoe-ink);stroke-width:3;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-kite-panel-deep { fill:var(--nt-magpie-deep);stroke:var(--nt-shoe-ink);stroke-width:3;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-kite-panel-soft { fill:color-mix(in srgb,var(--nt-magpie-aqua) 70%,var(--nt-shoe-ivory));stroke:var(--nt-shoe-ink);stroke-width:3;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-magpie-emblem-body { fill:var(--nt-magpie-blue);stroke:var(--nt-shoe-ink);stroke-width:5;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-magpie-emblem-body.companion { fill:var(--nt-magpie-aqua); }
.tfr-new-taipei .nic1648-magpie-emblem-wing { fill:var(--nt-magpie-aqua);stroke:var(--nt-shoe-ink);stroke-width:4;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-magpie-emblem-head { fill:var(--nt-shoe-ink);stroke:var(--nt-shoe-ivory);stroke-width:4; }
.tfr-new-taipei .nic1648-magpie-emblem-eye { fill:var(--nt-shoe-ivory);stroke:var(--nt-shoe-ink);stroke-width:2; }
.tfr-new-taipei .nic1648-magpie-emblem-beak { fill:var(--nt-magpie-coral);stroke:var(--nt-shoe-ink);stroke-width:4;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-magpie-emblem-tail { fill:var(--nt-magpie-blue);stroke:var(--nt-shoe-ink);stroke-width:4;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-magpie-emblem-tail.alternate { fill:var(--nt-magpie-aqua); }
.tfr-new-taipei .nic1648-kite-spar { fill:none;stroke:var(--nt-shoe-gold);stroke-width:5;stroke-linecap:round;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-kite-tail { fill:none;stroke:var(--nt-magpie-deep);stroke-width:8;stroke-linecap:round; }
.tfr-new-taipei .nic1648-kite-bow { fill:var(--nt-magpie-coral);stroke:var(--nt-shoe-ink);stroke-width:4;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-kite-string { fill:none;stroke:var(--nt-shoe-ivory);stroke-width:4;stroke-linecap:round;stroke-dasharray:10 6; }
.tfr-new-taipei .nic1648-kite-reel { fill:var(--nt-magpie-coral);stroke:var(--nt-shoe-ink);stroke-width:5; }
.tfr-new-taipei .nic1648-kite-reel-spoke { fill:none;stroke:var(--nt-shoe-gold);stroke-width:4;stroke-linecap:round; }
.tfr-new-taipei .nic1648-boba-harness { fill:none;stroke:var(--nt-shoe-gold);stroke-width:10;stroke-linecap:round; }
.tfr-new-taipei .nic1648-boba-cup { fill:var(--nt-boba-glass);stroke:var(--nt-shoe-ink);stroke-width:7;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-boba-tea { fill:var(--nt-boba-tea);stroke:var(--nt-shoe-ink);stroke-width:5;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-boba-tea.companion { fill:color-mix(in srgb,var(--nt-boba-tea) 62%,var(--nt-shoe-gold)); }
.tfr-new-taipei .nic1648-boba-lid { fill:var(--nt-boba-rose);stroke:var(--nt-shoe-ink);stroke-width:7;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-boba-straw { fill:var(--nt-magpie-aqua);stroke:var(--nt-shoe-ink);stroke-width:6;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-boba-pearl { fill:var(--nt-boba-pearl);stroke:var(--nt-shoe-ivory);stroke-width:2.5; }
.tfr-new-taipei .nic1648-boba-pearl.accent { fill:var(--nt-magpie-deep); }
.tfr-new-taipei .nic1648-boba-fin { fill:var(--nt-magpie-blue);stroke:var(--nt-shoe-ink);stroke-width:6;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-boba-thruster { fill:var(--nt-shoe-gold);stroke:var(--nt-shoe-ink);stroke-width:6;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-boba-flame { fill:var(--nt-magpie-coral);stroke:var(--nt-shoe-ink);stroke-width:5;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-boba-highlight,.tfr-new-taipei .nic1648-boba-liquid-line { fill:none;stroke:var(--nt-shoe-ivory);stroke-width:5;stroke-linecap:round; }
.tfr-new-taipei.nic1648-rain-boot { filter:drop-shadow(0 5px 4px rgba(25,34,55,.28)); }
.tfr-new-taipei .nic1648-flex-boot-outline { fill:none;stroke:var(--nt-shoe-ink);stroke-width:58;stroke-linecap:round;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-flex-boot-shell { fill:none;stroke:var(--nt-shoe-coral);stroke-width:49;stroke-linecap:round;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-flex-boot-outline.companion { stroke-width:28; }
.tfr-new-taipei .nic1648-flex-boot-shell.companion { stroke:var(--nt-shoe-indigo);stroke-width:22; }
.tfr-new-taipei .nic1648-flex-toe { fill:color-mix(in srgb,var(--nt-shoe-coral) 68%,var(--nt-shoe-gold));stroke:var(--nt-shoe-ink);stroke-width:5;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-flex-toe.companion { fill:color-mix(in srgb,var(--nt-shoe-indigo) 72%,var(--nt-shoe-gold));stroke-width:2.5; }
.tfr-new-taipei .nic1648-flex-sole-outline { fill:none;stroke:var(--nt-shoe-ink);stroke-width:14;stroke-linecap:round;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-flex-sole { fill:none;stroke:var(--nt-shoe-aqua);stroke-width:8;stroke-linecap:round;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-flex-sole-outline.companion { stroke-width:7; }
.tfr-new-taipei .nic1648-flex-sole.companion { stroke:var(--nt-shoe-gold);stroke-width:4; }
.tfr-new-taipei .nic1648-flex-cuff { fill:var(--nt-shoe-coral);stroke:var(--nt-shoe-ink);stroke-width:4;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-flex-cuff.companion { fill:var(--nt-shoe-indigo);stroke-width:2; }
.tfr-new-taipei .nic1648-flex-opening { fill:color-mix(in srgb,var(--worm-color) 86%,var(--nt-shoe-ivory));stroke:var(--nt-shoe-ink);stroke-width:3;stroke-linejoin:round; }
.tfr-new-taipei .nic1648-flex-opening.companion { stroke-width:1.5; }
.tfr-new-taipei .nic1648-flex-rib,.tfr-new-taipei .nic1648-flex-highlight { fill:none;stroke:color-mix(in srgb,var(--nt-shoe-ivory) 70%,transparent);stroke-width:3;stroke-linecap:round; }
.tfr-new-taipei .nic1648-flex-rib.companion { stroke-width:1.5; }
.tfr-new-taipei .nic1648-flex-tread { fill:none;stroke:var(--nt-shoe-ink);stroke-width:2.5;stroke-linecap:round; }
.tfr-new-taipei .nic1648-flex-tread.companion { stroke-width:1.5; }
.tropicalis-field-redesign.tfr-pohnpei { --nfr-primary:#4458b2; --nfr-secondary:#32b9a4; --nfr-accent:#e9507f; }
.tropicalis-field-redesign.tfr-queensland { --nfr-primary:#4a52af; --nfr-secondary:#37bda7; --nfr-accent:#e84d77; }
.tropicalis-field-redesign.tfr-reunion { --nfr-primary:#4555b1; --nfr-secondary:#32bbaa; --nfr-accent:#eb517c; }
.nigoni-field-redesign path,
.nigoni-field-redesign rect,
.nigoni-field-redesign circle,
.nigoni-field-redesign ellipse { vector-effect:none; }
.nigoni-field-redesign .nfr-shadow { fill:rgba(25,31,62,.24);stroke:none; }
.nigoni-field-redesign .nfr-primary { fill:var(--nfr-primary);stroke:var(--nfr-ink);stroke-width:7;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-secondary { fill:var(--nfr-secondary);stroke:var(--nfr-ink);stroke-width:7;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-accent { fill:var(--nfr-accent);stroke:var(--nfr-ink);stroke-width:6;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-gold { fill:var(--nfr-gold);stroke:var(--nfr-ink);stroke-width:5; }
.nigoni-field-redesign .nfr-ivory { fill:var(--nfr-ivory);stroke:var(--nfr-ink);stroke-width:5; }
.nigoni-field-redesign .nfr-glass { fill:rgba(190,239,237,.78);stroke:var(--nfr-ink);stroke-width:7;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-glass-alt { fill:rgba(255,211,221,.78);stroke:var(--nfr-ink);stroke-width:7;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-water { fill:var(--nfr-water);stroke:var(--nfr-ink);stroke-width:4; }
.nigoni-field-redesign .nfr-water-alt { fill:var(--nfr-water-alt);stroke:var(--nfr-ink);stroke-width:4; }
.nigoni-field-redesign .nfr-card { fill:var(--nfr-ivory);stroke:var(--nfr-ink);stroke-width:6;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-card-alt { fill:#d8f4ee;stroke:var(--nfr-ink);stroke-width:6;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-fine,
.nigoni-field-redesign .nfr-fruit-line,
.nigoni-field-redesign .nfr-leaf-line,
.nigoni-field-redesign .nfr-spoke,
.nigoni-field-redesign .nfr-dna-rungs,
.nigoni-field-redesign .nfr-mic-slot { fill:none;stroke:var(--nfr-ink);stroke-width:4;stroke-linecap:round;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-accent-line { fill:none;stroke:var(--nfr-accent);stroke-width:7;stroke-linecap:round; }
.nigoni-field-redesign .nfr-no-fill { fill:none; }
.nigoni-field-redesign .nfr-label { fill:var(--nfr-ink);font:900 25px/1 var(--sans);letter-spacing:.04em; }
.nigoni-field-redesign .nfr-small { fill:var(--nfr-ink);font:900 15px/1 var(--sans);letter-spacing:.055em; }
.nigoni-field-redesign .nfr-light-text { fill:var(--nfr-ivory); }
.nigoni-field-redesign .nfr-fruit-yellow { fill:#f5cb4b;stroke:var(--nfr-ink);stroke-width:6;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-fruit-berry { fill:#be437c;stroke:var(--nfr-ink);stroke-width:6; }
.nigoni-field-redesign .nfr-fruit-coral { fill:#f06d68;stroke:var(--nfr-ink);stroke-width:6; }
.nigoni-field-redesign .nfr-fruit-gold { fill:#dca445;stroke:var(--nfr-ink);stroke-width:6; }
.nigoni-field-redesign .nfr-fruit-dot,
.nigoni-field-redesign .nfr-eye { fill:var(--nfr-ink);stroke:none; }
.nigoni-field-redesign .nfr-ink-fill { fill:var(--nfr-ink);stroke:var(--nfr-ink);stroke-width:3; }
.nigoni-field-redesign .nfr-leaf { fill:var(--nfr-leaf);stroke:var(--nfr-ink);stroke-width:5; }
.nigoni-field-redesign .nfr-basket { fill:#da8d55;stroke:var(--nfr-ink);stroke-width:7;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-weave { fill:none;stroke:#843f55;stroke-width:5;stroke-linecap:round; }
.nigoni-field-redesign .nfr-handle,
.nigoni-field-redesign .nfr-headband,
.nigoni-field-redesign .nfr-cable,
.nigoni-field-redesign .nfr-sound { fill:none;stroke:var(--nfr-gold);stroke-width:9;stroke-linecap:round;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-bucket { fill:var(--nfr-secondary);stroke:var(--nfr-ink);stroke-width:7;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-female { fill:var(--nfr-accent);stroke:var(--nfr-ink);stroke-width:4; }
.nigoni-field-redesign .nfr-brush { fill:none;stroke:var(--nfr-primary);stroke-width:12;stroke-linecap:round; }
.nigoni-field-redesign .nfr-brush-alt { fill:none;stroke:var(--nfr-secondary);stroke-width:12;stroke-linecap:round; }
.nigoni-field-redesign .nfr-bristle { fill:var(--nfr-accent);stroke:var(--nfr-ink);stroke-width:5; }
.nigoni-field-redesign .nfr-bristle-alt { fill:var(--nfr-gold);stroke:var(--nfr-ink);stroke-width:5; }
.nigoni-field-redesign .nfr-orchid,
.nigoni-field-redesign .nfr-begonia-flower { fill:#ed6e9a;stroke:var(--nfr-ink);stroke-width:6;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-dna-ribbon { fill:none;stroke:var(--nfr-accent);stroke-width:12;stroke-linecap:round; }
.nigoni-field-redesign .nfr-nut { fill:#d89c54;stroke:var(--nfr-ink);stroke-width:7; }
.nigoni-field-redesign .nfr-tape { fill:#ffe068;stroke:var(--nfr-ink);stroke-width:6; }
.nigoni-field-redesign .nfr-tape-tick { fill:none;stroke:var(--nfr-ink);stroke-width:4; }
.nigoni-field-redesign .nfr-hook { fill:var(--nfr-accent);stroke:var(--nfr-ink);stroke-width:6; }
.nigoni-field-redesign .nfr-earcup { fill:var(--nfr-primary);stroke:var(--nfr-ink);stroke-width:7; }
.nigoni-field-redesign .nfr-earcup-alt { fill:var(--nfr-secondary);stroke:var(--nfr-ink);stroke-width:7; }
.nigoni-field-redesign .nfr-parrot { fill:#304356;stroke:var(--nfr-ink);stroke-width:6; }
.nigoni-field-redesign .nfr-beak { fill:var(--nfr-gold);stroke:var(--nfr-ink);stroke-width:5; }
.nigoni-field-redesign .praslin-shell-rim { fill:#755346;stroke:var(--nfr-ink);stroke-width:7;stroke-linejoin:round; }
.nigoni-field-redesign .praslin-shell-base { fill:#5a4038;stroke:#382f38;stroke-width:6;stroke-linejoin:round; }
.nigoni-field-redesign .praslin-shell-scute { fill:#a95f47;stroke:#49343a;stroke-width:5;stroke-linejoin:round; }
.nigoni-field-redesign .praslin-shell-scute.warm { fill:#c47b4b; }
.nigoni-field-redesign .praslin-shell-scute.light { fill:#d2a34f; }
.nigoni-field-redesign .praslin-shell-scute.deep { fill:#76546d; }
.nigoni-field-redesign .praslin-shell-highlight { fill:none;stroke:#efd99a;stroke-width:4;stroke-linecap:round;opacity:.82; }
.nigoni-field-redesign .praslin-shell-harness { fill:none;stroke:#61465f;stroke-width:8;stroke-linecap:round;stroke-linejoin:round; }
.nigoni-field-redesign .praslin-cap-crown { fill:#303647;stroke:var(--nfr-ink);stroke-width:6;stroke-linejoin:round; }
.nigoni-field-redesign .praslin-cap-band { fill:#a84466;stroke:var(--nfr-ink);stroke-width:5;stroke-linejoin:round; }
.nigoni-field-redesign .praslin-cap-crest { fill:#76516d;stroke:var(--nfr-ink);stroke-width:6;stroke-linejoin:round; }
.nigoni-field-redesign .praslin-cap-crest-alt { fill:none;stroke:#d58a68;stroke-width:5;stroke-linecap:round; }
.nigoni-field-redesign .praslin-cap-brim { fill:#d6aa50;stroke:var(--nfr-ink);stroke-width:5;stroke-linejoin:round; }
.nigoni-field-redesign .praslin-cap-eye { fill:#f7e5a5;stroke:var(--nfr-ink);stroke-width:3; }
.nigoni-field-redesign .praslin-bracelet-front { fill:#5a5098;stroke:var(--nfr-ink);stroke-width:7;stroke-linejoin:round; }
.nigoni-field-redesign .praslin-bracelet-edge { fill:none;stroke:#e0b651;stroke-width:5;stroke-linecap:round;stroke-linejoin:round; }
.nigoni-field-redesign .praslin-bracelet-tie { fill:none;stroke:#a84466;stroke-width:7;stroke-linecap:round; }
.nigoni-field-redesign .praslin-bracelet-bell { fill:#d7aa4f;stroke:var(--nfr-ink);stroke-width:5;stroke-linejoin:round; }
.nigoni-field-redesign .praslin-bracelet-bell.alt { fill:#a84f67; }
.nigoni-field-redesign .praslin-bracelet-clapper { fill:#a84466;stroke:var(--nfr-ink);stroke-width:3; }
.nigoni-field-redesign .nfr-microphone { fill:var(--nfr-primary);stroke:var(--nfr-ink);stroke-width:7; }
.nigoni-field-redesign .nfr-mic-head { fill:var(--nfr-secondary);stroke:var(--nfr-ink);stroke-width:7; }
.nigoni-field-redesign .nfr-stand { fill:none;stroke:var(--nfr-ink);stroke-width:9;stroke-linecap:round; }
.nigoni-field-redesign .nfr-begonia-leaf { fill:var(--nfr-leaf);stroke:var(--nfr-ink);stroke-width:6; }
.nigoni-field-redesign .nfr-press-bar { fill:none;stroke:var(--nfr-gold);stroke-width:10;stroke-linecap:round; }
.nigoni-field-redesign .st-foil-back {
  fill:var(--st-foil);
  stroke:var(--nfr-ink);
  stroke-width:7;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-chocolate-slab,
.nigoni-field-redesign .st-broken-square {
  fill:var(--st-chocolate);
  stroke:var(--nfr-ink);
  stroke-width:7;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-chocolate-segment {
  fill:var(--st-chocolate-bevel);
  stroke:var(--st-chocolate-light);
  stroke-width:3;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-chocolate-groove {
  fill:none;
  stroke:var(--st-chocolate-light);
  stroke-width:5;
  stroke-linecap:round;
}
.nigoni-field-redesign .st-wrapper {
  fill:var(--st-wrapper);
  stroke:var(--nfr-ink);
  stroke-width:7;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-wrapper-rib,
.nigoni-field-redesign .st-foil-fold,
.nigoni-field-redesign .st-wrapper-botanical {
  fill:none;
  stroke:var(--st-copper);
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-cocoa-flower {
  fill:var(--nfr-ivory);
  stroke:var(--st-copper);
  stroke-width:5;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-cocoa-pod {
  fill:var(--nfr-ivory);
  stroke:var(--st-copper);
  stroke-width:5;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-cocoa-pod-rib {
  fill:none;
  stroke:var(--st-copper);
  stroke-width:3;
  stroke-linecap:round;
}
.nigoni-field-redesign .st-wrapper-jewel {
  fill:var(--st-wrapper-accent);
  stroke:var(--nfr-ink);
  stroke-width:4;
}
.nigoni-field-redesign .st-parasol-jewel {
  fill:var(--st-parasol-amber);
  stroke:var(--nfr-ink);
  stroke-width:4;
}
.nigoni-field-redesign .st-music-box {
  fill:var(--st-music-lacquer);
  stroke:var(--nfr-ink);
  stroke-width:7;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-music-lid {
  fill:var(--st-parasol-violet);
  stroke:var(--nfr-ink);
  stroke-width:7;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-music-box-inlay {
  fill:var(--st-music-inlay);
  stroke:var(--nfr-ivory);
  stroke-width:5;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-music-panel {
  fill:var(--st-music-inlay);
  stroke:var(--nfr-ivory);
  stroke-width:5;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-music-cylinder {
  fill:var(--nfr-gold);
  stroke:var(--nfr-ink);
  stroke-width:5;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-cylinder-pin {
  fill:none;
  stroke:var(--st-wrapper);
  stroke-width:4;
  stroke-linecap:round;
}
.nigoni-field-redesign .st-songbird {
  fill:var(--st-music-bird);
  stroke:var(--nfr-ink);
  stroke-width:6;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-bird-tail {
  fill:var(--st-music-bird);
  stroke:var(--nfr-ink);
  stroke-width:5;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-bird-wing {
  fill:var(--nfr-ivory);
  stroke:var(--st-wrapper);
  stroke-width:4;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-bird-beak {
  fill:var(--nfr-gold);
  stroke:var(--nfr-ink);
  stroke-width:5;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-bird-eye { fill:var(--nfr-ink);stroke:none; }
.nigoni-field-redesign .st-perch,
.nigoni-field-redesign .st-winding-key,
.nigoni-field-redesign .st-musical-scroll,
.nigoni-field-redesign .st-music-note,
.nigoni-field-redesign .st-box-filigree,
.nigoni-field-redesign .st-music-foot {
  fill:none;
  stroke:var(--nfr-gold);
  stroke-width:8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-music-note.alternate { stroke:var(--nfr-accent); }
.nigoni-field-redesign .st-key-knob {
  fill:var(--st-wrapper-accent);
  stroke:var(--nfr-ink);
  stroke-width:4;
}
.nigoni-field-redesign .st-gramophone-horn {
  fill:var(--st-parasol-violet);
  stroke:var(--nfr-ink);
  stroke-width:7;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-horn-rib {
  fill:none;
  stroke:var(--nfr-gold);
  stroke-width:5;
  stroke-linecap:round;
}
.nigoni-field-redesign .st-parasol-canopy {
  fill:var(--st-parasol-aqua);
  stroke:var(--nfr-ink);
  stroke-width:7;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-leaf-parasol {
  fill:var(--st-parasol-violet);
  stroke:var(--nfr-ink);
  stroke-width:7;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-glass-leading,
.nigoni-field-redesign .st-parasol-edge {
  fill:none;
  stroke:var(--st-leading);
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-parasol-shaft {
  fill:none;
  stroke:var(--nfr-gold);
  stroke-width:9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-begonia-glass-flower {
  fill:var(--st-parasol-rose);
  stroke:var(--nfr-ivory);
  stroke-width:5;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-glass-pane-aqua,
.nigoni-field-redesign .st-glass-pane-rose,
.nigoni-field-redesign .st-glass-pane-gold {
  stroke:var(--st-leading);
  stroke-width:4;
  stroke-linejoin:round;
}
.nigoni-field-redesign .st-glass-pane-aqua { fill:var(--st-parasol-aqua); }
.nigoni-field-redesign .st-glass-pane-rose { fill:var(--st-parasol-rose); }
.nigoni-field-redesign .st-glass-pane-gold { fill:var(--st-parasol-amber); }
.nigoni-field-redesign .st-parasol-drop {
  fill:var(--st-parasol-amber);
  stroke:var(--st-leading);
  stroke-width:3;
}
.nigoni-field-redesign .st-parasol-drop.rose { fill:var(--st-parasol-rose); }
.nigoni-field-redesign.nfr-mahahual .mahahual-beach-accessory {
  filter:drop-shadow(0 5px 4px rgba(25,31,58,.26));
}
.nigoni-field-redesign.nfr-mahahual .mh-swim-top,
.nigoni-field-redesign.nfr-mahahual .mh-swim-wrap {
  fill:var(--mh-berry);
  stroke:var(--mh-ink);
  stroke-width:7;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-swim-top.companion { fill:var(--mh-indigo); }
.nigoni-field-redesign.nfr-mahahual .mh-swim-wrap { fill:var(--mh-indigo); }
.nigoni-field-redesign.nfr-mahahual .mh-swim-wrap.companion { fill:var(--mh-berry); }
.nigoni-field-redesign.nfr-mahahual .mh-swim-panel {
  fill:none;
  stroke:var(--mh-shell);
  stroke-width:8;
  stroke-linecap:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-swim-ruffle {
  fill:none;
  stroke:var(--mh-shell);
  stroke-width:11;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-swim-strap,
.nigoni-field-redesign.nfr-mahahual .mh-swim-halter,
.nigoni-field-redesign.nfr-mahahual .mh-swim-seam,
.nigoni-field-redesign.nfr-mahahual .mh-swim-bow,
.nigoni-field-redesign.nfr-mahahual .mh-swim-brooch-tie {
  fill:none;
  stroke:var(--mh-gold);
  stroke-width:7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-swim-seam { stroke-width:4; }
.nigoni-field-redesign.nfr-mahahual .mh-swim-brooch {
  fill:var(--mh-shell);
  stroke:var(--mh-gold);
  stroke-width:5;
}
.nigoni-field-redesign.nfr-mahahual .mh-swim-trunks-leg {
  fill:var(--mh-indigo);
  stroke:var(--mh-ink);
  stroke-width:7;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-swim-trunks-panel {
  fill:var(--mh-berry);
  stroke:var(--mh-ink);
  stroke-width:4;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-swim-trunks-seam,
.nigoni-field-redesign.nfr-mahahual .mh-swim-trunks-drawstring {
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-swim-trunks-waistband {
  fill:var(--mh-shell);
  stroke:var(--mh-ink);
  stroke-width:5;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-swim-trunks-seam {
  stroke:var(--mh-shell);
  stroke-width:4;
}
.nigoni-field-redesign.nfr-mahahual .mh-swim-trunks-drawstring {
  stroke:var(--mh-gold);
  stroke-width:6;
}
.nigoni-field-redesign.nfr-mahahual .mh-swim-trunks-eyelet {
  fill:var(--mh-shell);
  stroke:var(--mh-gold);
  stroke-width:3;
}
.nigoni-field-redesign.nfr-mahahual .mh-glasses-lens {
  fill:var(--mh-lens);
  stroke:var(--mh-berry);
  stroke-width:5;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-glasses-lens.companion { stroke:var(--mh-indigo); }
.nigoni-field-redesign.nfr-mahahual .mh-glasses-frame {
  fill:none;
  stroke:var(--mh-indigo);
  stroke-width:9;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual ellipse.mh-glasses-frame.companion {
  fill:none;
  stroke:var(--mh-berry);
  stroke-width:8;
}
.nigoni-field-redesign.nfr-mahahual .mh-glasses-bridge,
.nigoni-field-redesign.nfr-mahahual .mh-glasses-brow,
.nigoni-field-redesign.nfr-mahahual .mh-glasses-wing {
  fill:none;
  stroke:var(--mh-gold);
  stroke-width:8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-glasses-brow.companion { stroke:var(--mh-coral);stroke-width:6; }
.nigoni-field-redesign.nfr-mahahual .mh-glasses-glint {
  fill:none;
  stroke:#fff;
  stroke-width:5;
  stroke-linecap:round;
  opacity:.88;
}
.nigoni-field-redesign.nfr-mahahual .mh-glasses-jewel {
  fill:var(--mh-coral);
  stroke:var(--mh-ink);
  stroke-width:4;
}
.nigoni-field-redesign.nfr-mahahual .mh-parasol-canopy,
.nigoni-field-redesign.nfr-mahahual .mh-folded-canopy {
  fill:var(--mh-berry);
  stroke:var(--mh-ink);
  stroke-width:7;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-folded-canopy { fill:var(--mh-indigo); }
.nigoni-field-redesign.nfr-mahahual .mh-parasol-panel {
  stroke:var(--mh-ink);
  stroke-width:4;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-parasol-panel.shell { fill:var(--mh-shell); }
.nigoni-field-redesign.nfr-mahahual .mh-parasol-panel.indigo { fill:var(--mh-indigo); }
.nigoni-field-redesign.nfr-mahahual .mh-parasol-panel.gold { fill:var(--mh-gold); }
.nigoni-field-redesign.nfr-mahahual .mh-parasol-rib,
.nigoni-field-redesign.nfr-mahahual .mh-parasol-edge,
.nigoni-field-redesign.nfr-mahahual .mh-parasol-shaft,
.nigoni-field-redesign.nfr-mahahual .mh-parasol-band,
.nigoni-field-redesign.nfr-mahahual .mh-parasol-bow {
  fill:none;
  stroke:var(--mh-gold);
  stroke-width:7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-parasol-rib { stroke-width:5; }
.nigoni-field-redesign.nfr-mahahual .mh-parasol-edge { stroke:var(--mh-shell);stroke-width:8; }
.nigoni-field-redesign.nfr-mahahual .mh-parasol-finial {
  fill:var(--mh-gold);
  stroke:var(--mh-ink);
  stroke-width:4;
  stroke-linejoin:round;
}
.nigoni-field-redesign.nfr-mahahual .mh-parasol-drop {
  fill:var(--mh-turquoise);
  stroke:var(--mh-ink);
  stroke-width:3;
}
.nigoni-field-redesign.nfr-mahahual .mh-parasol-drop.coral { fill:var(--mh-coral); }
.nigoni-field-redesign .nfr-frame { fill:none;stroke:var(--nfr-primary);stroke-width:12;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-arrow { fill:none;stroke:var(--nfr-accent);stroke-width:7;stroke-linecap:round;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-lighthouse { fill:var(--nfr-ivory);stroke:var(--nfr-ink);stroke-width:7; }
.nigoni-field-redesign .nfr-lamp-room { fill:var(--nfr-accent);stroke:var(--nfr-ink);stroke-width:7; }
.nigoni-field-redesign .nfr-light-beam { fill:rgba(255,221,94,.42);stroke:var(--nfr-gold);stroke-width:5; }
.nigoni-field-redesign .nfr-stripe { fill:none;stroke:var(--nfr-primary);stroke-width:13; }
.nigoni-field-redesign .nfr-needle { fill:var(--nfr-accent);stroke:var(--nfr-ink);stroke-width:5; }
.nigoni-field-redesign .nfr-contour { fill:none;stroke:var(--nfr-secondary);stroke-width:6;stroke-linecap:round; }
.nigoni-field-redesign .nfr-band { fill:none;stroke:var(--nfr-accent);stroke-width:9;stroke-linecap:round; }
.nigoni-field-redesign .nfr-band-alt { fill:none;stroke:var(--nfr-primary);stroke-width:9;stroke-linecap:round; }
.nigoni-field-redesign .nfr-caliper { fill:none;stroke:var(--nfr-primary);stroke-width:12;stroke-linecap:round;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-caliper-jaw { fill:none;stroke:var(--nfr-accent);stroke-width:10;stroke-linecap:round; }
.nigoni-field-redesign .nfr-ruler { fill:#ffe068;stroke:var(--nfr-ink);stroke-width:6; }
.nigoni-field-redesign .nfr-mountain { fill:#72c7b0;stroke:var(--nfr-ink);stroke-width:6;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-water-flow { fill:none;stroke:#53cfe0;stroke-width:15;stroke-linecap:round; }
.nigoni-field-redesign .nfr-needle-line { fill:none;stroke:var(--nfr-accent);stroke-width:7;stroke-linecap:round; }
.nigoni-field-redesign .nfr-soil-dark { fill:#8c5270;stroke:var(--nfr-ink);stroke-width:5; }
.nigoni-field-redesign .nfr-soil-light { fill:#e4ae61;stroke:var(--nfr-ink);stroke-width:5; }
.nigoni-field-redesign .nfr-folder { fill:var(--nfr-primary);stroke:var(--nfr-ink);stroke-width:7;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-folder-tab { fill:var(--nfr-secondary);stroke:var(--nfr-ink);stroke-width:6;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-microscope { fill:none;stroke:var(--nfr-primary);stroke-width:18;stroke-linecap:round;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-stage { fill:var(--nfr-secondary);stroke:var(--nfr-ink);stroke-width:7; }
.nigoni-field-redesign .nfr-microscope-base { fill:none;stroke:var(--nfr-ink);stroke-width:14;stroke-linecap:round; }
.nigoni-field-redesign .nfr-pod { fill:#d88f55;stroke:var(--nfr-ink);stroke-width:7;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-pod-seam { fill:none;stroke:#8f3f59;stroke-width:6;stroke-linecap:round; }
.nigoni-field-redesign .nfr-crane { fill:none;stroke:var(--nfr-primary);stroke-width:11;stroke-linecap:square;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-crane-cable { fill:none;stroke:var(--nfr-gold);stroke-width:6;stroke-linecap:round; }
.nigoni-field-redesign .nfr-crane-brace { fill:none;stroke:var(--nfr-ink);stroke-width:6;stroke-linecap:round;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-badge { fill:var(--nfr-primary);stroke:var(--nfr-ink);stroke-width:7;stroke-linejoin:round; }
.nigoni-field-redesign .nfr-ribbon { fill:var(--nfr-accent);stroke:var(--nfr-ink);stroke-width:6;stroke-linejoin:round; }

.elegans-field-redesign {
  --efr-ink: #252b50;
  --efr-primary: #4c50aa;
  --efr-secondary: #64cec3;
  --efr-accent: #e9527d;
  --efr-gold: #efbd45;
  --efr-ivory: #fff8df;
  --efr-leaf: #188c73;
  --efr-water: rgba(118, 218, 212, .74);
  --efr-dark: #324268;
  filter: drop-shadow(0 5px 4px rgba(30, 34, 72, .27));
}
.elegans-field-redesign.efr-santeuil { --efr-primary:#4d4fa8; --efr-secondary:#63cec8; --efr-accent:#e95b80; --efr-leaf:#1b8d78; }
.efr-santeuil .santeuil-armour-straps,
.efr-santeuil .santeuil-pack-straps { fill:none; stroke:#4d4fa8; stroke-width:11; stroke-linecap:round; }
.efr-santeuil .santeuil-stem-shell { fill:#46a86f; stroke:#203c49; stroke-width:4.5; }
.efr-santeuil .santeuil-stem-highlight { fill:#92d58c; stroke:#2f795f; stroke-width:2.5; }
.efr-santeuil .santeuil-stem-rim { fill:#d6d978; stroke:#203c49; stroke-width:4; }
.efr-santeuil .santeuil-stem-hollow { fill:#315b4c; stroke:#f1d36c; stroke-width:3.5; }
.efr-santeuil .santeuil-stem-fibres,
.efr-santeuil .santeuil-stem-node,
.efr-santeuil .santeuil-stem-scars { fill:none; stroke:#e3ec9a; stroke-width:3; stroke-linecap:round; }
.efr-santeuil .santeuil-stem-node { stroke:#217263; stroke-width:4.5; opacity:.85; }
.efr-santeuil .santeuil-armour-buckle { fill:none; stroke:#e95b80; stroke-width:8; stroke-linecap:round; }
.efr-santeuil .santeuil-armour-rivet { fill:#efbd45; stroke:#203c49; stroke-width:3; }
.efr-santeuil .santeuil-organ-cabinet { fill:#157f78; stroke:#252b50; stroke-width:4.5; }
.efr-santeuil .santeuil-organ-window { fill:#25376b; stroke:#efbd45; stroke-width:3; }
.efr-santeuil .santeuil-organ-cylinder { fill:#66d1c5; stroke:#252b50; stroke-width:3; }
.efr-santeuil .santeuil-organ-pin { fill:#ffe28a; stroke:#744b69; stroke-width:1.2; }
.efr-santeuil .santeuil-organ-bellows { fill:#d94e78; stroke:#252b50; stroke-width:4; }
.efr-santeuil .santeuil-bellows-fold { fill:none; stroke:#ffd374; stroke-width:3; }
.efr-santeuil .santeuil-organ-keybed { fill:#fff8df; stroke:#252b50; stroke-width:4; }
.efr-santeuil .santeuil-organ-key { fill:none; stroke:#4d4fa8; stroke-width:3; }
.efr-santeuil .santeuil-organ-pipe { fill:#efbd45; stroke:#252b50; stroke-width:3; }
.efr-santeuil .santeuil-organ-pipe.alt { fill:#65cec8; }
.efr-santeuil .santeuil-organ-crank { fill:none; stroke:#efbd45; stroke-width:6; stroke-linecap:round; stroke-linejoin:round; }
.efr-santeuil .santeuil-crank-knob { fill:#e95b80; stroke:#252b50; stroke-width:3; }
.efr-santeuil .santeuil-organ-inlay { fill:none; stroke:#ffe18b; stroke-width:3; stroke-linecap:round; }
.efr-santeuil .santeuil-signal-clamp { fill:#4d4fa8; stroke:#252b50; stroke-width:4; }
.efr-santeuil .santeuil-signal-mast { fill:#f7eed2; stroke:#252b50; stroke-width:4; }
.efr-santeuil .santeuil-signal-cap { fill:#205f68; stroke:#252b50; stroke-width:4; }
.efr-santeuil .santeuil-signal-arm { fill:#e65364; stroke:#252b50; stroke-width:4; }
.efr-santeuil .santeuil-signal-stripes { fill:#fff8df; stroke:none; }
.efr-santeuil .santeuil-signal-pivot { fill:#efbd45; stroke:#252b50; stroke-width:4; }
.efr-santeuil .santeuil-signal-lens { fill:#a32754; stroke:#fff0a8; stroke-width:2.5; }
.efr-santeuil .santeuil-signal-lamp-frame,
.efr-santeuil .santeuil-clamp-detail,
.efr-santeuil .santeuil-signal-cable { fill:none; stroke:#252b50; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.efr-santeuil .santeuil-signal-lamp { fill:#f04f62; stroke:#252b50; stroke-width:3; }
.efr-santeuil .santeuil-signal-weight { fill:#65cec8; stroke:#252b50; stroke-width:3; }
.efr-santeuil .santeuil-driver-jacket { fill:#244d68; stroke:#202d45; stroke-width:5; stroke-linejoin:round; }
.efr-santeuil .santeuil-driver-jacket.companion { fill:#315f76; }
.efr-santeuil .santeuil-driver-lapels { fill:#f3d27a; stroke:#202d45; stroke-width:3.5; stroke-linejoin:round; }
.efr-santeuil .santeuil-driver-piping,
.efr-santeuil .santeuil-driver-hem { fill:none; stroke:#dfaa47; stroke-width:4; stroke-linecap:round; }
.efr-santeuil .santeuil-driver-button { fill:#ffd978; stroke:#644a31; stroke-width:1.5; }
.efr-santeuil .santeuil-driver-pocket { fill:#1a405d; stroke:#f0c564; stroke-width:3; stroke-linejoin:round; }
.efr-santeuil .santeuil-driver-cap { fill:#23435e; stroke:#202d45; stroke-width:4; stroke-linejoin:round; }
.efr-santeuil .santeuil-driver-cap.companion { fill:#315f76; }
.efr-santeuil .santeuil-driver-neckerchief { fill:#cf5364; stroke:#722f4b; stroke-width:3.5; stroke-linejoin:round; }
.efr-santeuil .santeuil-organ-cabinet { fill:#9a613c; stroke:#382f3d; stroke-width:5; stroke-linejoin:round; }
.efr-santeuil .santeuil-organ-cabinet.companion { fill:#7e523b; }
.efr-santeuil .santeuil-organ-window { fill:#3c3045; stroke:#e2b75e; stroke-width:3; }
.efr-santeuil .santeuil-organ-cylinder { fill:#c88648; stroke:#382f3d; stroke-width:3; }
.efr-santeuil .santeuil-organ-pin { fill:#f8d67a; stroke:#6a4733; stroke-width:1.2; }
.efr-santeuil .santeuil-organ-bellows { fill:#a93f58; stroke:#382f3d; stroke-width:4; }
.efr-santeuil .santeuil-organ-bellows.companion { fill:#337d73; }
.efr-santeuil .santeuil-bellows-fold { fill:none; stroke:#f3ca70; stroke-width:3; }
.efr-santeuil .santeuil-organ-keybed { fill:#fff6dc; stroke:#382f3d; stroke-width:4; }
.efr-santeuil .santeuil-organ-key { fill:none; stroke:#3d3957; stroke-width:2.5; }
.efr-santeuil .santeuil-organ-pipe { fill:#d8ad50; stroke:#534131; stroke-width:2.5; }
.efr-santeuil .santeuil-organ-pipe.alt { fill:#73b8ad; }
.efr-santeuil .santeuil-organ-crank,
.efr-santeuil .santeuil-organ-inlay { fill:none; stroke:#e5b754; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.efr-santeuil .santeuil-organ-inlay { stroke-width:3; }
.efr-santeuil .santeuil-crank-knob { fill:#cf5364; stroke:#382f3d; stroke-width:3; }
.efr-santeuil .santeuil-train-frame { fill:#a34452; stroke:#243344; stroke-width:5; stroke-linejoin:round; }
.efr-santeuil .santeuil-train-frame.companion { fill:#ca7155; }
.efr-santeuil .santeuil-train-boiler { fill:#4e9b68; stroke:#243344; stroke-width:5; stroke-linejoin:round; }
.efr-santeuil .santeuil-train-boiler.companion { fill:#69ad74; }
.efr-santeuil .santeuil-train-boiler-rim { fill:#89c782; stroke:#243344; stroke-width:4; }
.efr-santeuil .santeuil-train-hollow { fill:#294e48; stroke:#d1df8b; stroke-width:3; }
.efr-santeuil .santeuil-train-stem-node { fill:none; stroke:#2f755d; stroke-width:4; opacity:.9; }
.efr-santeuil .santeuil-train-cab { fill:#315f76; stroke:#243344; stroke-width:5; stroke-linejoin:round; fill-rule:evenodd; }
.efr-santeuil .santeuil-train-cab.companion { fill:#4d5792; }
.efr-santeuil .santeuil-train-roof { fill:#e2b75e; stroke:#243344; stroke-width:5; stroke-linejoin:round; }
.efr-santeuil .santeuil-train-chimney { fill:#4d5792; stroke:#243344; stroke-width:5; stroke-linejoin:round; }
.efr-santeuil .santeuil-train-wheel { fill:#344d65; stroke:#202b39; stroke-width:5; }
.efr-santeuil .santeuil-train-wheel.small { fill:#55708a; }
.efr-santeuil .santeuil-train-rods,
.efr-santeuil .santeuil-train-couplers { fill:none; stroke:#e1b554; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.efr-santeuil .santeuil-train-lamp { fill:#ffe58b; stroke:#704d33; stroke-width:3; }
.elegans-field-redesign.efr-edinburgh { --efr-primary:#4a4e9f; --efr-secondary:#54c5bd; --efr-accent:#cf4770; --efr-leaf:#177d72; }
.elegans-field-redesign.efr-edinburgh .efr-kilt { fill:#183f46; }
.elegans-field-redesign.efr-edinburgh .efr-waistband { fill:#873449; }
.elegans-field-redesign.efr-edinburgh .efr-tartan-gold { stroke:#d1ad5e; }
.elegans-field-redesign.efr-edinburgh .efr-tartan-aqua { stroke:#a94752; }
.elegans-field-redesign.efr-edinburgh .efr-kilt-pleat { stroke:#102e38; }
.elegans-field-redesign.efr-edinburgh .efr-kilt-hem { stroke:#17313b; }
.elegans-field-redesign.efr-edinburgh .efr-sporran-detail { stroke:#b9934e; }
.location-accessory-art.edinburgh-tailored-kilt,
.location-accessory-art.santeuil-refined,
.location-accessory-art.tenerife-refined { transform-box:view-box; transform-origin:0 0; }
.tenerife-refined { filter:drop-shadow(0 2px 1px rgba(30,40,30,.18)); }
.location-accessory-art.edinburgh-observing-scope,
.edinburgh-observing-scope .efr-scope-assembly,
.edinburgh-focus-wheel { transform-box:view-box; transform-origin:0 0; }
.edinburgh-observing-scope .edinburgh-focus-wheel { transition:none; }
.elegans-field-redesign.efr-edinburgh .efr-drone-body,
.elegans-field-redesign.efr-edinburgh .efr-drone-body-alt,
.elegans-field-redesign.efr-edinburgh .efr-chanter-body { fill:#293541; }
.elegans-field-redesign.efr-edinburgh .efr-drone-ferrule,
.elegans-field-redesign.efr-edinburgh .efr-drone-cap,
.elegans-field-redesign.efr-edinburgh .efr-drone-cap-alt,
.elegans-field-redesign.efr-edinburgh .efr-chanter-sole { fill:#e4d3a9; }
.elegans-field-redesign.efr-edinburgh .efr-bag { fill:#316b60; }
.elegans-field-redesign.efr-edinburgh .efr-bag-braid { stroke:#9bb2a0; stroke-width:2.5; opacity:.65; }
.elegans-field-redesign.efr-edinburgh .efr-scope-tube { fill:#314e64; }
.elegans-field-redesign.efr-edinburgh .efr-scope-dew-shield { fill:#548c91; }
.elegans-field-redesign.efr-edinburgh .efr-tripod { stroke:#725b49; }
.elegans-field-redesign.efr-edinburgh .efr-tripod-foot { stroke:#293e49; }
.elegans-field-redesign.efr-edinburgh .efr-scope-ring { fill:#cead6a; }
.elegans-field-redesign.efr-tenerife { --efr-primary:#4554aa; --efr-secondary:#5fd0bb; --efr-accent:#e54f79; --efr-leaf:#188f70; }
.elegans-field-redesign.efr-kauai { --efr-primary:#504ca8; --efr-secondary:#65d1ca; --efr-accent:#e85a85; --efr-leaf:#178e7a; }
.efr-kauai .kauai-case-straps,
.efr-kauai .kauai-case-seam,
.efr-kauai .kauai-case-handle,
.efr-kauai .kauai-mist-yoke,
.efr-kauai .kauai-mist-vein,
.efr-kauai .kauai-mist-glint,
.efr-kauai .kauai-mist-ties,
.efr-kauai .kauai-haplotype-band,
.efr-kauai .kauai-haplotype-band-alt,
.efr-kauai .kauai-haplotype-dna {
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.efr-kauai .kauai-case-straps { stroke:#77533f; stroke-width:13; }
.efr-kauai .kauai-case-shell { fill:#4c4a99; stroke:var(--efr-ink); stroke-width:4; }
.efr-kauai .kauai-case-window { fill:rgba(210,244,236,.9); stroke:var(--efr-gold); stroke-width:3; }
.efr-kauai .kauai-case-leaf { fill:var(--efr-leaf); stroke:var(--efr-ink); stroke-width:3; }
.efr-kauai .kauai-case-fragment { fill:#c48555; stroke:var(--efr-ink); stroke-width:3; }
.efr-kauai .kauai-case-seam { stroke:var(--efr-secondary); stroke-width:3; stroke-dasharray:5 6; }
.efr-kauai .kauai-case-buckle { fill:var(--efr-gold); stroke:var(--efr-ink); stroke-width:3; }
.efr-kauai .kauai-case-handle { stroke:#77533f; stroke-width:9; }
.efr-kauai .kauai-mist-yoke { stroke:var(--efr-gold); stroke-width:8; }
.efr-kauai .kauai-mist-leaf { fill:#50b99c; stroke:var(--efr-ink); stroke-width:3.5; }
.efr-kauai .kauai-mist-leaf-alt { fill:#7ccfc2; stroke:var(--efr-ink); stroke-width:3.5; }
.efr-kauai .kauai-mist-vein { stroke:#f3d875; stroke-width:3; }
.efr-kauai .kauai-mist-flask { fill:rgba(202,242,239,.97); stroke:var(--efr-ink); stroke-width:3.5; }
.efr-kauai .kauai-mist-flask-alt { fill:rgba(229,215,247,.96); stroke:var(--efr-ink); stroke-width:3.5; }
.efr-kauai .kauai-mist-water { fill:#54c7c4; stroke:var(--efr-ink); stroke-width:2; }
.efr-kauai .kauai-mist-water-alt { fill:#d978b3; stroke:var(--efr-ink); stroke-width:2; }
.efr-kauai .kauai-mist-glint { stroke:#fffdf2; stroke-width:3; }
.efr-kauai .kauai-mist-drop { fill:#83e0dc; stroke:var(--efr-ink); stroke-width:2; }
.efr-kauai .kauai-mist-ties { stroke:var(--efr-accent); stroke-width:6; }
.efr-kauai .kauai-haplotype-card { fill:var(--efr-ivory); stroke:var(--efr-ink); stroke-width:3; }
.efr-kauai .kauai-haplotype-card-alt { fill:var(--efr-secondary); stroke:var(--efr-ink); stroke-width:3; }
.efr-kauai .kauai-haplotype-band { stroke:var(--efr-accent); stroke-width:5; }
.efr-kauai .kauai-haplotype-band-alt { stroke:var(--efr-primary); stroke-width:5; }
.efr-kauai .kauai-haplotype-clip { fill:var(--efr-gold); stroke:var(--efr-ink); stroke-width:4; }
.efr-kauai .kauai-haplotype-dna { stroke:var(--efr-primary); stroke-width:4; }
.efr-kauai .kauai-haplotype-ribbon { fill:var(--efr-accent); stroke:var(--efr-ink); stroke-width:4; }
.elegans-field-redesign.efr-act { --efr-primary:#4454aa; --efr-secondary:#55c9c1; --efr-accent:#e2527c; --efr-leaf:#198b72; }
.elegans-field-redesign.efr-auckland { --efr-primary:#4650a4; --efr-secondary:#5bcfc0; --efr-accent:#e35080; --efr-leaf:#168c70; }
.elegans-field-redesign.efr-araucania { --efr-primary:#514ba3; --efr-secondary:#58c8bd; --efr-accent:#df4c78; --efr-leaf:#1b8b70; }
.elegans-field-redesign path,
.elegans-field-redesign rect,
.elegans-field-redesign circle,
.elegans-field-redesign ellipse {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.elegans-field-redesign .efr-shadow { fill:rgba(28,31,65,.24); stroke:none; }
.elegans-field-redesign .efr-primary,
.elegans-field-redesign .efr-secondary,
.elegans-field-redesign .efr-accent,
.elegans-field-redesign .efr-gold,
.elegans-field-redesign .efr-ivory,
.elegans-field-redesign .efr-glass,
.elegans-field-redesign .efr-glass-alt,
.elegans-field-redesign .efr-water,
.elegans-field-redesign .efr-water-alt,
.elegans-field-redesign .efr-stem,
.elegans-field-redesign .efr-body,
.elegans-field-redesign .efr-wing,
.elegans-field-redesign .efr-wing-alt,
.elegans-field-redesign .efr-cylinder,
.elegans-field-redesign .efr-barrel,
.elegans-field-redesign .efr-telescope-tube,
.elegans-field-redesign .efr-telescope-lens,
.elegans-field-redesign .efr-telescope-eye,
.elegans-field-redesign .efr-kilt,
.elegans-field-redesign .efr-waistband,
.elegans-field-redesign .efr-sporran,
.elegans-field-redesign .efr-bag,
.elegans-field-redesign .efr-avocado,
.elegans-field-redesign .efr-avocado-flesh,
.elegans-field-redesign .efr-pit,
.elegans-field-redesign .efr-tape-blade,
.elegans-field-redesign .efr-root,
.elegans-field-redesign .efr-packet,
.elegans-field-redesign .efr-packet-alt,
.elegans-field-redesign .efr-leaf,
.elegans-field-redesign .efr-fragment,
.elegans-field-redesign .efr-card,
.elegans-field-redesign .efr-card-alt,
.elegans-field-redesign .efr-funnel,
.elegans-field-redesign .efr-seed,
.elegans-field-redesign .efr-speaker,
.elegans-field-redesign .efr-drum,
.elegans-field-redesign .efr-bucket,
.elegans-field-redesign .efr-compost,
.elegans-field-redesign .efr-trowel,
.elegans-field-redesign .efr-ash,
.elegans-field-redesign .efr-mountain {
  stroke:var(--efr-ink);
  stroke-width:4;
}
.elegans-field-redesign .efr-primary { fill:var(--efr-primary); }
.elegans-field-redesign .efr-secondary { fill:var(--efr-secondary); }
.elegans-field-redesign .efr-accent { fill:var(--efr-accent); }
.elegans-field-redesign .efr-gold { fill:var(--efr-gold); }
.elegans-field-redesign .efr-ivory { fill:var(--efr-ivory); }
.elegans-field-redesign .efr-glass { fill:rgba(215,247,244,.84); }
.elegans-field-redesign .efr-glass-alt { fill:rgba(229,215,247,.82); }
.elegans-field-redesign .efr-water { fill:var(--efr-water); }
.elegans-field-redesign .efr-water-alt { fill:rgba(218,122,180,.62); }
.elegans-field-redesign .efr-stem { fill:#86c99d; }
.elegans-field-redesign .efr-body { fill:var(--efr-leaf); }
.elegans-field-redesign .efr-wing { fill:rgba(123,222,216,.78); }
.elegans-field-redesign .efr-wing-alt { fill:rgba(218,169,226,.72); }
.elegans-field-redesign .efr-eye,
.elegans-field-redesign .efr-hole { fill:var(--efr-ink); stroke:none; }
.elegans-field-redesign .efr-cylinder { fill:var(--efr-secondary); }
.elegans-field-redesign .efr-barrel { fill:var(--efr-secondary); }
.elegans-field-redesign .efr-telescope-tube { fill:var(--efr-primary); }
.elegans-field-redesign .efr-telescope-lens { fill:var(--efr-secondary); }
.elegans-field-redesign .efr-telescope-eye { fill:var(--efr-accent); }
.elegans-field-redesign .efr-scope-tube { fill:#315d72; stroke:var(--efr-ink); stroke-width:4; }
.elegans-field-redesign .efr-scope-dew-shield { fill:#269b9b; stroke:var(--efr-ink); stroke-width:4; }
.elegans-field-redesign .efr-scope-objective-rim { fill:var(--efr-gold); stroke:var(--efr-ink); stroke-width:3; }
.elegans-field-redesign .efr-scope-objective { fill:#bce8e5; stroke:#32556b; stroke-width:2.5; }
.elegans-field-redesign .efr-scope-lens-glint { fill:none; stroke:rgba(255,255,255,.9); stroke-width:3; stroke-linecap:round; }
.elegans-field-redesign .efr-scope-focuser { fill:#873449; stroke:var(--efr-ink); stroke-width:3; }
.elegans-field-redesign .efr-scope-eyepiece { fill:#23394a; stroke:var(--efr-ink); stroke-width:3; }
.elegans-field-redesign .efr-scope-ring { fill:#d1ad5e; stroke:var(--efr-ink); stroke-width:2.5; }
.elegans-field-redesign .efr-finder-tube { fill:#5ac8c1; stroke:var(--efr-ink); stroke-width:3; }
.elegans-field-redesign .efr-finder-lens { fill:#d9f4ef; stroke:var(--efr-ink); stroke-width:2; }
.elegans-field-redesign .efr-finder-bracket { fill:none; stroke:#d1ad5e; stroke-width:4; stroke-linecap:round; }
.elegans-field-redesign .efr-scope-highlight { fill:none; stroke:rgba(255,255,255,.58); stroke-width:3.5; stroke-linecap:round; }
.elegans-field-redesign .efr-mount-saddle { fill:#873449; stroke:var(--efr-ink); stroke-width:4; stroke-linejoin:round; }
.elegans-field-redesign .efr-mount-axis { fill:#d1ad5e; stroke:var(--efr-ink); stroke-width:3; }
.elegans-field-redesign .efr-counterweight-shaft { fill:none; stroke:#294f63; stroke-width:7; stroke-linecap:round; }
.elegans-field-redesign .efr-counterweight-shaft.primary { stroke-width:9; }
.elegans-field-redesign .efr-counterweight { fill:#873449; stroke:var(--efr-ink); stroke-width:3; }
.elegans-field-redesign .efr-focus-knob { fill:#5ac8c1; stroke:var(--efr-ink); stroke-width:2.5; }
.elegans-field-redesign .efr-tripod-hub { fill:#315d72; stroke:var(--efr-ink); stroke-width:4; stroke-linejoin:round; }
.elegans-field-redesign .efr-tripod-spreader { fill:none; stroke:#d1ad5e; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.elegans-field-redesign .efr-scope-plate { fill:#d9f4ef; stroke:var(--efr-ink); stroke-width:3; stroke-linejoin:round; }
.elegans-field-redesign .efr-telescope-label { fill:#23394a; font:900 13px/1 var(--sans); letter-spacing:.045em; }
.elegans-field-redesign .efr-telescope-label.primary { font-size:15px; }
.elegans-field-redesign .efr-kilt { fill:var(--efr-primary); }
.elegans-field-redesign .efr-waistband { fill:var(--efr-accent); }
.elegans-field-redesign .efr-sporran { fill:var(--efr-ivory); }
.elegans-field-redesign .efr-bag { fill:var(--efr-leaf); }
.elegans-field-redesign .efr-avocado { fill:var(--efr-leaf); }
.elegans-field-redesign .efr-avocado-flesh { fill:#dbe86d; }
.elegans-field-redesign .efr-pit { fill:#e85d7f; }
.elegans-field-redesign .efr-tape-blade { fill:var(--efr-gold); }
.elegans-field-redesign .efr-root { fill:var(--efr-secondary); }
.elegans-field-redesign .efr-packet { fill:var(--efr-accent); }
.elegans-field-redesign .efr-packet-alt { fill:var(--efr-secondary); }
.elegans-field-redesign .efr-seed { fill:var(--efr-gold); stroke-width:2.5; }
.elegans-field-redesign .efr-leaf { fill:var(--efr-leaf); }
.elegans-field-redesign .efr-fragment { fill:var(--efr-accent); }
.elegans-field-redesign .efr-card { fill:var(--efr-ivory); }
.elegans-field-redesign .efr-card-alt { fill:var(--efr-secondary); }
.elegans-field-redesign .efr-funnel { fill:rgba(214,245,242,.88); }
.elegans-field-redesign .efr-speaker { fill:var(--efr-dark); }
.elegans-field-redesign .efr-drum { fill:var(--efr-ivory); }
.elegans-field-redesign .efr-bucket { fill:var(--efr-secondary); }
.elegans-field-redesign .efr-compost { fill:#735174; }
.elegans-field-redesign .efr-trowel { fill:var(--efr-accent); }
.elegans-field-redesign .efr-ash { fill:#8794ad; }
.elegans-field-redesign .efr-mountain { fill:var(--efr-primary); }
.elegans-field-redesign .efr-line,
.elegans-field-redesign .efr-fine,
.elegans-field-redesign .efr-stem-edge,
.elegans-field-redesign .efr-stem-node,
.elegans-field-redesign .efr-music-slot,
.elegans-field-redesign .efr-crank,
.elegans-field-redesign .efr-lid,
.elegans-field-redesign .efr-barrel-rib,
.elegans-field-redesign .efr-frame,
.elegans-field-redesign .efr-telescope-band,
.elegans-field-redesign .efr-tripod,
.elegans-field-redesign .efr-tripod-foot,
.elegans-field-redesign .efr-tartan-gold,
.elegans-field-redesign .efr-tartan-aqua,
.elegans-field-redesign .efr-kilt-pleat,
.elegans-field-redesign .efr-kilt-hem,
.elegans-field-redesign .efr-sporran-detail,
.elegans-field-redesign .efr-drone,
.elegans-field-redesign .efr-drone-alt,
.elegans-field-redesign .efr-chanter,
.elegans-field-redesign .efr-gold-line,
.elegans-field-redesign .efr-bag-braid,
.elegans-field-redesign .efr-drone-cord,
.elegans-field-redesign .efr-cord-tassel,
.elegans-field-redesign .efr-blowpipe,
.elegans-field-redesign .efr-tape-tick,
.elegans-field-redesign .efr-handle,
.elegans-field-redesign .efr-mesh,
.elegans-field-redesign .efr-mesh-line,
.elegans-field-redesign .efr-flow-line,
.elegans-field-redesign .efr-band,
.elegans-field-redesign .efr-band-alt,
.elegans-field-redesign .efr-fig-sample,
.elegans-field-redesign .efr-tube,
.elegans-field-redesign .efr-stand,
.elegans-field-redesign .efr-radio-slot,
.elegans-field-redesign .efr-antenna,
.elegans-field-redesign .efr-zip,
.elegans-field-redesign .efr-grass,
.elegans-field-redesign .efr-grass-alt,
.elegans-field-redesign .efr-trace-base,
.elegans-field-redesign .efr-trace,
.elegans-field-redesign .efr-pendulum,
.elegans-field-redesign .efr-strap,
.elegans-field-redesign .efr-hands,
.elegans-field-redesign .efr-twig,
.elegans-field-redesign .efr-tick,
.elegans-field-redesign .efr-forward-arrow,
.elegans-field-redesign .efr-return-arrow {
  fill:none;
  stroke:var(--efr-ink);
  stroke-width:4;
}
.elegans-field-redesign .efr-fine { stroke-width:2.5; }
.elegans-field-redesign .efr-stem-edge { stroke:#d8f1c7; stroke-width:4; }
.elegans-field-redesign .efr-stem-node { stroke:var(--efr-primary); stroke-width:3; }
.elegans-field-redesign .efr-music-slot { stroke:var(--efr-accent); stroke-width:5; }
.elegans-field-redesign .efr-lid,
.elegans-field-redesign .efr-handle { stroke:var(--efr-primary); stroke-width:10; }
.elegans-field-redesign .efr-frame,
.elegans-field-redesign .efr-stand { stroke:var(--efr-primary); stroke-width:8; }
.elegans-field-redesign .efr-telescope-band { stroke:var(--efr-gold); stroke-width:8; }
.elegans-field-redesign .efr-tripod { stroke:var(--efr-primary); stroke-width:9; }
.elegans-field-redesign .efr-tripod-foot { stroke:var(--efr-accent); stroke-width:7; }
.elegans-field-redesign .efr-barrel-rib { stroke:var(--efr-primary); stroke-width:5; }
.elegans-field-redesign .efr-tartan-gold { stroke:var(--efr-gold); stroke-width:6; }
.elegans-field-redesign .efr-tartan-aqua { stroke:var(--efr-secondary); stroke-width:7; }
.elegans-field-redesign .efr-kilt-pleat { stroke:#343a79; stroke-width:3; opacity:.78; }
.elegans-field-redesign .efr-kilt-hem { stroke:var(--efr-ink); stroke-width:4; }
.elegans-field-redesign .efr-sporran-detail { stroke:var(--efr-gold); stroke-width:3; }
.elegans-field-redesign .efr-drone { stroke:var(--efr-primary); stroke-width:9; }
.elegans-field-redesign .efr-drone-alt { stroke:var(--efr-accent); stroke-width:9; }
.elegans-field-redesign .efr-chanter { stroke:var(--efr-gold); stroke-width:12; }
.elegans-field-redesign .efr-gold-line { stroke:var(--efr-gold); stroke-width:5; }
.elegans-field-redesign .efr-bag-braid { stroke:var(--efr-gold); stroke-width:4; opacity:.9; }
.elegans-field-redesign .efr-drone-cord { stroke:var(--efr-gold); stroke-width:4; }
.elegans-field-redesign .efr-cord-tassel { stroke:var(--efr-accent); stroke-width:3.5; }
.elegans-field-redesign .efr-blowpipe { stroke:var(--efr-primary); stroke-width:13; }
.elegans-field-redesign .efr-drone-body,
.elegans-field-redesign .efr-drone-ferrule,
.elegans-field-redesign .efr-drone-cap,
.elegans-field-redesign .efr-bagpipe-stock,
.elegans-field-redesign .efr-blowpipe-mouthpiece,
.elegans-field-redesign .efr-chanter-body,
.elegans-field-redesign .efr-chanter-sole {
  stroke:var(--efr-ink);
  stroke-width:3.5;
}
.elegans-field-redesign .efr-drone-body { fill:var(--efr-primary); }
.elegans-field-redesign .efr-drone-body-alt { fill:var(--efr-accent); }
.elegans-field-redesign .efr-drone-ferrule { fill:var(--efr-gold); }
.elegans-field-redesign .efr-drone-cap { fill:var(--efr-secondary); }
.elegans-field-redesign .efr-drone-cap-alt { fill:var(--efr-accent); }
.elegans-field-redesign .efr-bagpipe-stock { fill:var(--efr-gold); }
.elegans-field-redesign .efr-blowpipe-mouthpiece { fill:var(--efr-secondary); }
.elegans-field-redesign .efr-chanter-body { fill:var(--efr-primary); }
.elegans-field-redesign .efr-chanter-sole { fill:var(--efr-accent); }
.elegans-field-redesign .efr-chanter-hole { stroke:var(--efr-ivory); stroke-width:1.5; }
.elegans-field-redesign .efr-tape-tick { stroke:var(--efr-ink); stroke-width:2.5; }
.elegans-field-redesign .efr-mesh { fill:rgba(215,247,244,.7); stroke:var(--efr-primary); }
.elegans-field-redesign .efr-mesh-line { stroke:var(--efr-secondary); stroke-width:3; }
.elegans-field-redesign .efr-flow-line { stroke:var(--efr-accent); stroke-width:5; }
.elegans-field-redesign .efr-band { stroke:var(--efr-accent); stroke-width:8; }
.elegans-field-redesign .efr-band-alt { stroke:var(--efr-primary); stroke-width:8; }
.elegans-field-redesign .efr-fig-sample { stroke:var(--efr-leaf); stroke-width:14; }
.elegans-field-redesign .efr-tube { stroke:var(--efr-secondary); stroke-width:7; }
.elegans-field-redesign .efr-radio-slot { stroke:var(--efr-accent); stroke-width:5; }
.elegans-field-redesign .efr-antenna { stroke:var(--efr-primary); stroke-width:7; }
.elegans-field-redesign .efr-zip { stroke:var(--efr-secondary); stroke-width:5; stroke-dasharray:6 5; }
.elegans-field-redesign .efr-grass { stroke:var(--efr-leaf); stroke-width:7; }
.elegans-field-redesign .efr-grass-alt { stroke:var(--efr-accent); stroke-width:6; }
.elegans-field-redesign .efr-trace-base { stroke:var(--efr-gold); stroke-width:3; }
.elegans-field-redesign .efr-trace { stroke:var(--efr-accent); stroke-width:6; }
.elegans-field-redesign .efr-pendulum { stroke:var(--efr-secondary); stroke-width:7; }
.elegans-field-redesign .efr-strap { stroke:var(--efr-primary); stroke-width:13; }
.elegans-field-redesign .efr-hands { stroke:var(--efr-accent); stroke-width:6; }
.elegans-field-redesign .efr-twig { stroke:var(--efr-gold); stroke-width:6; }
.elegans-field-redesign .efr-tick { stroke:var(--efr-primary); stroke-width:3; }
.elegans-field-redesign .efr-forward-arrow { stroke:var(--efr-accent); stroke-width:7; }
.elegans-field-redesign .efr-return-arrow { stroke:var(--efr-secondary); stroke-width:7; }
.elegans-field-redesign .efr-label,
.elegans-field-redesign .efr-small,
.elegans-field-redesign .efr-card-symbol {
  fill:var(--efr-ink);
  font-family:var(--font-sans);
  font-weight:900;
  pointer-events:none;
}
.elegans-field-redesign .efr-label { font-size:19px; }
.elegans-field-redesign .efr-small { font-size:12px; letter-spacing:.045em; }
.elegans-field-redesign .efr-card-symbol { font-size:28px; }
.elegans-field-redesign .efr-light-text { fill:var(--efr-ivory); }
.elegans-field-redesign .efr-no-fill { fill:none; }
@media (max-width:600px) {
  .elegans-field-redesign .efr-small { font-size:15px; letter-spacing:.02em; }
}

.kauai-qg130-accessory {
  --qg130-ink: #24304d;
  --qg130-indigo: #514ca8;
  --qg130-violet: #7a58b5;
  --qg130-aqua: #6fd4cf;
  --qg130-teal: #168d88;
  --qg130-coral: #e4587a;
  --qg130-yellow: #f0bf45;
  --qg130-ivory: #fff7df;
  --qg130-glass: rgba(218, 244, 242, .9);
  filter: drop-shadow(0 5px 4px rgba(31, 39, 71, .26));
}
.kauai-qg130-accessory path,
.kauai-qg130-accessory circle {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.qg130-date-label,
.qg130-date-number,
.qg130-tag-year,
.qg130-vial-number,
.qg130-tape-number {
  fill: var(--qg130-ink);
  font-family: var(--font-sans);
  font-weight: 900;
  text-anchor: middle;
  pointer-events: none;
  paint-order: stroke;
  stroke: rgba(255, 247, 223, .86);
  stroke-width: 2px;
}
.qg130-date-label { font-size: 22px; }
.qg130-date-number { font-size: 34px; }
.qg130-tag-year { font-size: 26px; letter-spacing: .08em; }
.qg130-vial-number { font-size: 10px; stroke-width: 1px; }
.qg130-tape-number { font-size: 27px; }
.qg130-case-shell,
.qg130-field-tag,
.qg130-tape-case {
  fill: var(--qg130-indigo);
  stroke: var(--qg130-ink);
  stroke-width: 3.5;
}
.qg130-case-handle,
.qg130-tag-cord,
.qg130-tape-grip,
.qg130-tape-shine {
  fill: none;
  stroke: var(--qg130-yellow);
  stroke-width: 8;
}
.qg130-case-lip,
.qg130-tag-band {
  fill: var(--qg130-coral);
  stroke: var(--qg130-ink);
  stroke-width: 3;
}
.qg130-vial {
  fill: var(--qg130-glass);
  stroke: var(--qg130-teal);
  stroke-width: 3;
}
.qg130-vial.reference { fill: #fce5ef; stroke: var(--qg130-coral); }
.qg130-vial-cap {
  fill: var(--qg130-aqua);
  stroke: var(--qg130-ink);
  stroke-width: 2.5;
}
.qg130-vial-cap.reference { fill: var(--qg130-coral); }
.qg130-vial-label {
  fill: var(--qg130-ivory);
  stroke: var(--qg130-indigo);
  stroke-width: 1.5;
}
.qg130-case-highlight {
  fill: none;
  stroke: var(--qg130-aqua);
  stroke-width: 4;
}
.qg130-tag-fold {
  fill: var(--qg130-aqua);
  stroke: var(--qg130-ink);
  stroke-width: 3;
}
.qg130-tag-eyelet,
.qg130-tape-button {
  fill: var(--qg130-yellow);
  stroke: var(--qg130-ink);
  stroke-width: 3;
}
.qg130-tag-writing {
  fill: none;
  stroke: var(--qg130-aqua);
  stroke-width: 4;
}
.qg130-measuring-tape {
  fill: var(--qg130-yellow);
  stroke: var(--qg130-ink);
  stroke-width: 3;
}
.qg130-tape-hook {
  fill: var(--qg130-aqua);
  stroke: var(--qg130-ink);
  stroke-width: 3;
}
.qg130-tape-tick {
  fill: none;
  stroke: var(--qg130-ink);
  stroke-width: 2.5;
}
@media (max-width: 600px) {
  .kauai-qg130-accessory .qg130-date-number { font-size: 37px; }
}

/* Taipei forest record: source photographs, isotype registry and elevation. */
.taipei-brc20390-accessory {
  --brc20390-ink: #173d4d;
  --brc20390-teal: #1aa6a4;
  --brc20390-aqua: #8ce1d2;
  --brc20390-indigo: #514fa6;
  --brc20390-coral: #ee6f78;
  --brc20390-gold: #f0bd45;
  --brc20390-ivory: #fff7df;
}
.taipei-brc20390-accessory path,
.taipei-brc20390-accessory circle,
.taipei-brc20390-accessory ellipse,
.taipei-brc20390-accessory rect {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.brc20390-label,
.brc20390-small-label,
.brc20390-node-number {
  fill: var(--brc20390-ink);
  stroke: none;
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 900;
  letter-spacing: .035em;
}
.brc20390-small-label { font-size: 12px; }
.brc20390-node-number,
.brc20390-altimeter-number { font-family: var(--display); font-size: 26px; }
.brc20390-camera-strap { fill: none; stroke: var(--brc20390-coral); stroke-width: 9; }
.brc20390-camera-body { fill: var(--brc20390-teal); stroke: var(--brc20390-ink); stroke-width: 4; }
.brc20390-camera-prism,
.brc20390-camera-grip { fill: var(--brc20390-indigo); stroke: var(--brc20390-ink); stroke-width: 4; }
.brc20390-camera-lens { fill: var(--brc20390-ivory); stroke: var(--brc20390-ink); stroke-width: 4; }
.brc20390-camera-glass { fill: var(--brc20390-aqua); stroke: var(--brc20390-indigo); stroke-width: 4; }
.brc20390-camera-flash { fill: var(--brc20390-gold); stroke: var(--brc20390-ink); stroke-width: 3; }
.brc20390-camera-button { fill: var(--brc20390-coral); stroke: var(--brc20390-ink); stroke-width: 2; }
.brc20390-photo-tab { fill: var(--brc20390-ivory); stroke: var(--brc20390-ink); stroke-width: 3; }
.brc20390-sample-case { fill: var(--brc20390-indigo); stroke: var(--brc20390-ink); stroke-width: 4; }
.brc20390-case-handle { fill: var(--brc20390-gold); stroke: var(--brc20390-ink); stroke-width: 4; }
.brc20390-vial { fill: var(--brc20390-aqua); stroke: var(--brc20390-ink); stroke-width: 2.5; }
.brc20390-vial.reference { fill: var(--brc20390-coral); }
.brc20390-vial-cap { fill: var(--brc20390-ivory); stroke: var(--brc20390-ink); stroke-width: 2; }
.brc20390-count-badge { fill: var(--brc20390-gold); stroke: var(--brc20390-ink); stroke-width: 3; }
.brc20390-altimeter-strap { fill: var(--brc20390-coral); stroke: var(--brc20390-ink); stroke-width: 4; }
.brc20390-altimeter-case { fill: var(--brc20390-indigo); stroke: var(--brc20390-ink); stroke-width: 4; }
.brc20390-altimeter-face { fill: var(--brc20390-ivory); stroke: var(--brc20390-teal); stroke-width: 4; }
.brc20390-altimeter-tick,
.brc20390-altimeter-hand { fill: none; stroke: var(--brc20390-ink); stroke-width: 4; }
.brc20390-altimeter-crown { fill: var(--brc20390-gold); stroke: var(--brc20390-ink); stroke-width: 3; }
@media (max-width: 600px) {
  .taipei-brc20390-accessory .brc20390-small-label { display: none; }
  .taipei-brc20390-accessory .brc20390-node-number { font-size: 28px; }
}

/* Salt Lake City EG4181: tailored orchard millinery, woven saddle hives and one-tail powder skis. */
.salt-lake-eg4181-accessory {
  --eg4181-ink: #173c4a;
  --eg4181-apricot: #ef795f;
  --eg4181-apricot-light: #ffc775;
  --eg4181-blossom: #fff3df;
  --eg4181-berry: #a7446f;
  --eg4181-indigo: #4e4b9d;
  --eg4181-indigo-deep: #343578;
  --eg4181-honey: #edb63f;
  --eg4181-honey-light: #ffe29a;
  --eg4181-aqua: #53bcb5;
  --eg4181-leather: #845035;
  --eg4181-snow: #f8f4e5;
}
.salt-lake-eg4181-accessory path,
.salt-lake-eg4181-accessory circle,
.salt-lake-eg4181-accessory ellipse,
.salt-lake-eg4181-accessory line {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.eg4181-object-shadow { fill: rgba(23, 60, 74, .18); stroke: none; }
.eg4181-hat-crown { fill: var(--eg4181-apricot); stroke: var(--eg4181-ink); stroke-width: 6; }
.eg4181-hat-crown.companion { fill: var(--eg4181-berry); stroke-width: 5; }
.eg4181-hat-brim { fill: var(--eg4181-indigo); stroke: var(--eg4181-ink); stroke-width: 7; }
.eg4181-hat-brim.companion { fill: var(--eg4181-indigo-deep); stroke-width: 6; }
.eg4181-hat-band { fill: none; stroke: var(--eg4181-honey-light); stroke-width: 10; }
.eg4181-hat-band.companion { stroke: var(--eg4181-apricot-light); stroke-width: 8; }
.eg4181-hat-brim-stitch { fill: none; stroke: var(--eg4181-honey); stroke-width: 3.5; stroke-dasharray: 7 8; }
.eg4181-hat-brim-stitch.companion { stroke-width: 3; stroke-dasharray: 6 7; }
.eg4181-orchard-branch { fill: none; stroke: var(--eg4181-leather); stroke-width: 7; }
.eg4181-orchard-branch.companion { stroke-width: 5; }
.eg4181-blossom-petal { fill: var(--eg4181-blossom); stroke: var(--eg4181-berry); stroke-width: 3.5; }
.eg4181-blossom-petal.light { fill: var(--eg4181-apricot-light); }
.eg4181-blossom-centre { fill: var(--eg4181-honey); stroke: var(--eg4181-ink); stroke-width: 2.5; }
.eg4181-leaf { fill: var(--eg4181-aqua); stroke: var(--eg4181-ink); stroke-width: 4; }
.eg4181-leaf.alternate { fill: #75a864; }
.eg4181-leaf.companion { fill: #75a864; stroke-width: 3.5; }
.eg4181-apricot-fruit { fill: var(--eg4181-apricot-light); stroke: var(--eg4181-ink); stroke-width: 4; }
.eg4181-apricot-fruit.companion { fill: var(--eg4181-apricot); stroke-width: 3; }
.eg4181-apricot-stem { fill: none; stroke: var(--eg4181-leather); stroke-width: 4; }
.eg4181-apricot-stem.companion { stroke-width: 3; }
.eg4181-apricot-seam { fill: none; stroke: var(--eg4181-apricot); stroke-width: 3; }
.eg4181-saddle-cloth { fill: var(--eg4181-berry); stroke: var(--eg4181-ink); stroke-width: 7; }
.eg4181-saddle-cloth.companion { fill: var(--eg4181-indigo); stroke-width: 6; }
.eg4181-hive-body { fill: var(--eg4181-honey); stroke: var(--eg4181-ink); stroke-width: 8; }
.eg4181-hive-body.companion { fill: var(--eg4181-honey-light); stroke-width: 7; }
.eg4181-hive-side { fill: #c97a36; stroke: var(--eg4181-ink); stroke-width: 4; opacity: .78; }
.eg4181-hive-side.companion { fill: var(--eg4181-apricot); stroke-width: 3.5; opacity: .72; }
.eg4181-hive-highlight { fill: none; stroke: #fff0b8; stroke-width: 7; opacity: .75; }
.eg4181-hive-highlight.companion { stroke-width: 5; }
.eg4181-hive-wicker { fill: none; stroke: #c57b35; stroke-width: 7; }
.eg4181-hive-wicker.companion { stroke: var(--eg4181-apricot); stroke-width: 6; }
.eg4181-hive-rib { fill: none; stroke: color-mix(in srgb, var(--eg4181-leather) 78%, var(--eg4181-honey)); stroke-width: 5; }
.eg4181-hive-rib.companion { stroke-width: 4; }
.eg4181-hive-door { fill: var(--eg4181-indigo-deep); stroke: var(--eg4181-ink); stroke-width: 5; }
.eg4181-honeycomb { fill: var(--eg4181-honey-light); stroke: var(--eg4181-ink); stroke-width: 3; }
.eg4181-honeycomb.companion { fill: var(--eg4181-blossom); }
.eg4181-honeycomb.berry { fill: var(--eg4181-berry); }
.eg4181-honeycomb.aqua { fill: var(--eg4181-aqua); }
.eg4181-honeycomb.cream { fill: var(--eg4181-blossom); }
.eg4181-harness { fill: none; stroke: var(--eg4181-leather); stroke-width: 12; }
.eg4181-harness.companion { stroke-width: 9; }
.eg4181-handle { fill: none; stroke: var(--eg4181-indigo); stroke-width: 9; }
.eg4181-handle.companion { stroke-width: 7; }
.eg4181-saddle-stitch { fill: none; stroke: var(--eg4181-honey-light); stroke-width: 4; stroke-dasharray: 7 9; }
.eg4181-honey-drip { fill: none; stroke: var(--eg4181-honey-light); stroke-width: 6; }
.eg4181-bee-wing { fill: color-mix(in srgb, var(--eg4181-aqua) 45%, white); stroke: var(--eg4181-ink); stroke-width: 2.5; }
.eg4181-bee-body { fill: var(--eg4181-berry); stroke: var(--eg4181-ink); stroke-width: 3; }
.eg4181-bee-detail { fill: none; stroke: var(--eg4181-honey-light); stroke-width: 3; }
.eg4181-ski-sidewall { fill: var(--eg4181-aqua); stroke: var(--eg4181-ink); stroke-width: 8; }
.eg4181-ski-sidewall.companion { fill: var(--eg4181-apricot); stroke-width: 7; }
.eg4181-ski { fill: var(--eg4181-snow); stroke: var(--eg4181-ink); stroke-width: 7; }
.eg4181-ski.companion { fill: #e7eef2; stroke-width: 6; }
.eg4181-binding { fill: var(--eg4181-indigo); stroke: var(--eg4181-ink); stroke-width: 6; }
.eg4181-binding.companion { fill: var(--eg4181-berry); stroke-width: 5; }
.eg4181-binding-strap { fill: none; stroke: var(--eg4181-honey); stroke-width: 7; }
.eg4181-binding-strap.companion { stroke: var(--eg4181-apricot-light); stroke-width: 6; }
.eg4181-ski-inlay,
.eg4181-ski-peak,
.eg4181-ski-tail-detail,
.eg4181-ski-tip-detail { fill: none; stroke: var(--eg4181-honey); stroke-width: 6; }
.eg4181-ski-inlay.companion,
.eg4181-ski-peak.companion,
.eg4181-ski-tip-detail.companion { stroke: var(--eg4181-indigo); stroke-width: 5; }

/* Claremont ECA250: a coherent California garden reading day. */
.claremont-eca250-accessory {
  --eca250-ink: #183d49;
  --eca250-paper: #fff6d6;
  --eca250-paper-shadow: #efd9aa;
  --eca250-cover: #6656a7;
  --eca250-cover-companion: #a74766;
  --eca250-gold: #e0ae46;
  --eca250-aqua: #58c7bf;
  --eca250-teal: #2e8c78;
  --eca250-berry: #a74766;
  --eca250-coral: #ef6d5f;
  --eca250-lemon: #f5c84b;
  --eca250-lemon-light: #fff1a8;
  --eca250-glass: rgba(196, 240, 236, .68);
  --eca250-glass-edge: #5ca6a7;
  --eca250-liquid: rgba(245, 200, 75, .76);
  --eca250-lens: rgba(111, 88, 167, .48);
  --eca250-cream: #fff6d8;
}
.claremont-eca250-accessory path,
.claremont-eca250-accessory circle,
.claremont-eca250-accessory ellipse,
.claremont-eca250-accessory rect { stroke-linecap: round; stroke-linejoin: round; }
.eca250-ground-shadow { fill: rgba(24, 61, 73, .17); stroke: none; }
.eca250-book-page { fill: var(--eca250-paper); stroke: var(--eca250-ink); stroke-width: 5; }
.eca250-book-page.right { fill: #fffaf0; }
.eca250-book-page.companion { stroke-width: 4.5; }
.eca250-book-page.companion.right { fill: #f8edd6; }
.eca250-book-cover { fill: var(--eca250-cover); stroke: var(--eca250-ink); stroke-width: 6; }
.eca250-book-cover.companion { fill: var(--eca250-cover-companion); stroke-width: 5.5; }
.eca250-book-cover.closed { fill: var(--eca250-cover-companion); }
.eca250-book-cover.standing.back { fill: #4b438a; }
.eca250-book-cover.standing.front { fill: var(--eca250-cover-companion); }
.eca250-book-page.closed { fill: var(--eca250-paper); }
.eca250-book-page.standing { fill: #fff8de; }
.eca250-book-block { fill: var(--eca250-paper-shadow); stroke: var(--eca250-ink); stroke-width: 4.5; }
.eca250-book-block.standing.side { fill: #d9bd82; }
.eca250-book-block.standing.base { fill: #f1dcae; }
.eca250-book-spine.closed { fill: #4b438a; stroke: var(--eca250-ink); stroke-width: 5; }
.eca250-book-spine.standing { fill: #4b438a; stroke-width: 5.5; }
.eca250-spine-band { fill: none; stroke: var(--eca250-gold); stroke-width: 5; }
.eca250-title-panel { fill: #fffaf0; stroke: var(--eca250-gold); stroke-width: 3.5; }
.eca250-title-panel.companion { fill: #fffaf0; stroke-width: 3; }
.eca250-title-frame { fill: none; stroke: color-mix(in srgb, var(--eca250-gold) 78%, var(--eca250-berry)); stroke-width: 2; }
.eca250-book-title { fill: var(--eca250-ink); font: 900 23px/1 var(--sans); letter-spacing: 2px; }
.eca250-book-title.bottom { fill: var(--eca250-cover); }
.eca250-book-title.companion { font-size: 18px; letter-spacing: 1.6px; }
.eca250-book-title.companion.bottom { fill: var(--eca250-cover-companion); }
.eca250-book-title.companion.standing { font-size: 20px; letter-spacing: 1.8px; }
.eca250-book-title.companion.standing.single { font-size: 16px; letter-spacing: 1px; }
.eca250-worm-seal { fill: #f5dda0; stroke: var(--eca250-gold); stroke-width: 3; }
.eca250-seal-worm { fill: none; stroke: var(--eca250-teal); stroke-width: 7; stroke-linecap: round; }
.eca250-seal-worm-head { fill: var(--eca250-teal); stroke: var(--eca250-ink); stroke-width: 2.5; }
.eca250-seal-worm-highlight { fill: none; stroke: rgba(240, 255, 249, .82); stroke-width: 2.2; stroke-linecap: round; }
.eca250-seal-worm-eye { fill: var(--eca250-ink); }
.eca250-seal-worm-smile { fill: none; stroke: var(--eca250-ink); stroke-width: 1.8; stroke-linecap: round; }
.eca250-page-line { fill: none; stroke: #ad8765; stroke-width: 3; opacity: .72; }
.eca250-page-line.companion { stroke-width: 2.5; }
.eca250-book-spine { fill: rgba(94, 79, 152, .22); stroke: var(--eca250-gold); stroke-width: 6; }
.eca250-book-gutter { fill: rgba(119, 89, 68, .18); stroke: none; }
.eca250-bookmark { fill: var(--eca250-coral); stroke: var(--eca250-ink); stroke-width: 3.5; }
.eca250-book-leaf { fill: var(--eca250-teal); stroke: var(--eca250-ink); stroke-width: 3.5; }
.eca250-book-corner { fill: var(--eca250-gold); stroke: var(--eca250-ink); stroke-width: 3; }
.eca250-book-cover.serious { fill: #514980; stroke-width: 5; }
.eca250-book-cover-edge { fill: none; stroke: var(--eca250-gold); stroke-width: 3; }
.eca250-book-page.serious { stroke-width: 4; }
.eca250-book-block.serious { fill: #dcc9a1; stroke-width: 4; }
.eca250-page-edge.serious { stroke: #b79d78; stroke-width: 2.4; }
.eca250-book-gutter.serious { fill: rgba(83, 65, 69, .2); }
.eca250-page-inner-border { fill: none; stroke: color-mix(in srgb, var(--eca250-gold) 74%, #fffaf0); stroke-width: 2.2; }
.eca250-bacteria-heading { fill: var(--eca250-ink); font: 900 21px/1 var(--display); letter-spacing: 2px; }
.eca250-heading-rule { fill: none; stroke: var(--eca250-gold); stroke-width: 2.4; }
.eca250-petri-shadow { fill: rgba(52, 57, 78, .16); stroke: none; }
.eca250-petri-base { fill: #c4aa75; stroke: var(--eca250-ink); stroke-width: 3.4; }
.eca250-petri-rim { fill: rgba(209, 244, 240, .58); stroke: var(--eca250-ink); stroke-width: 4; }
.eca250-petri-glass { fill: rgba(244, 224, 141, .67); stroke: var(--eca250-gold); stroke-width: 3; }
.eca250-petri-clearing { fill: none; stroke: rgba(255, 250, 234, .94); stroke-width: 8; }
.eca250-petri-clearing-head { fill: rgba(255, 250, 234, .96); stroke: var(--eca250-gold); stroke-width: 1.8; }
.eca250-petri-clearing-eye { fill: var(--eca250-ink); stroke: none; }
.eca250-petri-highlight { fill: none; stroke: rgba(255, 255, 255, .92); stroke-width: 3.2; }
.eca250-bacterial-colony { fill: var(--eca250-teal); stroke: #fffaf0; stroke-width: 1.5; }
.eca250-bacterial-colony.large { fill: var(--eca250-berry); }
.eca250-food-bacterium { stroke: var(--eca250-ink); stroke-width: 2.5; }
.eca250-food-bacterium.rod { fill: var(--eca250-coral); }
.eca250-food-bacterium.coccus { fill: var(--eca250-lemon); }
.eca250-food-bacterium.spiral { fill: none; stroke: var(--eca250-teal); stroke-width: 5; }
.eca250-food-bacterium-detail { fill: none; stroke: var(--eca250-ink); stroke-width: 1.8; }
.eca250-food-bacterium.page { stroke-width: 2.4; }
.eca250-page-divider { fill: none; stroke: var(--eca250-gold); stroke-width: 2.3; }
.eca250-reading-worm-body { fill: none; stroke: var(--eca250-aqua); stroke-width: 18; stroke-linecap: round; stroke-linejoin: round; }
.eca250-reading-worm-highlight { fill: none; stroke: rgba(237, 255, 250, .84); stroke-width: 4; stroke-linecap: round; }
.eca250-reading-worm-head { fill: var(--eca250-aqua); stroke: var(--eca250-ink); stroke-width: 3.5; }
.eca250-reading-worm-eye { fill: var(--eca250-ink); stroke: #fffaf0; stroke-width: 1; }
.eca250-reading-worm-smile { fill: none; stroke: var(--eca250-ink); stroke-width: 2.5; stroke-linecap: round; }
.eca250-book-spine.serious { stroke-width: 5; }
.eca250-page-curl { fill: #fffaf0; stroke: var(--eca250-ink); stroke-width: 4; }
.eca250-page-illustration { fill: none; stroke: var(--eca250-aqua); stroke-width: 4; }
.eca250-page-sun { fill: var(--eca250-lemon); stroke: var(--eca250-berry); stroke-width: 4; }
.eca250-page-sun-rays { fill: none; stroke: var(--eca250-gold); stroke-width: 2.5; }
.eca250-page-edge { fill: none; stroke: var(--eca250-paper-shadow); stroke-width: 3.5; }
.eca250-page-corner { fill: none; stroke: var(--eca250-gold); stroke-width: 2.5; }
.eca250-page-line.story { stroke: #a9876a; stroke-width: 3; opacity: .68; }
.eca250-lemonade-pitcher,
.eca250-lemonade-glass { fill: rgba(209, 244, 240, .44); stroke: var(--eca250-glass-edge); stroke-width: 5; }
.eca250-lemonade-glass.companion { stroke-width: 4.5; }
.eca250-lemonade-liquid { fill: var(--eca250-liquid); stroke: #c99d30; stroke-width: 3; }
.eca250-lemonade-liquid.companion { stroke-width: 3; }
.eca250-liquid-surface { fill: rgba(255, 235, 139, .82); stroke: #c99d30; stroke-width: 3; }
.eca250-glass-rim { fill: rgba(231, 251, 248, .42); stroke: var(--eca250-glass-edge); stroke-width: 4; }
.eca250-glass-rim.back { fill: rgba(231, 251, 248, .32); }
.eca250-glass-rim.companion { stroke-width: 3.5; }
.eca250-glass-rim-front,
.eca250-pitcher-spout { fill: none; stroke: var(--eca250-ink); stroke-width: 4; }
.eca250-glass-rim-front.companion { stroke-width: 3.5; }
.eca250-glass-handle-outer { fill: none; stroke: var(--eca250-ink); stroke-width: 8; }
.eca250-glass-handle-outer.companion { stroke-width: 7; }
.eca250-glass-handle-inner { fill: none; stroke: var(--eca250-glass-edge); stroke-width: 4; }
.eca250-glass-handle-inner.companion { stroke-width: 3.5; }
.eca250-ice-cube { fill: rgba(244, 255, 253, .76); stroke: #8fc5c1; stroke-width: 2.5; }
.eca250-ice-cube.companion { stroke-width: 2; }
.eca250-straw-outline { fill: none; stroke: var(--eca250-ink); stroke-width: 11; }
.eca250-straw-outline.companion { stroke-width: 9; }
.eca250-straw { fill: none; stroke: var(--eca250-berry); stroke-width: 6; stroke-dasharray: 10 6; }
.eca250-straw.companion { stroke: var(--eca250-cover); stroke-width: 5; stroke-dasharray: 8 5; }
.eca250-lemon-rind { fill: var(--eca250-lemon); stroke: var(--eca250-ink); stroke-width: 4; }
.eca250-lemon-rind.companion { fill: var(--eca250-lemon-light); stroke-width: 3; }
.eca250-lemon-flesh { fill: var(--eca250-lemon-light); stroke: var(--eca250-gold); stroke-width: 2.5; }
.eca250-lemon-segment { fill: none; stroke: var(--eca250-gold); stroke-width: 2.5; }
.eca250-glass-highlight { fill: none; stroke: rgba(255, 255, 255, .92); stroke-width: 5; }
.eca250-glass-highlight.companion { stroke-width: 4; }
.eca250-glass-base { fill: none; stroke: var(--eca250-glass-edge); stroke-width: 4; }
.eca250-glass-base.companion { stroke-width: 3; }
.eca250-condensation { fill: rgba(239, 255, 252, .92); stroke: var(--eca250-glass-edge); stroke-width: 2; }
.eca250-condensation.companion { stroke-width: 1.5; }
.eca250-lemon-bubble { fill: rgba(255, 246, 188, .78); stroke: #c99d30; stroke-width: 1.5; }
.eca250-glasses-lens { fill: rgba(111, 88, 167, .28); stroke: none; }
.eca250-glasses-lens.companion { fill: rgba(88, 199, 191, .3); }
.eca250-glasses-rim { fill: none; stroke: var(--eca250-berry); stroke-width: 6; }
.eca250-glasses-rim.companion { stroke: var(--eca250-cover); stroke-width: 5; }
.eca250-glasses-bridge { fill: none; stroke: var(--eca250-gold); stroke-width: 5; }
.eca250-glasses-bridge.companion { stroke-width: 4; }
.eca250-glasses-temple { fill: none; stroke: var(--eca250-ink); stroke-width: 5; }
.eca250-glasses-temple.companion { stroke-width: 4; }
.eca250-glasses-hinge { fill: var(--eca250-gold); stroke: var(--eca250-ink); stroke-width: 2; }
.eca250-lens-glint { fill: none; stroke: rgba(255, 255, 255, .9); stroke-width: 3.5; }
.eca250-lens-glint.companion { stroke-width: 3; }
.eca250-nose-pad { fill: none; stroke: var(--eca250-gold); stroke-width: 2.5; }
.eca250-glasses-bridge-detail { fill: none; stroke: var(--eca250-gold); stroke-width: 2.5; }

/* Lombok HPT26: fig costumes. Pool and goggles use contained SVG materials. */
.lombok-hpt26-accessory path,
.lombok-hpt26-accessory circle,
.lombok-hpt26-accessory ellipse { stroke-linecap: round; stroke-linejoin: round; }
.lingsar-fig-skin { fill: #78536c; stroke: #473e4e; stroke-width: 2.5; }
.lingsar-fig-skin.far { fill: #5e4659; }
.lingsar-fig-pith { fill: #eadca7; stroke: #b49b67; stroke-width: 1.5; }
.lingsar-fig-flesh { fill: #b65f76; stroke: #8e465f; stroke-width: 1.2; }
.lingsar-fig-seed { fill: #f3d59a; stroke: none; }
.lingsar-fig-stem { fill: #787b48; stroke: #4d5335; stroke-width: 2; }
.lingsar-fig-bloom { fill: none; stroke: #b897b3; stroke-width: 2; stroke-opacity: .65; }
.lingsar-fig-opening { transform-origin: 0 75px; }
@keyframes lingsar-flow { to { stroke-dashoffset: -27; } }
@keyframes lingsar-companion-bob { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3.01px) rotate(1deg); } }
@media (prefers-reduced-motion: no-preference) {
  .fitted-headwear-motion.primary, .fitted-kilt-motion.primary, .fitted-scope-motion.primary { transform-origin: 210px 170px; animation: worm-bob 3.2s ease-in-out infinite; }
  .fitted-headwear-motion.companion, .fitted-kilt-motion.companion, .fitted-scope-motion.companion { transform-origin: 62.3px 155.1px; animation: lingsar-companion-bob 3.2s .45s ease-in-out infinite; }
}
@keyframes lingsar-fig-left { from { transform: rotate(16deg); } to { transform: rotate(0deg); } }
@keyframes lingsar-fig-right { from { transform: rotate(-16deg); } to { transform: rotate(0deg); } }
@media (prefers-reduced-motion: no-preference) {
  .lingsar-worn-motion.primary { transform-origin: 210px 170px; animation: worm-bob 3.2s ease-in-out infinite; }
  .lingsar-worn-motion.companion { transform-origin: 62.3px 155.1px; animation: lingsar-companion-bob 3.2s .45s ease-in-out infinite; }
  /* Fig and water motion is now finite and starts with the visitor's gesture. */
}

.science-notes {
  margin: 30px 0 0;
  border-top: 1px solid var(--line);
  padding: 18px 4px 0;
  color: var(--ink-soft);
}
.science-notes summary { cursor: pointer; color: var(--ink); font-weight: 800; }
.science-notes p, .science-notes ul { max-width: 850px; }
.science-notes li + li { margin-top: 6px; }

footer {
  padding: 24px 20px 38px;
  border-top: 1px solid var(--line);
  color: var(--ink-soft);
  text-align: center;
}
footer p { margin: 0; }

@media (max-width: 900px) {
  .species-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(147px, auto); }
  .sister-pair:last-child { grid-column: 1 / -1; width: calc(50% - 6px); justify-self: center; }
  .play-grid { grid-template-columns: 1fr; }
  .species-story { min-height: 420px; }
}

@media (max-width: 680px) {
  .topbar { grid-template-columns: 1fr auto 1fr; padding: 9px 14px 5px; }
  .brand { grid-column: 2; grid-row: 1; }
  .brand h1 { font-size: clamp(1.85rem, 7.2vw, 2.25rem); }
  .back-link { grid-column: 1; grid-row: 1; font-size: .76rem; }
  .explored { grid-column: 3; grid-row: 1; width: 52px; height: 52px; }
  .explored-emblem { top: 0; left: 1px; width: 50px; height: 40px; }
  .explored.is-complete { width: 68px; height: 68px; }
  .explored.is-complete .explored-emblem { top: 3px; left: 3px; width: 62px; height: 49px; }
  main { padding: 4px 14px 48px; }
  .section-heading { display: block; }
  .section-heading > p { margin-top: 8px; text-align: left; }
  .map-wrap, #world-map { min-height: 310px; }
  .map-leaders { display: none; }
  .map-legend { left: 10px; right: auto; top: 10px; border-radius: 16px; }
  .map-selection { left: 10px; bottom: 10px; max-width: calc(100% - 20px); padding: 10px 12px; }
  .species-tabs { grid-template-columns: 1fr; grid-auto-rows: 1fr; min-height: 424px; }
  .sister-pair:last-child { grid-column: auto; width: auto; justify-self: stretch; }
  .species-tab { min-height: 68px; }
  .scene-name {
    right: 12px;
    bottom: 12px;
    max-width: calc(100% - 134px);
    padding: 6px 9px;
    font-size: .64rem;
    line-height: 1.15;
    letter-spacing: .025em;
    text-align: left;
    white-space: normal;
  }
  .worm-avatar { z-index: 4; }
  .scene-name, .worm-name-tag { transition: opacity .14s ease; }
  .scene-name.is-covered, .worm-name-tag.is-covered { opacity: 0; }
  .worm-name-tag { left: 12px; bottom: 12px; }
  .dress-bar { padding: 16px; }
  .dress-buttons .freestyle-button { margin-block-start: 4px; margin-inline-start: 0; }
  .species-story { min-height: 390px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
}

/* Mahahual: only the umbrellas may be raised slightly beyond the top edge. */
.worm-playground:has(.habitat[data-accessory-visual="nigoni::Mahahual, Mexico · JU2617"]) { overflow: visible; }
.habitat[data-accessory-visual="nigoni::Mahahual, Mexico · JU2617"] { overflow: visible; border-radius: var(--radius) var(--radius) 0 0; }
.habitat[data-accessory-visual="nigoni::Mahahual, Mexico · JU2617"]::after { border-radius: inherit; }
.habitat[data-accessory-visual="nigoni::Mahahual, Mexico · JU2617"] .regional-backdrop { border-radius: inherit; overflow: hidden; }

/* Compact atlas navigation: keep the scene close to the species choices. */
.topbar { grid-template-columns: minmax(0,1fr) minmax(0,1fr); padding-top: 10px; padding-bottom: 0; gap: 0 12px; }
.topbar .back-link { grid-column: 1; grid-row: 1; }
.topbar .treasure-toggle { grid-column: 2; grid-row: 1; }
.topbar .brand { grid-column: 1 / -1; grid-row: 2; text-align: center; }
.brand h1 { font-size: clamp(2.25rem, 4vw, 3.05rem); }
.discovery > .section-heading.compact { margin: 0; }
.species-heading-copy { width: 100%; display: flex; align-items: center; justify-content: flex-start; gap: 12px; }

.species-heading-copy .family-info-toggle { flex: none; min-height: 44px; margin: 0; padding: 4px 0; border: 0; border-radius: 3px; background: transparent; color: var(--teal-dark); box-shadow: none; font-size: .95rem; font-weight: 650; }
.species-heading-copy .family-info-toggle:hover { background: transparent; box-shadow: none; transform: none; text-decoration: underline; text-underline-offset: 4px; }
.species-heading-copy .family-info-toggle-arrow { color: var(--teal-dark); }
.species-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: auto; min-height: 0; gap: 18px; margin: 0 0 14px; }
.sister-pair { border: 1px solid rgba(22,125,122,.2); border-radius: 18px; padding: 25px 7px 7px; background: linear-gradient(180deg,rgba(191,232,232,.42),rgba(255,255,255,.34)); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.sister-pair:hover { border-color: rgba(243,111,98,.35); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.sister-pair:last-child { grid-column: auto; width: auto; justify-self: stretch; }
.sister-label { top: 6px; font-size: .7rem; letter-spacing: .09em; }
.sister-label::before, .sister-label::after { width: 15px; }
.sister-buttons { gap: 5px; }
.species-tab { min-height: 76px; border-radius: 12px; padding: 10px 6px; font-size: 1.05rem; box-shadow: 0 2px 5px rgba(26,71,79,.06); }
.species-tab small { margin-top: 3px; font-size: .68rem; padding: 2px 5px; letter-spacing: .02em; }
.species-tab.is-selected { box-shadow: inset 0 -2px 0 rgba(255,209,102,.72),0 3px 0 rgba(22,125,122,.1); }
/* Share the unused centre of the navigation row without shrinking the title. */
@media (min-width:741px) {
  .topbar { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); }
  .topbar .brand { grid-column: 2; grid-row: 1; padding-top: 22px; }
  .topbar .back-link { align-self: start; margin-top: 21px; }
  .topbar .treasure-toggle { grid-column: 3; align-self: start; }
}
@media (min-width:741px) and (max-width:900px) {
  .species-tab { font-size: .88rem; padding-inline: 4px; }
  .species-tab small { font-size: .62rem; padding-inline: 3px; letter-spacing: 0; white-space: nowrap; }
}
@media (max-width:740px) {
  .topbar { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 10px; padding: 8px 14px 0; }
  .topbar .brand { grid-column: 1 / -1; grid-row: 2; text-align: center; }
  .topbar .brand h1 { font-size: clamp(2.25rem,6.8vw,2.75rem); white-space: nowrap; }
  .topbar .back-link { grid-column: 1; grid-row: 1; min-height: 44px; display: inline-flex; align-items: center; font-size: .72rem; }
  .topbar .treasure-toggle { grid-column: 2; grid-row: 1; }
  .species-heading-copy { gap: 8px; }
  .species-heading-copy .family-info-toggle { font-size: .95rem; padding: 4px 0; gap: 6px; }
  .species-tabs { grid-template-columns: 1fr; gap: 7px; margin-bottom: 12px; }
  .sister-pair { padding: 23px 6px 6px; }
  .sister-label { top: 4px; font-size: .68rem; }
  .species-tab { min-height: 62px; padding: 7px 6px; font-size: 1rem; }
  .species-tab small { margin-top: 1px; font-size: .65rem; line-height: 1.3; }
}
