:root {
  --purple: #63327f;
  --purple-dark: #432052;
  --purple-soft: #eee8f2;
  --green: #4f8960;
  --green-dark: #346a46;
  --green-soft: #e7f0e9;
  --blue-gray: #dce7e6;
  --ink: #333436;
  --muted: #747679;
  --line: #d9dcdd;
  --light: #f5f6f6;
  --paper: #ffffff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Arial, Helvetica, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -70px; z-index: 1000; padding: 8px 12px; color: #fff; background: var(--purple); }
.skip-link:focus { top: 10px; }

/* MagnoliidsGDB-inspired header structure, using original project styling. */
.site-header { position: relative; z-index: 50; min-height: 116px; border-bottom: 1px solid #eceeee; background: #fff; }
.header-shell { min-height: 116px; display: flex; align-items: center; gap: 18px; padding: 0 26px 0 0; }
.brand {
  position: relative;
  flex: 0 0 320px;
  align-self: stretch;
  min-height: 86px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 18px 22px;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 66% 15%, rgba(236,192,70,.3) 0 8%, transparent 9%),
    radial-gradient(circle at 91% 76%, rgba(226,107,157,.32) 0 10%, transparent 11%),
    radial-gradient(circle at 18% 120%, rgba(116,181,127,.52) 0 16%, transparent 17%),
    radial-gradient(circle at 82% -20%, rgba(151,105,178,.55) 0 18%, transparent 19%),
    linear-gradient(135deg, #372044, #63327f 56%, #3f7650);
}
.brand::after { content: ""; position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(45deg, transparent 47%, #fff 49%, transparent 51%); background-size: 24px 24px; }
.brand-flower { position: relative; z-index: 1; width: 56px; height: 56px; flex: none; transform: scale(1.08); transform-origin: center; }
.brand-flower i, .brand-flower b { position: absolute; display: block; }
.brand-flower i { width: 15px; height: 27px; left: 17px; top: 1px; border: 2px solid rgba(255,255,255,.78); border-radius: 70% 70% 48% 48%; background: #fff; transform-origin: 50% 24px; }
.brand-flower i:nth-child(2) { transform: rotate(90deg); background: #d9eddd; }
.brand-flower i:nth-child(3) { transform: rotate(180deg); background: #fff; }
.brand-flower i:nth-child(4) { transform: rotate(270deg); background: #e4d8ed; }
.brand-flower b { left: 19px; top: 19px; width: 12px; height: 12px; border-radius: 50%; background: var(--green); border: 2px solid #fff; }
.brand-copy { position: relative; z-index: 1; white-space: nowrap; font-size: clamp(1.25rem,1.5vw,1.52rem); letter-spacing: -.035em; }
.brand-copy strong, .brand-copy em { color: #fff; font-style: normal; font-weight: 700; }
.brand-copy em { margin-left: 3px; color: #d9f0dd; }
.desktop-nav { margin-left: auto; display: flex; align-items: center; justify-content: flex-end; gap: 1px; }
.desktop-nav a { padding: 12px 6px; color: #66696b; font-size: .79rem; white-space: nowrap; transition: color .18s; }
.desktop-nav a:hover { color: var(--green); }
.desktop-nav a:focus-visible { color: var(--green-dark); outline: 2px solid var(--purple); outline-offset: 2px; }
.desktop-nav a.active { color: #1d1e1f; font-weight: 600; }
.header-actions { display: flex; align-items: center; gap: 7px; }
.language-button { min-width: 46px; height: 34px; padding: 0 10px; border: 1px solid #b7cdbd; color: var(--green-dark); background: #fff; font-size: .73rem; font-weight: 700; }
.language-button:hover { color: #fff; background: var(--purple); border-color: var(--purple); }
.menu-button { display: none; width: 42px; height: 40px; padding: 9px; border: 1px solid var(--line); background: #fff; }
.menu-button span:not(.sr-only) { display: block; height: 2px; margin: 4px 0; background: var(--purple); }
.mobile-nav { padding: 0 20px 14px; border-top: 1px solid var(--line); background: #fff; }
.mobile-nav a { display: block; min-height: 44px; padding: 11px 7px; border-bottom: 1px solid #eceeee; color: #56585a; }
.mobile-nav a.active { color: var(--purple); font-weight: 700; }

/* Home */
.home-showcase { max-width: 1280px; height: 360px; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(520px,.92fr); gap: 10px; margin: 28px auto 0; }
.homepage-slider { position: relative; height: 360px; overflow: hidden; background: var(--green-soft); }
.slider-track, .slide, .slide svg { width: 100%; height: 100%; }
.slide { position: absolute; inset: 0; opacity: 0; transition: opacity .65s ease; pointer-events: none; }
.slide.active { opacity: 1; }
.hero-species-slide.active { pointer-events: auto; }
.slide svg { display: block; }
.slider-arrow { position: absolute; top: 50%; z-index: 3; width: 50px; height: 70px; transform: translateY(-50%); border: 0; color: #fff; background: rgba(24,24,26,.74); font: 300 3rem/1 Arial,sans-serif; }
.slider-arrow.prev { left: 0; }
.slider-arrow.next { right: 0; }
.slider-arrow:hover, .slider-arrow:focus-visible { background: var(--purple); outline: 0; }
.slider-controls { position: absolute; left: 50%; bottom: 10px; z-index: 4; display: flex; align-items: center; gap: 11px; transform: translateX(-50%); }
.slider-dots { display: flex; gap: 7px; }
.slider-dots button { width: 9px; height: 9px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: rgba(255,255,255,.4); }
.slider-dots button.active { background: var(--purple); }
.slider-pause { min-width: 48px; padding: 3px 7px; border: 1px solid rgba(255,255,255,.82); color: #fff; background: rgba(36,24,40,.67); font-size: .66rem; line-height: 1.2; }
.slider-pause:hover, .slider-pause:focus-visible { background: var(--purple); outline: 2px solid #fff; outline-offset: 1px; }
.home-intro { max-width: 1280px; margin: 0 auto; padding: 20px 10px 19px; }
.home-intro p { margin: 0; color: #454648; font-size: 1.05rem; font-weight: 600; line-height: 1.65; }
.home-intro span { display: block; margin-top: 6px; color: var(--green); font-size: .91rem; }
.home-modules { min-width: 0; height: 360px; display: grid; grid-template-columns: repeat(3,1fr); grid-template-rows: repeat(2,1fr); border: 1px solid #eceeee; background: #fff; }
.home-module { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 9px 8px 8px; text-align: center; border-right: 1px solid #eceeee; border-bottom: 1px solid #eceeee; transition: background .18s ease; }
.home-module:nth-child(3n) { border-right: 0; }
.home-module:nth-child(n+4) { border-bottom: 0; }
.module-illustration { height: 118px; display: grid; place-items: center; overflow: hidden; background: linear-gradient(145deg, #fff, var(--module-soft,#eef5ef)); }
.module-illustration svg { width: 92%; height: 92%; fill: none; stroke: var(--module-accent,var(--purple)); stroke-width: 5; }
.module-illustration svg circle:nth-of-type(even), .module-illustration svg path:nth-of-type(even) { stroke: var(--green); }
.home-module strong { display: block; margin-top: 8px; color: var(--module-accent,var(--green)); font-size: .93rem; font-weight: 600; }
.home-module:hover strong { color: var(--purple-dark); }
.home-module:hover { background: var(--module-soft,var(--purple-soft)); }
.home-module:hover .module-illustration { background: rgba(255,255,255,.78); }

.release-tools { display: grid; grid-template-columns: 35.5% 64.5%; border-top: 10px solid #fff; background: var(--blue-gray); }
.release-panel, .quick-panel { min-width: 0; }
.release-panel { border-right: 5px solid #fff; }
.release-panel h2, .quick-panel h2 { margin: 0; padding: 9px 15px 8px; text-align: center; color: #55585a; font-size: 1.45rem; line-height: 1.2; }
.release-list { padding: 4px 10px 11px; }
.release-list div { min-height: 34px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px; color: #66696b; font-size: .92rem; font-weight: 700; }
.release-list strong { min-width: 92px; text-align: right; color: var(--purple); font-size: 1rem; }
.quick-panel { background: #fff; }
.quick-panel h2 { background: var(--blue-gray); }
.quick-grid { display: grid; grid-template-columns: repeat(5,1fr); min-height: 155px; }
.quick-grid a { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; padding: 8px; text-align: center; }
.quick-grid a > span { width: 92px; height: 76px; display: grid; place-items: center; }
.quick-grid svg { width: 100%; height: 100%; fill: none; stroke: var(--purple); stroke-width: 6; }
.quick-grid a:nth-child(even) svg { stroke: var(--green); }
.quick-grid b { color: #404244; font-size: .84rem; font-weight: 500; }
.quick-grid a:hover b { color: var(--green); }
.quick-panel > p { margin: 0; padding: 0 12px 12px; color: #858789; text-align: center; font-size: .74rem; }

/* Inner pages */
.page-hero, .inner-page { max-width: 1280px; margin: 0 auto; }
.page-hero-inner, .inner-page { padding: 27px 0 74px; }
.breadcrumbs { display: flex; align-items: center; gap: 5px; margin-bottom: 18px; color: #777a7b; font-size: .84rem; }
.breadcrumbs a { color: var(--green); }
.breadcrumbs a:hover { color: var(--purple); }
.page-hero h1, .inner-page h1 { margin: 0; color: #343537; font-size: 1.8rem; line-height: 1.2; }
.page-hero p, .page-intro { max-width: 940px; margin: 10px 0 22px; color: #686b6d; font-size: .93rem; }
.page-badge { display: inline-block; margin-top: 2px; padding: 8px 12px; border-left: 4px solid var(--purple); background: var(--green-soft); }
.page-badge strong, .page-badge span { display: block; }
.page-badge strong { color: var(--purple-dark); }
.page-badge span { color: #6c6e70; font-size: .76rem; }
.content-shell { max-width: 1280px; margin: 0 auto; padding: 0 0 74px; }
.section-kicker { display: block; margin-bottom: 5px; color: var(--green); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.module-accordion { border-top: 1px solid #cfd2d3; }
.module-accordion details { border: 1px solid #cfd2d3; border-top: 0; }
.module-accordion summary { position: relative; min-height: 45px; display: flex; align-items: center; justify-content: center; padding: 8px 44px 8px 18px; list-style: none; color: #333537; background: linear-gradient(#fafafa,#e5e5e5); font-size: 1rem; font-weight: 700; text-align: center; cursor: pointer; }
.module-accordion summary::-webkit-details-marker { display: none; }
.module-accordion summary::after { content: "+"; position: absolute; right: 18px; color: var(--green); font-size: 1.2rem; }
.module-accordion details[open] summary { color: #fff; background: linear-gradient(90deg,var(--purple),#5b8065); }
.module-accordion details[open] summary::after { content: "−"; color: #fff; }
.accordion-body { padding: 22px; background: #fff; }
.compact-summary { width: min(100%,680px); }
.compact-summary td:first-child { color: #65686a; }
.compact-summary td:last-child { width: 170px; text-align: right; color: var(--purple); }
.release-line { margin: 17px 0 0; color: #717476; font-size: .8rem; overflow-wrap: anywhere; }
.inline-link { display: inline-block; margin-top: 8px; color: var(--green); font-weight: 700; }

.search-box { padding: 18px; color: #fff; background: var(--purple-dark); }
.search-box label { display: block; margin-bottom: 7px; font-size: .77rem; font-weight: 700; }
.search-input-row { display: grid; grid-template-columns: 170px 1fr auto; background: #fff; }
.search-input-row:focus-within { box-shadow: 0 0 0 3px rgba(255,255,255,.38), 0 0 0 5px rgba(99,50,127,.42); }
.search-input-row select, .search-input-row input { min-width: 0; padding: 11px 12px; border: 0; color: #343537; background: #fff; outline: 0; }
.search-input-row select { border-right: 1px solid var(--line); }
.search-input-row button { border: 0; padding: 9px 22px; color: #fff; background: var(--green); font-weight: 700; }
.search-input-row button:hover { background: var(--green-dark); }
.search-help { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 10px; color: #d7ccd9; font-size: .72rem; }
.search-help button { padding: 3px 8px; border: 1px solid rgba(255,255,255,.38); color: #fff; background: transparent; font-size: .7rem; }
.preview-note { margin: 12px 0; color: #787a7c; font-size: .8rem; }
.table-wrap { overflow-x: auto; }
table { width: 100%; min-width: 680px; border-collapse: collapse; }
th, td { padding: 12px 11px; border: 1px solid #d9dcdd; text-align: left; vertical-align: middle; }
th { color: #fff; background: #55585a; font-size: .79rem; }
td { color: #5e6163; font-size: .82rem; }
td strong { color: #353638; }
tbody tr:nth-child(even) { background: #f6f7f7; }
.status-pill { display: inline-block; color: var(--green-dark); font-weight: 700; }
.record-action { padding: 4px 0; border: 0; color: var(--purple); background: transparent; font-weight: 700; }
.record-action:hover { text-decoration: underline; }
.empty-state { padding: 28px; text-align: center; color: #76787a; background: #f5f6f6; }
.empty-state p { margin: 4px 0 0; font-size: .8rem; }

/* Species */
.species-summary { margin-bottom: 14px; }
.species-notice { margin: 0 0 17px; }
.species-search { display: grid; grid-template-columns: 1fr auto; align-items: center; margin-bottom: 12px; border: 1px solid var(--line); background: #fff; }
.species-search input { min-width: 0; padding: 12px 14px; border: 0; outline: 0; }
.species-search input:focus { box-shadow: inset 0 0 0 2px rgba(99,50,127,.18); }
.species-search span { min-width: 56px; align-self: stretch; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg,var(--purple),var(--green)); font-weight: 700; }
.species-table { min-width: 850px; }
.species-name-link { color: var(--purple); font-weight: 700; }
.species-name-link:hover, .species-name-link:focus-visible { color: var(--green-dark); text-decoration: underline; }
.back-link { display: inline-block; margin: 0 0 15px; color: var(--green); font-size: .84rem; font-weight: 700; }
.species-profile h1 i { font-weight: 500; }
.species-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 22px; }
.detail-panel, .species-accessions { border: 1px solid var(--line); background: #fff; }
.detail-panel h2, .species-accessions h2 { margin: 0; padding: 11px 16px; color: #fff; background: linear-gradient(90deg,var(--purple),#637c67); font-size: 1rem; }
.detail-panel dl { margin: 0; }
.detail-panel dl > div { display: grid; grid-template-columns: minmax(150px,38%) 1fr; border-bottom: 1px solid #e7e9e9; }
.detail-panel dl > div:last-child { border-bottom: 0; }
.detail-panel dt, .detail-panel dd { margin: 0; padding: 11px 14px; font-size: .84rem; }
.detail-panel dt { color: #66696b; background: #f5f6f6; font-weight: 700; }
.detail-panel dd { overflow-wrap: anywhere; }
.detail-panel .inline-link { margin: 12px 14px 15px; }
.species-accessions { margin-top: 20px; }

/* Tools */
.tools-notice { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding: 13px 16px; border-left: 4px solid #e1b341; color: #5d5746; background: #fff6d8; }
.tools-notice span { width: 26px; height: 26px; display: grid; place-items: center; flex: none; border-radius: 50%; color: #fff; background: var(--purple); font-weight: 700; }
.tools-notice p { margin: 0; font-size: .86rem; }
.tools-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.tool-card { min-height: 310px; display: grid; grid-template-columns: 112px 1fr; border: 1px solid var(--line); background: #fff; overflow: hidden; }
.tool-mark { display: grid; place-items: center; color: #fff; background: linear-gradient(160deg,var(--purple),var(--green)); font-size: 3.5rem; font-weight: 800; }
.tool-card.jbrowse .tool-mark { background: linear-gradient(160deg,var(--green),#d5a72d 120%); }
.tool-card-copy { padding: 23px 24px; }
.tool-status { display: inline-block; color: #97516f; font-size: .72rem; font-weight: 700; letter-spacing: .03em; }
.tool-card h2 { margin: 7px 0 0; color: var(--purple-dark); font-size: 1.65rem; }
.tool-card h3 { margin: 1px 0 10px; color: var(--green-dark); font-size: .95rem; }
.tool-card p { margin: 0; color: #686b6d; font-size: .88rem; }
.tool-card dl { margin: 17px 0; padding-top: 13px; border-top: 1px solid #eceeee; }
.tool-card dt { color: #777a7b; font-size: .72rem; font-weight: 700; }
.tool-card dd { margin: 3px 0 0; color: #444749; font-size: .82rem; }
.tool-card button { padding: 9px 13px; border: 1px solid #d6d8d8; color: #898b8c; background: #f1f2f2; cursor: not-allowed; }
.not-found { min-height: 430px; }
.not-found > strong { display: block; color: var(--purple-soft); font-size: 6rem; line-height: 1; }
.not-found p { color: #686b6d; }

/* Download and Help */
.summary-band { display: grid; grid-template-columns: repeat(3,1fr); margin-bottom: 18px; border: 1px solid var(--line); background: var(--blue-gray); }
.summary-band div { padding: 13px 18px; border-right: 1px solid #fff; }
.summary-band div:last-child { border-right: 0; }
.summary-band strong, .summary-band span { display: block; }
.summary-band strong { color: var(--purple); font-size: 1.1rem; }
.summary-band span { color: #696b6d; font-size: .76rem; }
.download-filter { margin-bottom: 12px; }
.download-filter input { width: min(100%,560px); padding: 11px 12px; border: 1px solid var(--line); outline: 0; }
.download-filter input:focus { border-color: var(--purple); }
.content-card { border: 1px solid var(--line); background: #fff; }
.disabled-button { padding: 5px 8px; border: 1px solid #dadcdd; color: #8a8c8e; background: #f3f4f4; font-size: .7rem; cursor: not-allowed; }
.collection-note { display: grid; grid-template-columns: 32px 1fr; gap: 12px; margin-top: 18px; padding: 15px; border-left: 4px solid var(--purple); background: var(--green-soft); }
.note-mark { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--purple); font-weight: 700; }
.collection-note p { margin: 3px 0 0; color: #656769; font-size: .8rem; }
.help-layout { display: grid; grid-template-columns: 30% 70%; gap: 30px; }
.help-intro h2 { margin: 0; font-size: 1.3rem; }
.help-intro p { color: #6d7072; font-size: .84rem; }
.help-links { display: grid; margin-top: 16px; }
.help-links button { padding: 8px 0; border: 0; border-bottom: 1px solid #e1e3e3; color: var(--green); background: transparent; text-align: left; font-size: .8rem; }
.help-links button:hover { color: var(--purple); }
.help-sections { border-top: 1px solid var(--line); }
.help-item { border: 1px solid var(--line); border-top: 0; }
.help-item > button { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; border: 0; color: #37393a; background: linear-gradient(#fafafa,#e8e8e8); text-align: left; font-weight: 700; }
.help-item > button span { display: flex; gap: 12px; }
.help-item > button b { color: var(--green); }
.help-item > button i { font-style: normal; }
.help-answer { padding: 17px 20px; color: #67696b; font-size: .84rem; }
.help-answer p { margin: 0; }
.contact-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 3px; background: var(--line); border: 1px solid var(--line); }
.contact-grid article { padding: 17px; background: #fff; }
.contact-grid span { color: var(--purple); font-size: .68rem; font-weight: 700; }
.contact-grid h3 { margin: 8px 0 0; font-size: .95rem; }
.contact-grid p { margin: 4px 0 0; color: #707274; font-size: .76rem; }
.contact-pending { grid-column: 1 / -1; padding: 14px 17px; color: #536258; background: var(--green-soft); font-size: .8rem; }

/* Footer */
.site-footer { min-height: 270px; color: #aaa; background: #222324; }
.footer-inner { max-width: 1180px; margin: 0 auto; padding: 52px 24px 25px; text-align: center; }
.footer-badges { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; margin-bottom: 29px; }
.footer-badges span { min-width: 150px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; color: #d5d6d6; border: 1px solid #4a4b4c; font-size: .74rem; text-align: left; }
.footer-badges b { width: 29px; height: 29px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg,var(--purple),var(--green)); }
.footer-brand strong, .footer-brand span { display: block; }
.footer-brand strong { color: #e3e4e4; font-size: 1rem; }
.footer-brand span { margin-top: 5px; font-size: .78rem; }
.footer-links { display: flex; justify-content: center; gap: 18px; margin: 18px 0; color: #c5c6c6; font-size: .76rem; }
.footer-links a:hover { color: #fff; }
.footer-meta { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 24px; padding-top: 15px; border-top: 1px solid #3a3b3c; font-size: .7rem; }
.toast { position: fixed; left: 50%; bottom: 23px; z-index: 100; max-width: min(520px,calc(100vw - 30px)); padding: 11px 15px; color: #fff; background: var(--purple-dark); opacity: 0; transform: translate(-50%,12px); transition: .2s; pointer-events: none; }
.toast.show { opacity: 1; transform: translate(-50%,0); }

@media (max-width: 1240px) {
  .desktop-nav { display: none; }
  .menu-button { display: block; }
  .header-actions { margin-left: auto; }
  .inner-page, .page-hero-inner, .content-shell { padding-left: 22px; padding-right: 22px; }
}
@media (max-width: 980px) {
  .home-showcase { height: auto; grid-template-columns: 1fr; margin: 18px 12px 0; }
  .homepage-slider { height: 240px; }
  .home-modules { height: auto; grid-template-columns: repeat(3,1fr); grid-template-rows: repeat(2,165px); }
}
@media (max-width: 850px) {
  .release-tools { grid-template-columns: 1fr; }
  .release-panel { border-right: 0; border-bottom: 5px solid #fff; }
  .help-layout { grid-template-columns: 1fr; }
  .species-detail-grid, .tools-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .site-header, .header-shell { min-height: 72px; }
  .header-shell { padding-right: 13px; }
  .brand { flex-basis: 225px; min-height: 72px; padding: 12px 13px; }
  .brand-flower { width: 43px; height: 43px; transform: scale(.86); transform-origin: left center; }
  .brand-copy { margin-left: -7px; font-size: .96rem; }
  .language-button { min-width: 41px; padding: 0 7px; }
  .home-showcase { margin-top: 12px; gap: 8px; }
  .homepage-slider { height: 170px; }
  .slider-arrow { width: 37px; height: 56px; font-size: 2.2rem; }
  .home-intro { padding: 16px 16px 10px; }
  .home-intro p { font-size: .92rem; font-weight: 600; }
  .home-intro span { font-size: .76rem; }
  .home-modules { grid-template-columns: repeat(2,1fr); grid-template-rows: repeat(3,145px); }
  .home-module:nth-child(3n) { border-right: 1px solid #eceeee; }
  .home-module:nth-child(even) { border-right: 0; }
  .home-module:nth-child(n+4) { border-bottom: 1px solid #eceeee; }
  .home-module:nth-child(n+5) { border-bottom: 0; }
  .module-illustration { height: 94px; }
  .quick-grid { grid-template-columns: repeat(2,1fr); }
  .quick-grid a:last-child { grid-column: 1 / -1; }
  .page-hero-inner, .inner-page { padding-top: 22px; padding-bottom: 48px; }
  .page-hero h1, .inner-page h1 { font-size: 1.55rem; }
  .search-input-row { grid-template-columns: 1fr; }
  .search-input-row select { border-right: 0; border-bottom: 1px solid var(--line); }
  .accordion-body { padding: 13px; }
  .summary-band { grid-template-columns: 1fr; }
  .summary-band div { border-right: 0; border-bottom: 1px solid #fff; }
  .contact-grid { grid-template-columns: 1fr; }
  .detail-panel dl > div { grid-template-columns: 1fr; }
  .detail-panel dt { padding-bottom: 3px; }
  .detail-panel dd { padding-top: 3px; }
  .tool-card { grid-template-columns: 76px 1fr; }
  .tool-mark { font-size: 2.35rem; }
  .tool-card-copy { padding: 18px; }
  .footer-inner { padding-top: 38px; }
  .footer-badges { display: grid; grid-template-columns: 1fr 1fr; }
  .footer-badges span { min-width: 0; }
}

@media (max-width: 360px) {
  .header-shell { gap: 6px; padding-right: 6px; }
  .brand { flex-basis: 190px; padding-left: 10px; padding-right: 10px; }
  .brand-flower { display: none; }
  .brand-copy { margin-left: 0; font-size: .9rem; }
  .header-actions { gap: 4px; }
  .language-button { min-width: 36px; height: 34px; padding: 0 5px; }
  .menu-button { width: 38px; height: 36px; padding: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* 2026 homepage: fixed database identity with a species-only carousel. */
body[data-route="home"] .site-header { display: none; }
.home-hero {
  position: relative;
  width: 100%;
  min-height: 490px;
  display: grid;
  grid-template-columns: minmax(510px,45%) minmax(0,55%);
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: linear-gradient(100deg,#432052 0%,#673483 35%,#e9dff0 58%,#fff 78%);
  box-shadow: none;
}
.home-hero::before,
.home-hero::after { content: ""; position: absolute; z-index: 1; border-radius: 50%; pointer-events: none; }
.home-hero::before { width: 290px; height: 290px; left: -90px; bottom: -185px; border: 44px solid rgba(109,174,115,.25); }
.home-hero::after { width: 85px; height: 85px; left: 43%; top: -55px; background: rgba(232,188,63,.34); }
.home-hero-copy { position: relative; z-index: 3; align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: 62px 34px 54px clamp(54px,6vw,104px); color: #fff; }
.hero-eyebrow { display: block; margin-bottom: 13px; color: #f0d56f; font-size: .9rem; font-weight: 800; letter-spacing: .14em; }
.home-hero h1 { margin: 0; font-size: clamp(3.35rem,5.4vw,5.25rem); line-height: .96; letter-spacing: -.07em; white-space: nowrap; }
.home-hero h1 span { color: #fff; font-weight: 750; }
.home-hero h1 b { margin-left: .08em; color: #b7e3bd; font-weight: 750; }
.home-hero-copy > p { max-width: 540px; margin: 20px 0 0; color: #eee7f1; font-size: 1.22rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 29px; }
.hero-actions a { min-width: 142px; padding: 12px 18px; border: 1px solid rgba(255,255,255,.75); text-align: center; font-size: .95rem; font-weight: 700; transition: transform .18s,background .18s; }
.hero-actions a:hover { transform: translateY(-2px); }
.hero-primary { color: var(--purple-dark); background: #fff; }
.hero-secondary { color: #fff; background: rgba(255,255,255,.08); }
.hero-release { display: block; margin-top: 28px; color: #e2d7e7; font-size: .83rem; letter-spacing: .02em; }
.home-hero .homepage-slider { position: relative; z-index: 2; width: 100%; height: 100%; min-height: 490px; overflow: hidden; background: transparent; -webkit-mask-image: linear-gradient(90deg,transparent 0%,#000 11%,#000 100%); mask-image: linear-gradient(90deg,transparent 0%,#000 11%,#000 100%); }
.home-hero .slider-track { position: absolute; inset: 0; }
.hero-species-slide { margin: 0; }
.hero-species-slide img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: var(--photo-position,50% 50%); filter: saturate(.94) contrast(1.02); }
.hero-species-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 48%,rgba(23,20,25,.5)); }
.hero-species-slide figcaption { position: absolute; right: 22px; bottom: 22px; z-index: 2; display: flex; flex-direction: column; align-items: flex-end; padding: 10px 12px; color: #fff; background: rgba(31,25,33,.7); backdrop-filter: blur(4px); }
.hero-species-slide figcaption i { font-family: Georgia,"Times New Roman",serif; font-size: 1.3rem; font-weight: 700; }
.hero-species-slide figcaption a { margin-top: 3px; color: #e9e4eb; font-size: .8rem; font-style: normal; }
.hero-species-slide figcaption a:hover { color: #fff; text-decoration: underline; }
.home-hero .slider-arrow { width: 38px; height: 54px; color: #fff; background: rgba(48,32,53,.5); font-size: 2.25rem; }
.home-hero .slider-arrow.prev { left: 12%; }
.home-hero .slider-arrow.next { right: 12px; }
.home-hero .slider-controls { left: 21%; bottom: 16px; transform: none; }
.home-hero .slider-dots button { width: 8px; height: 8px; }
.home-hero .slider-dots button.active { border-color: #fff; background: #fff; }
.home-hero .slider-pause { min-width: 58px; padding: 5px 9px; background: rgba(48,32,53,.58); font-size: .82rem; }

.home-navigation { position: sticky; top: 0; z-index: 45; border-bottom: 1px solid #ddd7e1; background: rgba(255,255,255,.97); box-shadow: 0 8px 24px rgba(55,38,62,.09); backdrop-filter: blur(12px); }
.home-navigation-shell { width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr); margin: 0 auto; }
.home-nav-actions { display: flex; border-right: 1px solid #e2dce5; }
.home-menu-toggle,.home-language-toggle { min-height: 72px; border: 0; font-weight: 800; }
.home-menu-toggle { min-width: 84px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: #fff; background: var(--purple); }
.home-menu-toggle > span { width: 27px; display: grid; gap: 5px; }
.home-menu-toggle i { height: 2px; display: block; border-radius: 4px; background: #fff; }
.home-menu-toggle b { font-size: .82rem; }
.home-menu-toggle:hover,.home-menu-toggle:focus-visible { background: var(--purple-dark); outline: 0; }
.home-language-toggle { min-width: 58px; padding: 0 12px; color: #fff; background: var(--green); font-size: .86rem; }
.home-language-toggle:hover,.home-language-toggle:focus-visible { background: var(--green-dark); outline: 0; }
.home-primary-nav { min-width: 0; display: none; grid-template-columns: repeat(10,minmax(0,1fr)); }
.home-primary-nav.is-open { display: grid; }
.home-primary-nav a { min-width: 0; min-height: 72px; display: flex; align-items: center; justify-content: center; padding: 9px 7px; border-right: 1px solid #eeeaf0; color: #4d4850; font-size: .98rem; font-weight: 700; line-height: 1.25; text-align: center; transition: color .18s,background .18s; }
.home-primary-nav a:last-child { border-right: 0; }
.home-primary-nav a:hover,.home-primary-nav a:focus-visible { color: var(--purple-dark); background: #f4edf7; outline: 0; }
.home-primary-nav a.active { color: #fff; background: linear-gradient(145deg,#63327f,#774494); }
body[data-lang="en"] .home-primary-nav a { font-size: .86rem; }

.home-module-nav { max-width: 1180px; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); margin: -1px auto 0; border: 1px solid #e6e1e9; border-top: 0; border-radius: 0 0 16px 16px; background: #fff; box-shadow: 0 12px 30px rgba(62,43,69,.08); }
.home-module-nav a { min-width: 0; min-height: 76px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 9px; border-right: 1px solid #eee9f0; transition: background .18s,transform .18s; }
.home-module-nav a:last-child { border-right: 0; }
.home-module-nav a:hover { z-index: 1; background: #f7f2f9; transform: translateY(-3px); }
.home-module-nav span { width: 37px; height: 37px; display: grid; place-items: center; flex: none; border-radius: 50%; color: #fff; background: var(--module-accent,var(--purple)); font-size: .61rem; font-weight: 800; }
.home-module-nav strong { min-width: 0; color: #4d4950; font-size: .78rem; line-height: 1.25; }

.home-about-section,
.home-resource-section,
.home-tools-section { max-width: 1280px; margin: 0 auto; }
.home-about-section .section-kicker,
.home-section-heading .section-kicker { font-size: .86rem; }
.home-about-section { display: grid; grid-template-columns: minmax(0,1.03fr) minmax(500px,.97fr); gap: 36px; padding: 48px 24px 44px; }
.home-about-copy h2,
.home-section-heading h2 { margin: 4px 0 0; color: #332e35; font-family: Georgia,"Times New Roman","Songti SC",serif; font-size: clamp(2rem,3vw,2.7rem); font-weight: 600; line-height: 1.2; }
.home-about-copy p { margin: 15px 0 0; color: #5d585f; font-size: 1.08rem; line-height: 1.72; }
.preview-state { display: block; margin-top: 14px; padding: 12px 14px; border-left: 4px solid var(--green); color: #4f5d52; background: var(--green-soft); font-size: .88rem; }
.release-stat-grid { align-self: center; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid #e7e2e9; background: #f8f6f9; }
.release-stat-grid div { min-height: 108px; display: flex; flex-direction: column; justify-content: center; padding: 14px 16px; border-right: 1px solid #e7e2e9; border-bottom: 1px solid #e7e2e9; }
.release-stat-grid div:nth-child(3n) { border-right: 0; }
.release-stat-grid div:nth-child(n+4) { border-bottom: 0; }
.release-stat-grid strong { color: var(--purple); font-size: clamp(1.5rem,2.3vw,2rem); line-height: 1.08; overflow-wrap: anywhere; }
.release-stat-grid span { margin-top: 8px; color: #625d63; font-size: .84rem; line-height: 1.35; }

.home-resource-section { padding: 42px 24px 48px; border-radius: 18px; background: linear-gradient(145deg,#faf8fb,#f1f6f1); }
.home-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.home-section-heading > p { max-width: 520px; margin: 0; color: #68646a; font-size: .94rem; }
.resource-shortcuts { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.resource-card { min-width: 0; min-height: 270px; display: flex; flex-direction: column; align-items: center; padding: 17px 11px 16px; border: 1px solid #e6e3e7; border-top: 4px solid var(--module-accent); background: #fff; text-align: center; transition: transform .2s,box-shadow .2s; }
.resource-card:hover { transform: translateY(-5px); box-shadow: 0 14px 28px rgba(54,43,59,.12); }
.resource-card-icon { width: 100%; height: 83px; display: grid; place-items: center; margin-bottom: 8px; border-radius: 8px; background: var(--module-soft); }
.resource-card-icon svg { width: 100%; height: 74px; fill: none; stroke: var(--module-accent); stroke-width: 5; }
.resource-card > strong { min-height: 42px; display: flex; align-items: center; color: #3f3b42; font-size: .96rem; line-height: 1.25; }
.resource-card > b { margin-top: 8px; color: var(--module-accent); font-size: 1.48rem; line-height: 1.1; overflow-wrap: anywhere; }
.resource-card > small { min-height: 39px; margin-top: 4px; color: #625e64; font-size: .88rem; line-height: 1.35; }
.resource-card > em { margin-top: auto; padding-top: 11px; border-top: 1px solid #eeecef; color: #59545b; font-size: .86rem; font-style: normal; line-height: 1.4; }

.home-tools-section { padding: 44px 24px 52px; }
.all-tools-link { flex: none; padding-bottom: 4px; color: var(--purple); font-size: .96rem; font-weight: 700; }
.all-tools-link:hover { color: var(--green-dark); }
.home-tools-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.home-tool-card { min-height: 116px; display: grid; grid-template-columns: 62px 1fr auto; align-items: center; gap: 15px; padding: 18px 20px; border: 1px solid #e4e1e5; background: #fff; transition: border-color .18s,box-shadow .18s,transform .18s; }
.home-tool-card:hover { border-color: #bdabc7; box-shadow: 0 10px 25px rgba(60,41,68,.1); transform: translateY(-2px); }
.tool-symbol { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 17px 17px 17px 4px; color: #fff; background: linear-gradient(145deg,var(--purple),var(--green)); font-size: .9rem; font-weight: 850; letter-spacing: .03em; }
.home-tool-card div { min-width: 0; }
.home-tool-card strong,.home-tool-card small { display: block; }
.home-tool-card strong { color: #3d3940; font-size: 1rem; }
.home-tool-card small { margin-top: 5px; color: #68636a; font-size: .84rem; }
.home-tool-card > b { color: #a39ba6; font-size: .95rem; }
.tools-preview-note { margin: 16px 0 0; color: #5e5860; font-size: .86rem; text-align: center; }

/* Expanded tools catalogue. */
.tools-summary { display: grid; grid-template-columns: repeat(3,1fr); margin-bottom: 13px; border: 1px solid var(--line); background: #f6f3f7; }
.tools-summary div { padding: 14px 18px; border-right: 1px solid #e5dfe8; }
.tools-summary div:last-child { border-right: 0; }
.tools-summary strong,.tools-summary span { display: block; }
.tools-summary strong { color: var(--purple); font-size: 1.32rem; }
.tools-summary span { color: #6d6870; font-size: .72rem; }
.tool-roadmap { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-bottom: 37px; }
.tool-roadmap span { min-height: 38px; display: flex; align-items: center; gap: 9px; padding: 7px 11px; color: #5b565d; background: #f5f4f5; font-size: .7rem; font-weight: 700; }
.tool-roadmap b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--purple); }
.tool-roadmap .phase-2 b { background: var(--green); }
.tool-roadmap .phase-3 b { background: #b07e16; }
.tool-group { margin-top: 34px; }
.tool-group-heading { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; margin-bottom: 13px; padding-bottom: 10px; border-bottom: 2px solid #eee9f0; }
.tool-group-heading > span { color: var(--green); font-size: .68rem; font-weight: 800; }
.tool-group-heading h2 { margin: 0; color: #3b373d; font-size: 1.2rem; }
.tool-group-heading > b { min-width: 30px; padding: 4px 8px; border-radius: 15px; color: var(--purple); background: var(--purple-soft); font-size: .7rem; text-align: center; }
.tools-page .tools-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.tools-page .tool-card { min-height: 0; display: flex; flex-direction: column; padding: 19px; border: 1px solid #e0dce2; border-top: 3px solid var(--purple); background: #fff; overflow: visible; }
.tools-page .tool-card.phase-2 { border-top-color: var(--green); }
.tools-page .tool-card.phase-3 { border-top-color: #c28d20; }
.tools-page .tool-card.is-targeted { outline: 3px solid rgba(99,50,127,.2); outline-offset: 3px; box-shadow: 0 14px 32px rgba(63,35,75,.14); }
.tool-card-head { display: grid; grid-template-columns: 54px 1fr; align-items: start; gap: 13px; }
.tools-page .tool-mark { width: 54px; height: 54px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,var(--purple),#81579b); font-size: .78rem; font-weight: 850; }
.tools-page .phase-2 .tool-mark { background: linear-gradient(145deg,var(--green),#72a17d); }
.tools-page .phase-3 .tool-mark { background: linear-gradient(145deg,#9a6710,#d7ac4c); }
.tools-page .tool-status { display: block; color: #8b668d; font-size: .61rem; letter-spacing: .02em; }
.tools-page .tool-card h3 { margin: 3px 0 0; color: #3c343f; font-size: 1.05rem; line-height: 1.25; }
.tools-page .tool-card h4 { margin: 3px 0 0; color: var(--green-dark); font-size: .74rem; font-weight: 600; }
.tools-page .tool-card > p { min-height: 48px; margin: 14px 0 0; color: #6e6970; font-size: .78rem; }
.tools-page .tool-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 15px 0; padding: 1px; border: 0; background: #ebe7ed; }
.tools-page .tool-card dl > div { padding: 10px 11px; background: #faf9fa; }
.tools-page .tool-card dt { color: #817b82; font-size: .61rem; }
.tools-page .tool-card dd { margin: 3px 0 0; color: #4e4950; font-size: .7rem; line-height: 1.35; }
.tools-page .tool-card button { align-self: flex-start; margin-top: auto; padding: 7px 11px; border: 1px solid #d8d4d9; color: #8b858c; background: #f3f1f3; font-size: .68rem; }
.tool-deployment-note { margin-top: 36px; }

@media (max-width: 1180px) {
  .home-hero { margin: 0; grid-template-columns: minmax(450px,46%) minmax(0,54%); }
  .home-module-nav { margin-left: 38px; margin-right: 38px; }
  .home-about-section { gap: 30px; padding-left: 24px; padding-right: 24px; }
  .home-resource-section,.home-tools-section { margin-left: 18px; margin-right: 18px; }
  .resource-card { min-height: 260px; }
}

@media (max-width: 1080px) {
  .home-navigation { position: relative; }
  .home-navigation-shell { grid-template-columns: auto 1fr; }
  .home-primary-nav { grid-column: 1 / -1; grid-template-columns: repeat(5,minmax(0,1fr)); border-top: 1px solid #e8e3ea; }
  .home-primary-nav a { min-height: 60px; font-size: .94rem; }
  body[data-lang="en"] .home-primary-nav a { font-size: .84rem; }
}

@media (max-width: 900px) {
  .home-hero { grid-template-columns: 1fr; }
  .home-hero-copy { min-height: 340px; padding: 48px 42px 38px; background: linear-gradient(120deg,#432052,#6e3a8b); }
  .home-hero::after { left: auto; right: 7%; }
  .home-hero .homepage-slider { height: 330px; min-height: 330px; -webkit-mask-image: linear-gradient(180deg,transparent 0%,#000 15%,#000 100%); mask-image: linear-gradient(180deg,transparent 0%,#000 15%,#000 100%); }
  .home-hero .slider-arrow.prev { left: 12px; }
  .home-hero .slider-controls { left: 18px; }
  .home-module-nav { grid-template-columns: repeat(3,1fr); }
  .home-module-nav a:nth-child(3) { border-right: 0; }
  .home-module-nav a:nth-child(-n+3) { border-bottom: 1px solid #eee9f0; }
  .home-about-section { grid-template-columns: 1fr; }
  .resource-shortcuts { grid-template-columns: repeat(3,1fr); }
  .home-tools-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 680px) {
  .home-hero { min-height: 0; margin: 0; border-radius: 0; }
  .home-hero-copy { min-height: 320px; padding: 40px 24px 34px; }
  .home-hero h1 { font-size: clamp(2.45rem,11vw,3.35rem); }
  .hero-eyebrow { font-size: .82rem; }
  .home-hero-copy > p { font-size: 1rem; }
  .home-hero .homepage-slider { height: 280px; min-height: 280px; }
  .hero-species-slide figcaption { right: 12px; bottom: 14px; }
  .hero-species-slide figcaption i { font-size: 1.05rem; }
  .home-menu-toggle,.home-language-toggle { min-height: 62px; }
  .home-menu-toggle { min-width: 74px; }
  .home-language-toggle { min-width: 54px; }
  .home-primary-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-primary-nav a { min-height: 58px; padding: 9px 8px; font-size: .94rem; }
  body[data-lang="en"] .home-primary-nav a { font-size: .84rem; }
  .home-module-nav { grid-template-columns: repeat(2,1fr); margin-left: 20px; margin-right: 20px; }
  .home-module-nav a,.home-module-nav a:nth-child(3) { border-right: 1px solid #eee9f0; border-bottom: 1px solid #eee9f0; }
  .home-module-nav a:nth-child(even) { border-right: 0; }
  .home-module-nav a:nth-child(n+5) { border-bottom: 0; }
  .home-about-section { padding: 38px 18px 34px; }
  .release-stat-grid { grid-template-columns: repeat(2,1fr); }
  .release-stat-grid div,.release-stat-grid div:nth-child(3n) { border-right: 1px solid #e7e2e9; border-bottom: 1px solid #e7e2e9; }
  .release-stat-grid div:nth-child(even) { border-right: 0; }
  .release-stat-grid div:nth-child(n+5) { border-bottom: 0; }
  .home-section-heading { align-items: start; flex-direction: column; gap: 12px; }
  .resource-shortcuts,.home-tools-grid { grid-template-columns: 1fr; }
  .home-resource-section { padding-top: 34px; padding-bottom: 38px; }
  .home-tools-section { padding-top: 36px; padding-bottom: 42px; }
  .resource-card { min-height: 245px; }
  .tools-page .tools-grid { grid-template-columns: 1fr; }
  .tools-summary { grid-template-columns: 1fr; }
  .tools-summary div { border-right: 0; border-bottom: 1px solid #e5dfe8; }
  .tools-summary div:last-child { border-bottom: 0; }
  .tool-roadmap { grid-template-columns: 1fr; }
  .tools-page .tool-card dl { grid-template-columns: 1fr; }
}
/* Release-backed search and downloads. Keep the existing purple/green theme. */
.live-scope { font-size: 18px; line-height: 1.7; color: #4b4d55; }
.live-results-count, .live-file-count { font-size: 18px; color: #546050; min-height: 28px; }
.file-relative-path { display: block; overflow-wrap: anywhere; font-size: 14px; line-height: 1.5; color: #696775; margin-top: 5px; max-width: 620px; }
.checksum-details { margin-top: 8px; font-size: 14px; max-width: 260px; }
.checksum-details summary { cursor: pointer; color: #744092; }
.checksum-details code { display: block; overflow-wrap: anywhere; white-space: normal; margin-top: 6px; }
.live-pagination { display: flex; gap: 18px; align-items: center; justify-content: center; padding: 24px 12px; font-size: 17px; flex-wrap: wrap; }
.live-pagination button { border: 1px solid #ccbcd9; border-radius: 8px; padding: 10px 18px; background: #f4eef8; color: #54236f; cursor: pointer; font: inherit; }
.live-pagination button:disabled { opacity: .4; cursor: default; }
.live-release-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0 0 28px; }
.live-release-grid article { border: 1px solid #ded3e6; border-top: 4px solid #744092; border-radius: 12px; padding: 22px; background: #fff; }
.live-release-grid article:nth-child(even) { border-top-color: #267d4d; }
.live-release-grid h2 { font-size: 23px; margin: 0 0 10px; }
.live-release-grid p { font-size: 19px; margin: 0 0 8px; }
.live-release-grid small { display: block; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; color: #646171; min-height: 43px; }
.live-release-grid article > div { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 16px; }
.live-release-grid .record-action { font: inherit; cursor: pointer; }
.record-fields { margin: 0; padding: 8px 20px; font-size: 18px; }
.record-fields > div { display: grid; grid-template-columns: minmax(190px, 30%) 1fr; gap: 18px; border-bottom: 1px solid #ece7f0; padding: 14px 0; }
.record-fields dt { font-weight: 600; color: #54236f; }
.record-fields dd { margin: 0; overflow-wrap: anywhere; line-height: 1.6; }
#live-detail .table-wrap { margin-top: 16px; }
#live-collection .table-wrap, #live-downloads .table-wrap { font-size: 17px; }
#live-record-search .search-input-row:not(:has(select)) { grid-template-columns: 1fr auto; }
@media (max-width: 900px) { .live-release-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .live-release-grid { grid-template-columns: 1fr; }
  .record-fields > div { grid-template-columns: 1fr; gap: 4px; }
  #live-record-search .search-input-row, #live-download-search .search-input-row { grid-template-columns: 1fr; }
}
/* Scientific search and small, bounded online calculations. */
.query-tabs { display:flex; gap:12px; margin-bottom:20px; flex-wrap:wrap; }
.query-tabs button, .advanced-search button, .tool-input-form button, .tool-workbench button { padding:10px 18px; border:1px solid #d6c8df; border-radius:9px; background:#f7f2fa; color:#54236f; cursor:pointer; font-size:17px; }
.query-tabs button.active, .advanced-search button[type=submit], .tool-input-form button[type=submit] { background:#653582; color:#fff; }
.filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.filter-grid label, .tool-input-form label { display:flex; flex-direction:column; gap:7px; font-weight:600; font-size:17px; }
.filter-grid input, .filter-grid select, .tool-input-form textarea, .tool-input-form input, .tool-input-form select { width:100%; padding:11px; border:1px solid #cfccd3; border-radius:8px; font:inherit; color:#332a3c; background:#fff; box-sizing:border-box; }
.filter-grid [hidden] { display:none; }
.science-counts { display:flex; flex-wrap:wrap; gap:28px; padding:20px; background:#f1f7f2; border-radius:10px; margin-bottom:18px; }
.science-counts span { display:flex; flex-direction:column; font-size:17px; }
.science-counts b { font-size:30px; color:#653582; }
.evidence-tag { display:inline-block; padding:5px 9px; border-radius:6px; background:#edf5ef; color:#276441; font-size:14px; white-space:normal; }
.evidence-tag.review, .evidence-note { background:#fff6df; color:#654916; border-radius:7px; padding:12px; line-height:1.65; }
.advanced-search { margin-bottom:20px; }
[data-query-content] .table-wrap { margin-top:16px; }
[data-query-content] td { vertical-align:top; font-size:16px; }
[data-query-content] td small { display:block; margin-top:5px; }
[data-query-content] code { overflow-wrap:anywhere; }
[data-detail] { margin-top:24px; scroll-margin-top:90px; }
[data-detail] details { border:1px solid #dfd8e4; border-radius:8px; padding:12px; margin:10px 0; }
[data-query-content] details > summary { background:#f4eef7; color:#54236f; padding:8px 12px; font-size:15px; }
[data-query-content] details:not([open]) > summary::after { content:'+'; }
[data-query-content] details[open] > summary::after { content:'−'; }
.tool-workbench { margin-top:30px; padding:24px; background:#faf8fc; border:1px solid #e2d8e8; border-radius:14px; scroll-margin-top:85px; }
.tool-workbench:empty { display:none; }
.tool-input-form { display:grid; gap:16px; }
.tool-input-form textarea { font-family:monospace; font-size:15px; font-weight:400; resize:vertical; }
.tool-svg { overflow:auto; margin:20px 0; background:white; }
.tool-svg svg { width:100%; min-width:550px; max-height:1500px; }
.tool-workbench pre { white-space:pre; overflow:auto; font-size:13px; }
.tool-card button:disabled { cursor:not-allowed; opacity:.6; }
.genome-tree-panel { margin:24px 0 30px; border:1px solid #dcd1e5; border-radius:18px; background:#fff; padding:24px; box-shadow:0 8px 32px #54236f08; }
.tree-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.tree-heading h2 { font-size:28px; margin:6px 0 10px; }
.tree-heading p,.tree-instructions { margin:8px 0; font-size:16px; color:#635c6c; }
.tree-kicker { font-size:12px; letter-spacing:1.5px; color:#79529a; font-weight:700; }
.tree-layout-note { margin-top:20px; border-left:4px solid #78946a; padding:12px 16px; background:#f3f6ee; color:#3c5b40; font-weight:650; font-size:17px; }
.tree-layout-note span { display:block; margin-top:5px; font-size:15px; line-height:1.6; font-weight:400; }
.tree-search { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:20px 0 12px; }
.tree-search label { font-weight:650; }
.tree-search input { flex:1; min-width:180px; max-width:430px; padding:11px 14px; border:1px solid #ccbcd8; border-radius:8px; font-size:17px; }
.tree-controls { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-bottom:12px; }
.tree-controls label { display:flex; align-items:center; gap:8px; font-size:15px; }
.tree-controls select { border:1px solid #d7c9e1; background:white; border-radius:7px; padding:9px; font-size:15px; }
.tree-controls button,.tree-search button { background:#f5eff9; color:#623a80; border:1px solid #dbcce5; padding:9px 13px; border-radius:8px; font-size:15px; cursor:pointer; }
.tree-search button { background:#70458e; color:white; }
.tree-controls button:hover { background:#e8dcf0; }
.tree-support-toggle input { width:17px; height:17px; accent-color:#79529a; }
.tree-legend { display:flex; flex-wrap:wrap; gap:14px; font-size:13px; padding:12px 0 16px; color:#5d5664; }
.tree-legend span[style]::before { content:''; display:inline-block; width:10px; height:10px; border-radius:50%; background:var(--legend-color); margin-right:6px; }
.tree-workspace { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:18px; align-items:start; }
.tree-canvas { min-width:0; overflow:auto; max-height:810px; border:1px solid #e5dce9; border-radius:10px; background:white; scrollbar-color:#b9a3c9 #f4f0f7; }
.tree-canvas svg { display:block; max-width:none; touch-action:pan-x pan-y; }
.tree-canvas [data-tree-node]:focus { outline:none; }
.tree-canvas [data-tree-node]:focus circle { stroke:#cc9315; stroke-width:4px; }
.tree-canvas [data-tree-node]:focus-visible .tree-focus-ring { stroke:#86549d; stroke-width:3px; }
[data-tree-view="botanical"] .tree-workspace { grid-template-columns:minmax(0,1fr); }
[data-tree-view="botanical"] .tree-canvas { max-height:none; background:#fffefb; border-color:#e1e6d8; }
[data-tree-view="botanical"] .tree-detail { display:grid; grid-template-columns:minmax(200px,1fr) 2fr; gap:24px; align-items:start; }
[data-tree-view="botanical"] .tree-detail.is-selected { grid-template-columns:minmax(190px,.9fr) minmax(220px,1fr) minmax(250px,1.4fr); }
.tree-detail dl { margin:0; }
.tree-detail dt:first-child { margin-top:0; }
.tree-detail { min-width:0; padding:20px; background:#f7f3fa; border-radius:12px; border-top:4px solid #7a4c98; overflow-wrap:anywhere; }
.tree-detail h3 { font-size:23px; margin:12px 0 18px; line-height:1.3; }
.tree-detail p { font-size:16px; line-height:1.7; }
.tree-detail dt { color:#73657e; font-size:13px; margin-top:15px; }
.tree-detail dd { margin:5px 0 0; font-size:16px; }
.tree-downloads { list-style:none; padding:0; margin:14px 0 0; }
.tree-downloads li { border-top:1px solid #e0d4e8; padding:11px 0; font-size:14px; }
.tree-downloads small { display:block; color:#7a7281; margin-top:4px; }
.tree-provenance { margin-top:18px; font-size:14px; color:#65596e; }
.tree-provenance summary { cursor:pointer; font-weight:600; }
.tree-provenance code { display:block; margin:8px 0; overflow-wrap:anywhere; font-size:12px; }
@media(max-width:1000px) { .tree-workspace { grid-template-columns:minmax(0,1fr); } .tree-canvas { max-height:620px; } }
@media(max-width:900px) { [data-tree-view="botanical"] .tree-detail,[data-tree-view="botanical"] .tree-detail.is-selected { grid-template-columns:1fr; gap:12px; } }
@media(max-width:600px) { .genome-tree-panel { padding:14px; } .tree-heading { align-items:flex-start; flex-direction:column; } .tree-heading h2 { font-size:23px; } }
@media(max-width:900px) { .filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .filter-grid { grid-template-columns:1fr; } .tool-workbench { padding:14px; } }
