/* THC Living Plant Atlas V5
 * Single authoritative visual system for /atlas/.
 * Replaces the legacy v3 -> v4 -> site-shell cascade while preserving
 * existing JS hooks, accessible fallbacks, and route behavior.
 */

:root{
  --atlas-bg:#07100b;
  --atlas-surface:#0c1810;
  --atlas-surface-2:#101e15;
  --atlas-surface-soft:#13251a;
  --atlas-text:#f2f5ef;
  --atlas-text-2:#a8b5aa;
  --atlas-text-3:#748177;
  --atlas-border:#294032;
  --atlas-border-soft:#1b2e22;
  --atlas-accent:#9fe870;
  --atlas-accent-2:#d9f3c8;
  --atlas-gold:#d9bc73;
  --atlas-danger:#e98c78;
  --atlas-radius-sm:10px;
  --atlas-radius:18px;
  --atlas-radius-lg:28px;
  --atlas-max:1500px;
  --atlas-reading:760px;
  --atlas-shadow:0 28px 72px rgba(0,0,0,.34);
  --atlas-site-header-offset:92px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--atlas-bg)}
body{
  margin:0;
  min-height:100dvh;
  color:var(--atlas-text);
  background:
    radial-gradient(circle at 18% -8%,rgba(72,120,79,.18),transparent 30rem),
    linear-gradient(180deg,#07100b 0%,#09130d 38%,#07100b 100%);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
}
a{color:inherit}
button,input,select{font:inherit}
button,a,input,select{touch-action:manipulation}
img,canvas{max-width:100%}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Context navigation: intentionally secondary to the canonical site header. */
.topbar{
  position:sticky;
  top:var(--atlas-site-header-offset);
  z-index:40;
  border-bottom:1px solid var(--atlas-border-soft);
  background:rgba(7,16,11,.9);
  backdrop-filter:blur(18px) saturate(120%);
}
.topbar-inner{
  width:min(var(--atlas-max),calc(100% - 40px));
  min-height:56px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;white-space:nowrap}
.brand-mark{
  width:28px;height:28px;
  display:grid;place-items:center;
  border:1px solid rgba(159,232,112,.34);
  border-radius:8px;
  background:#0d1d13;
}
.brand-mark:before{content:"✦";font-size:13px;color:var(--atlas-accent)}
.brand strong{display:block;font:600 .9rem/1.1 ui-serif,Georgia,Cambria,"Times New Roman",serif}
.brand small{display:none}
.top-links{
  display:flex;
  align-items:center;
  gap:2px;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
}
.top-links::-webkit-scrollbar{display:none}
.top-links a{
  flex:0 0 auto;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:8px;
  text-decoration:none;
  color:var(--atlas-text-2);
  font-size:.72rem;
  font-weight:760;
}
.top-links a:hover,.top-links a:focus-visible{
  color:var(--atlas-text);
  background:rgba(159,232,112,.08);
  outline:2px solid rgba(159,232,112,.22);
  outline-offset:1px;
}

.atlas-shell{width:min(var(--atlas-max),calc(100% - 48px));margin:auto;padding:0 0 72px}
.eyebrow{
  margin:0 0 10px;
  color:#a8cdae;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.18em;
  text-transform:uppercase;
}

/* Hero: short editorial introduction, not another dashboard. */
.hero{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr);
  gap:56px;
  align-items:end;
  padding:72px 0 34px;
  border-bottom:1px solid var(--atlas-border-soft);
}
.hero h1{
  max-width:1050px;
  margin:0;
  font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;
  font-size:clamp(3.7rem,7vw,7.4rem);
  font-weight:500;
  line-height:.87;
  letter-spacing:-.055em;
}
.hero-copy{
  max-width:820px;
  margin:22px 0 0;
  color:var(--atlas-text-2);
  font-size:1.02rem;
  line-height:1.72;
}
.hero-card{
  padding:0 0 0 24px;
  border-left:1px solid rgba(159,232,112,.3);
}
.hero-card>strong{
  display:block;
  font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;
  font-size:1.5rem;
  line-height:1.08;
}
.hero-card>p{margin:10px 0 0;color:var(--atlas-text-2);font-size:.82rem;line-height:1.6}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border-top:1px solid var(--atlas-border-soft)}
.stat{padding:13px 8px 0 0}
.stat+.stat{padding-left:10px;border-left:1px solid var(--atlas-border-soft)}
.stat b{display:block;font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;font-size:1.4rem;font-weight:600}
.stat span{display:block;margin-top:3px;color:var(--atlas-text-3);font-size:.56rem;line-height:1.3;text-transform:uppercase;letter-spacing:.08em}

/* The plant is the hero product. */
.plant-lab{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(320px,.72fr);
  gap:20px;
  margin:34px 0 0;
  align-items:stretch;
}
.plant-viewport{
  order:1;
  position:relative;
  min-height:780px;
  overflow:hidden;
  border:1px solid var(--atlas-border);
  border-radius:var(--atlas-radius-lg);
  background:
    radial-gradient(circle at 50% 34%,rgba(95,153,89,.15),transparent 27rem),
    linear-gradient(180deg,#09150e,#050b08 74%);
  box-shadow:var(--atlas-shadow);
}
.plant-viewport:before{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(#000,transparent 95%);
}
.plant-viewport canvas{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  min-height:780px;
  cursor:grab;
  touch-action:none;
  transition:opacity .2s ease;
}
.plant-viewport canvas:active{cursor:grabbing}
.plant-viewport[data-render-state="loading"] canvas{opacity:.5}
.plant-viewport:focus-within{outline:2px solid rgba(159,232,112,.38);outline-offset:4px}

.plant-lab-copy{
  order:2;
  min-width:0;
  padding:28px 26px;
  border:1px solid var(--atlas-border);
  border-radius:var(--atlas-radius);
  background:rgba(12,24,16,.88);
}
.plant-lab-copy h2{
  margin:0 0 12px;
  font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;
  font-size:clamp(2rem,3vw,3.15rem);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.035em;
}
.plant-lab-copy>p:not(.eyebrow):not(.model-mode-note){margin:0;color:var(--atlas-text-2);font-size:.84rem;line-height:1.68}
.specimen-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--atlas-border-soft)}
.specimen-map-head span{color:var(--atlas-text-3);font-size:.6rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.specimen-map-head strong{font-size:.75rem}
.anatomy-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:11px 0 15px}
.anatomy-key button{
  min-height:44px;
  padding:9px 11px;
  text-align:left;
  cursor:pointer;
  color:#cad7cd;
  border:1px solid var(--atlas-border);
  border-radius:9px;
  background:rgba(255,255,255,.018);
  font-size:.68rem;
  font-weight:800;
}
.anatomy-key button:hover,.anatomy-key button:focus-visible,.anatomy-key button.active{
  color:var(--atlas-text);
  border-color:rgba(159,232,112,.52);
  background:rgba(159,232,112,.09);
  outline:2px solid rgba(159,232,112,.14);
  outline-offset:1px;
}
.plant-inspector{
  padding:17px;
  border:1px solid rgba(159,232,112,.22);
  border-radius:12px;
  background:#08120c;
}
.plant-inspector small{display:block;color:#8ea994;font-size:.58rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.plant-inspector h3{margin:8px 0 7px;font:600 1.42rem/1.05 ui-serif,Georgia,Cambria,"Times New Roman",serif}
.plant-inspector p{margin:0;color:var(--atlas-text-2);font-size:.78rem;line-height:1.58}
.plant-inspector a{display:inline-block;margin-top:12px;color:var(--atlas-accent-2);font-size:.7rem;font-weight:800;text-decoration:none}
.model-mode-note{margin:18px 0 0!important;padding-top:16px;border-top:1px solid var(--atlas-border-soft);color:var(--atlas-text-3)!important;font-size:.63rem!important;line-height:1.55!important}

.specimen-plaque{
  position:absolute;z-index:5;right:20px;bottom:22px;
  width:min(320px,62%);
  padding:12px 14px;
  border-left:2px solid rgba(159,232,112,.45);
  background:rgba(5,12,8,.72);
  backdrop-filter:blur(8px);
}
.specimen-plaque span,.specimen-plaque small{display:block;color:#86988a;font-size:.55rem;letter-spacing:.1em}
.specimen-plaque strong{display:block;margin:3px 0;font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;font-size:1rem}
.viewer-axis{position:absolute;z-index:5;left:18px;top:50%;display:grid;gap:7px;justify-items:center;transform:translateY(-50%)}
.viewer-axis span{color:#728279;font-size:.48rem;letter-spacing:.13em}
.viewer-axis i{width:1px;height:80px;background:linear-gradient(var(--atlas-accent),var(--atlas-border))}
.viewer-hud{position:absolute;z-index:6;left:18px;bottom:18px;display:flex;gap:5px;flex-wrap:wrap}
.viewer-hud span,.viewer-model-status{
  padding:6px 8px;
  border:1px solid rgba(159,232,112,.18);
  border-radius:7px;
  background:rgba(4,10,7,.72);
  color:#91a397;
  font-size:.52rem;
  letter-spacing:.08em;
  backdrop-filter:blur(7px);
}
.viewer-model-status{position:absolute;z-index:6;left:18px;top:18px;max-width:360px}
.viewer-model-status[data-state="loading"],.viewer-model-status[data-state="fallback"]{color:#ead8a5;border-color:rgba(217,188,115,.42)}
.viewer-model-status[data-state="error"]{color:#ffd1ca;border-color:rgba(233,140,120,.5)}
.viewer-reset{
  position:absolute;z-index:7;right:18px;top:18px;
  min-height:44px;padding:8px 12px;
  color:#dce7de;cursor:pointer;
  border:1px solid var(--atlas-border);
  border-radius:9px;background:rgba(5,14,9,.75);
}
.viewer-reset:hover,.viewer-reset:focus-visible{border-color:rgba(159,232,112,.5);outline:2px solid rgba(159,232,112,.16)}
.plant-tooltip,.plant-anatomy-label{
  position:absolute;z-index:8;
  max-width:min(320px,calc(100% - 32px));
  padding:10px 13px;
  border:1px solid rgba(159,232,112,.28);
  border-radius:10px;
  background:rgba(5,14,9,.9);
  color:var(--atlas-text);
  box-shadow:0 16px 42px rgba(0,0,0,.34);
  backdrop-filter:blur(9px);
}
.plant-tooltip{left:50%;bottom:68px;transform:translateX(-50%);text-align:center}
.plant-tooltip strong,.plant-tooltip span{display:block}
.plant-tooltip span,.plant-anatomy-label span{margin-top:3px;color:#9bac9f;font-size:.65rem}
.webgl-fallback{position:absolute;z-index:10;inset:24px;display:grid;place-content:center;text-align:center;padding:28px;border:1px dashed var(--atlas-border);border-radius:16px;background:rgba(7,16,11,.94)}
.webgl-fallback p{max-width:520px;color:var(--atlas-text-2)}

/* Guided tour stays functional but visually secondary. */
.atlas-guided-tour{margin-top:14px;padding:14px 0 0;border-top:1px solid var(--atlas-border-soft)}
.atlas-tour-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.atlas-tour-head small{color:#87998c;font-size:.55rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.atlas-tour-head h3{margin:4px 0 0;font:600 1.08rem/1.1 ui-serif,Georgia,Cambria,"Times New Roman",serif}
.atlas-tour-head>span{color:var(--atlas-text-3);font-size:.62rem}
.atlas-guided-tour>p,.atlas-tour-step>p{color:var(--atlas-text-2);font-size:.72rem;line-height:1.55}
.atlas-tour-step{margin-top:12px;padding-top:12px;border-top:1px solid var(--atlas-border-soft)}
.atlas-tour-step>strong{font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif}
.atlas-tour-check{padding:10px;border-radius:9px;background:rgba(255,255,255,.018)}
.atlas-tour-check button,.atlas-tour-controls button{
  min-height:40px;padding:7px 9px;
  border:1px solid var(--atlas-border);border-radius:8px;
  background:#09150e;color:#ccd8ce;cursor:pointer;font-size:.66rem;font-weight:760;
}
.atlas-tour-check [data-tour-options]{display:grid;gap:6px}
.atlas-tour-controls{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}

/* Scale rail */
.scale-rail{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr);gap:42px;margin-top:62px;padding:32px 0;border-block:1px solid var(--atlas-border-soft)}
.scale-intro h2{margin:0;font:500 clamp(1.8rem,3vw,3.1rem)/1 ui-serif,Georgia,Cambria,"Times New Roman",serif;letter-spacing:-.03em}
.scale-intro>p:last-child{color:var(--atlas-text-2);font-size:.8rem}
.scale-track{display:grid;grid-template-columns:repeat(3,1fr)}
.scale-track a{position:relative;min-width:0;padding:0 22px;text-decoration:none}
.scale-track a+a{border-left:1px solid var(--atlas-border-soft)}
.scale-track span{display:grid;place-items:center;width:38px;height:38px;margin-bottom:20px;border:1px solid rgba(159,232,112,.32);border-radius:50%;color:var(--atlas-accent-2);font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif}
.scale-track small{display:block;color:var(--atlas-text-3);font-size:.54rem;letter-spacing:.12em}
.scale-track strong{display:block;margin:7px 0;font:600 1.2rem/1.05 ui-serif,Georgia,Cambria,"Times New Roman",serif}
.scale-track p{color:var(--atlas-text-2);font-size:.73rem;line-height:1.55}
.scale-track b{color:var(--atlas-accent-2);font-size:.69rem}

/* Section rhythm */
.section{margin-top:64px;scroll-margin-top:120px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--atlas-border-soft)}
.section-head h2{max-width:900px;margin:0;font:500 clamp(2rem,3.3vw,3.5rem)/.98 ui-serif,Georgia,Cambria,"Times New Roman",serif;letter-spacing:-.035em}
.section-head p{max-width:620px;margin:0;color:var(--atlas-text-2);font-size:.8rem;line-height:1.6}

/* Search/filter is a utility rail, not a floating dashboard card. */
.toolbar{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
  gap:14px;
  margin-top:54px;
  padding:14px 0;
  border-block:1px solid var(--atlas-border-soft);
}
.search{position:relative}
.search input,.anatomy-index-controls input,.anatomy-index-controls select,.atlas-compare-controls select{
  width:100%;
  min-height:48px;
  padding:0 13px;
  color:var(--atlas-text);
  border:1px solid var(--atlas-border);
  border-radius:10px;
  background:#08130c;
  outline:none;
}
.search input:focus,.anatomy-index-controls input:focus,.anatomy-index-controls select:focus,.atlas-compare-controls select:focus{
  border-color:rgba(159,232,112,.52);
  box-shadow:0 0 0 3px rgba(159,232,112,.07);
}
.filters{display:flex;align-items:center;justify-content:flex-end;gap:3px;overflow-x:auto;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filter{
  flex:0 0 auto;min-height:40px;padding:7px 9px;
  cursor:pointer;border:1px solid transparent;border-radius:8px;
  background:transparent;color:#8d9d91;font-size:.67rem;font-weight:760;
}
.filter:hover,.filter:focus-visible,.filter.active{color:#e5eee7;border-color:rgba(159,232,112,.2);background:rgba(159,232,112,.07);outline:none}

/* System library: fewer boxes, stronger type. */
.system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.system-card{
  position:relative;
  min-height:230px;
  display:flex;
  flex-direction:column;
  padding:20px;
  text-decoration:none;
  border-top:1px solid var(--atlas-border);
  background:linear-gradient(180deg,rgba(16,30,21,.42),rgba(7,16,11,.2));
}
.system-card:hover,.system-card:focus-visible{background:rgba(159,232,112,.045);outline:1px solid rgba(159,232,112,.25);outline-offset:-1px}
.system-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.system-icon{color:var(--atlas-accent);font-size:.72rem;font-weight:900}
.system-category{color:var(--atlas-text-3);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase}
.system-card h3{margin:24px 0 8px;font:600 1.45rem/1.04 ui-serif,Georgia,Cambria,"Times New Roman",serif}
.system-card p{margin:0;color:var(--atlas-text-2);font-size:.76rem;line-height:1.6}
.system-meta{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:16px;color:var(--atlas-text-3);font-size:.63rem}
.system-meta b{color:#b9cbbb}
.system-card--featured{grid-column:1/-1;min-height:210px;display:grid;grid-template-columns:minmax(230px,.6fr) minmax(0,1.4fr);grid-template-areas:"top top" "title copy" "meta meta";column-gap:44px;border-block:1px solid rgba(217,188,115,.22);background:linear-gradient(105deg,rgba(38,48,24,.24),rgba(7,16,11,.2))}
.system-card--featured .system-top{grid-area:top}
.system-card--featured h3{grid-area:title;margin-top:22px;font-size:clamp(2rem,3vw,3rem)}
.system-card--featured p{grid-area:copy;margin-top:24px;max-width:760px;font-size:.84rem;line-height:1.7}
.system-card--featured .system-meta{grid-area:meta}
.loading,.empty,.error{padding:18px;color:var(--atlas-text-2)}
.empty{display:none;border:1px dashed var(--atlas-border);border-radius:12px}
.error{border-left:3px solid var(--atlas-danger);background:rgba(233,140,120,.06)}

/* Anatomy index */
.anatomy-index>p{max-width:var(--atlas-reading);color:var(--atlas-text-2)}
.anatomy-index-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:18px 0}
.anatomy-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.anatomy-index-card{padding:18px;border-top:1px solid var(--atlas-border);background:rgba(13,27,18,.28)}
.anatomy-index-card h3{margin:.3rem 0;font:600 1.25rem/1.1 ui-serif,Georgia,Cambria,"Times New Roman",serif}
.anatomy-index-card p{color:var(--atlas-text-2);font-size:.76rem;line-height:1.55}
.anatomy-index-card .anatomy-detail{color:#d8e1da;font-weight:700}
.anatomy-index-card>div,.anatomy-badges{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.anatomy-index-card button,.anatomy-index-card a{
  min-height:40px;padding:7px 10px;
  border:1px solid rgba(159,232,112,.28);border-radius:8px;
  background:transparent;color:var(--atlas-accent-2);
  text-decoration:none;font-size:.7rem;font-weight:800;cursor:pointer;
}
.anatomy-scale,.anatomy-representation{color:var(--atlas-gold);font-size:.62rem;letter-spacing:.09em;text-transform:uppercase}
.anatomy-representation{padding:4px 6px;border:1px solid var(--atlas-border);border-radius:6px}
.anatomy-limitation{padding:9px;border-radius:8px;background:rgba(255,255,255,.02);font-size:.75rem}

/* Accessible tree/navigation */
.atlas-system-tree{scroll-margin-top:120px}
.atlas-tree-actions{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}
.atlas-tree-actions button{
  min-height:42px;padding:8px 11px;cursor:pointer;
  border:1px solid var(--atlas-border);border-radius:8px;
  background:#09150e;color:#d5dfd7;font-size:.7rem;font-weight:800;
}
.atlas-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.atlas-tree-category,.atlas-tree-group{min-width:0;border-top:1px solid var(--atlas-border);background:rgba(12,25,16,.34)}
.atlas-tree-category{padding:16px}
.atlas-tree-category>h3{margin:0 0 10px;color:var(--atlas-accent-2);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase}
.atlas-tree-item{border-top:1px solid var(--atlas-border-soft)}
.atlas-tree-item>summary,.atlas-tree-evidence>summary,.atlas-tree-group>summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:46px;padding:10px 12px;
  cursor:pointer;list-style:none;color:#e5ece6;font-weight:780;
}
.atlas-tree-item>summary::-webkit-details-marker,.atlas-tree-evidence>summary::-webkit-details-marker,.atlas-tree-group>summary::-webkit-details-marker{display:none}
.atlas-tree-item>summary:after,.atlas-tree-evidence>summary:after{content:"+";color:var(--atlas-accent)}
.atlas-tree-item[open]>summary:after,.atlas-tree-evidence[open]>summary:after{content:"–"}
.atlas-tree-item>summary small{color:var(--atlas-text-3);font-size:.56rem;text-transform:uppercase}
.atlas-tree-body{padding:0 12px 12px}
.atlas-tree-body>p,.atlas-tree-meta{color:var(--atlas-text-2);font-size:.72rem;line-height:1.55}
.atlas-tree-links{display:grid;gap:6px;margin-top:9px}
.atlas-tree-links>a,.atlas-tree-meta a,.atlas-tree-primary{color:var(--atlas-accent-2);font-weight:800}
.atlas-tree-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.atlas-tree-columns>div{padding:9px;border-top:1px solid var(--atlas-border-soft)}
.atlas-tree-columns strong{display:block;margin-bottom:5px;color:var(--atlas-gold);font-size:.62rem;text-transform:uppercase}
.atlas-tree-columns ul,.atlas-compare-card ul{margin:0;padding-left:1.05rem;color:var(--atlas-text-2);font-size:.7rem}
.atlas-text-navigator .atlas-tree{display:grid;grid-template-columns:1fr;gap:10px}
.atlas-tree-group>summary{padding:14px 16px;font:600 1rem/1.1 ui-serif,Georgia,Cambria,"Times New Roman",serif}
.atlas-tree-group>summary span{color:var(--atlas-text-3);font:800 .62rem/1 ui-sans-serif,system-ui}
.atlas-tree-group>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid var(--atlas-border-soft)}
.atlas-tree-group .atlas-tree-item{padding:16px}
.atlas-tree-group .atlas-tree-item:nth-child(even){border-left:1px solid var(--atlas-border-soft)}
.atlas-tree-group .atlas-tree-item p{color:var(--atlas-text-2);font-size:.73rem}

/* System comparison */
.atlas-compare-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end;margin-bottom:14px}
.atlas-compare-controls label{display:grid;gap:6px}
.atlas-compare-controls label span{color:var(--atlas-text-3);font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.atlas-compare-vs{padding-bottom:13px;color:var(--atlas-text-3);font-size:.62rem;font-weight:900}
.atlas-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.atlas-compare-card{min-width:0;border-top:1px solid var(--atlas-border);background:rgba(12,25,16,.34)}
.atlas-compare-card-head{padding:18px;border-bottom:1px solid var(--atlas-border-soft)}
.atlas-compare-card-head>span{color:var(--atlas-text-3);font-size:.57rem;text-transform:uppercase;letter-spacing:.1em}
.atlas-compare-card-head h3{margin:7px 0;font:600 1.55rem/1.05 ui-serif,Georgia,Cambria,"Times New Roman",serif}
.atlas-compare-card-head p{color:var(--atlas-text-2);font-size:.75rem;line-height:1.55}
.atlas-compare-card-head a{color:var(--atlas-accent-2);font-size:.7rem;font-weight:800}
.atlas-compare-card>section{padding:14px 18px;border-top:1px solid var(--atlas-border-soft)}
.atlas-compare-card h4{margin:0 0 7px;color:var(--atlas-gold);font-size:.63rem;text-transform:uppercase;letter-spacing:.08em}

/* Scientific workflow */
.map-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--atlas-border-soft)}
.map-card{padding:24px 26px 24px 0}
.map-card+.map-card{padding-left:26px;border-left:1px solid var(--atlas-border-soft)}
.map-card span{color:#8ca092;font:500 1rem/1.1 ui-serif,Georgia,Cambria,"Times New Roman",serif}
.map-card h3{margin:28px 0 9px;font:600 1.45rem/1.05 ui-serif,Georgia,Cambria,"Times New Roman",serif}
.map-card p{color:var(--atlas-text-2);font-size:.76rem;line-height:1.6}
.map-arrow{color:var(--atlas-accent-2);font-size:.7rem}

/* Deep labs use space and typography rather than card chrome. */
.deep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.deep-card{
  min-height:270px;
  padding:26px;
  text-decoration:none;
  border-top:1px solid var(--atlas-border);
  background:
    radial-gradient(circle at 92% 12%,rgba(119,164,95,.08),transparent 17rem),
    rgba(12,25,16,.35);
}
.deep-card small{color:#87998b;font-size:.56rem;letter-spacing:.13em;text-transform:uppercase}
.deep-card h3{margin:16px 0 10px;font:500 2rem/1 ui-serif,Georgia,Cambria,"Times New Roman",serif}
.deep-card p{max-width:620px;color:var(--atlas-text-2);font-size:.8rem;line-height:1.65}
.deep-card b{display:inline-block;margin-top:20px;color:var(--atlas-accent-2);font-size:.71rem}

/* Reference media */
.reference-visual-grid,.atlas-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.reference-visual-grid figure,.atlas-media-card{margin:0;overflow:hidden;border-top:1px solid var(--atlas-border);background:rgba(12,25,16,.3)}
.reference-visual-grid img,.atlas-media-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#08110b}
.reference-visual-grid figcaption,.atlas-media-card figcaption{display:grid;gap:4px;padding:13px}
.reference-visual-grid figcaption strong,.atlas-media-card strong{font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;font-size:1rem}
.reference-visual-grid figcaption span,.atlas-media-card span,.atlas-media-card small{color:var(--atlas-text-2);font-size:.7rem;line-height:1.5}

/* Lifecycle */
.life-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--atlas-border-soft)}
.life{padding:20px 16px 0 0}
.life+.life{padding-left:16px;border-left:1px solid var(--atlas-border-soft)}
.life i{display:grid;place-items:center;width:36px;height:36px;margin-bottom:18px;border:1px solid rgba(159,232,112,.3);border-radius:50%;color:var(--atlas-accent-2);font-style:normal;font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif}
.life strong{display:block;font:600 .95rem/1.1 ui-serif,Georgia,Cambria,"Times New Roman",serif}
.life span{display:block;margin-top:6px;color:var(--atlas-text-3);font-size:.65rem;line-height:1.45}
.principle{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;margin-top:48px;padding:20px 0;border-block:1px solid rgba(217,188,115,.2)}
.principle b{color:var(--atlas-gold);font-size:1.6rem}
.principle p{margin:0;color:#c8ba95;line-height:1.55}
.footer{display:flex;justify-content:space-between;gap:18px;margin-top:38px;padding-top:20px;border-top:1px solid var(--atlas-border-soft);color:var(--atlas-text-3);font-size:.7rem}

/* Existing automated-browser contract. */
html[data-plant-atlas-automated-browser="true"] .plant-viewport{height:480px;min-height:480px;align-self:start}
html[data-plant-atlas-automated-browser="true"] .plant-viewport canvas{height:480px!important;min-height:480px!important}
html[data-plant-atlas-automated-browser="true"] .viewer-axis,
html[data-plant-atlas-automated-browser="true"] .specimen-plaque{display:none}

/* Tablet */
@media(max-width:1120px){
  :root{--atlas-site-header-offset:74px}
  .hero{grid-template-columns:1fr;gap:24px}
  .hero-card{max-width:760px}
  .plant-lab{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr)}
  .plant-viewport,.plant-viewport canvas{min-height:680px}
  .system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .life-grid{grid-template-columns:repeat(3,1fr)}
  .life:nth-child(4){padding-left:0;border-left:0}
  .reference-visual-grid,.atlas-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Mobile is a deliberate layout, not collapsed desktop. */
@media(max-width:820px){
  .atlas-shell{width:min(100% - 30px,var(--atlas-max));padding-bottom:50px}
  .topbar-inner{width:calc(100% - 30px);min-height:52px}
  .brand{display:none}
  .top-links{width:100%}
  .hero{padding:44px 0 24px}
  .hero h1{font-size:clamp(3.3rem,15vw,5.4rem)}
  .hero-copy{font-size:.92rem}
  .hero-card{padding-left:16px}

  .plant-lab{display:flex;flex-direction:column;gap:12px;margin-top:22px}
  .plant-viewport{order:1;min-height:clamp(430px,70svh,570px);border-radius:20px}
  .plant-viewport canvas{min-height:clamp(430px,70svh,570px)}
  .plant-lab-copy{order:2;padding:22px 18px}
  .anatomy-key{display:flex;overflow-x:auto;gap:7px;padding-bottom:6px;scrollbar-width:none}
  .anatomy-key::-webkit-scrollbar{display:none}
  .anatomy-key button{flex:0 0 auto;min-width:130px}
  .viewer-axis{display:none}
  .viewer-model-status{top:14px;left:14px;max-width:calc(100% - 114px)}
  .viewer-reset{top:14px;right:14px}
  .viewer-hud{left:14px;bottom:14px}
  .viewer-hud span:nth-child(2){display:none}
  .specimen-plaque{left:14px;right:14px;bottom:58px;width:auto;max-width:none}

  .scale-rail{grid-template-columns:1fr;gap:22px;margin-top:42px}
  .scale-track{grid-template-columns:1fr}
  .scale-track a{padding:18px 0}
  .scale-track a+a{border-left:0;border-top:1px solid var(--atlas-border-soft)}
  .scale-track span{margin-bottom:10px}

  .toolbar{grid-template-columns:1fr}
  .filters{justify-content:flex-start}
  .section{margin-top:48px}
  .section-head{align-items:flex-start;flex-direction:column;gap:8px}
  .section-head h2{font-size:clamp(2rem,10vw,3rem)}

  .system-grid,.anatomy-index-grid,.atlas-tree,.atlas-compare-grid,.deep-grid{grid-template-columns:1fr}
  .system-card--featured{grid-column:auto;display:block}
  .system-card--featured h3,.system-card--featured p{margin-top:15px}

  .anatomy-index-controls{grid-template-columns:1fr}
  .atlas-tree-group>ul{grid-template-columns:1fr}
  .atlas-tree-group .atlas-tree-item:nth-child(even){border-left:0}
  .atlas-compare-controls{grid-template-columns:1fr}
  .atlas-compare-vs{display:none}

  .map-grid{grid-template-columns:1fr}
  .map-card{padding:20px 0}
  .map-card+.map-card{padding:20px 0;border-left:0;border-top:1px solid var(--atlas-border-soft)}
  .map-card h3{margin-top:14px}

  .life-grid{grid-template-columns:repeat(2,1fr)}
  .life:nth-child(odd){padding-left:0;border-left:0}
  .life:nth-child(even){padding-left:14px;border-left:1px solid var(--atlas-border-soft)}
  .footer{flex-direction:column}
}

@media(max-width:520px){
  .atlas-shell{width:calc(100% - 24px)}
  .topbar-inner{width:calc(100% - 24px)}
  .hero{padding-top:34px}
  .hero h1{font-size:clamp(3rem,17vw,4.4rem)}
  .stats{grid-template-columns:1fr}
  .stat+.stat{padding-left:0;padding-top:9px;border-left:0;border-top:1px solid var(--atlas-border-soft)}
  .plant-viewport,.plant-viewport canvas{min-height:clamp(390px,63svh,500px)}
  .specimen-plaque small{display:none}
  .viewer-hud span:nth-child(3){display:none}
  .reference-visual-grid,.atlas-media-grid{grid-template-columns:1fr}
  .life-grid{grid-template-columns:1fr}
  .life,.life:nth-child(even){padding:16px 0;border-left:0;border-bottom:1px solid var(--atlas-border-soft)}
  .principle{grid-template-columns:1fr}
}

@media(max-width:390px){
  .plant-viewport,.plant-viewport canvas{min-height:clamp(360px,60svh,450px)}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .plant-viewport canvas{transition:none}
}

@media(forced-colors:active){
  .plant-viewport,.plant-lab-copy,.system-card,.atlas-tree-category,.atlas-tree-group,.atlas-compare-card,.deep-card{
    border:1px solid CanvasText;background:Canvas;color:CanvasText
  }
}
