:root{
  --v445-paper:#fff8e8;
  --v445-forest:#0b3d33;
  --v445-walnut:#5d321f;
  --v445-brass:#e2bd58;
  --v445-coral:#c86645;
}

/* V44 — keep the approved name treatment, strengthen everything around it. */
.native-node-team{display:block!important;fill:#29493f!important;font-weight:900!important}
.native-node-seasons{fill:#5d4b35!important;font-weight:950!important}
.native-node-generation{fill:#87442f!important;font-weight:950!important}
.native-node-provenance-source,.native-node-file-number{fill:#f1e5bd!important;font-weight:850!important}
.native-node-portrait{
  image-rendering:auto;
  transform-box:fill-box;
  transform-origin:var(--portrait-origin,50% 14%);
  transform:translate(var(--portrait-shift-x,0),var(--portrait-shift-y,0)) scale(var(--portrait-scale,1));
  transition:filter .16s ease,opacity .16s ease,transform .16s ease;
}
.native-node.has-portrait-focus:hover .native-node-portrait,
.native-node.has-portrait-focus:focus-visible .native-node-portrait,
.native-node.has-portrait-focus.is-selected .native-node-portrait{transform:translate(var(--portrait-shift-x,0),var(--portrait-shift-y,0)) scale(calc(var(--portrait-scale,1) * 1.025))}
.native-node.has-portrait-error .native-node-portrait-wash{display:none}
.native-node.has-portrait-error .native-node-initials-disc.is-photo-fallback{fill:#e3cf9a!important}
.native-node.has-portrait-error .native-node-initials.is-photo-fallback{display:block!important;opacity:1!important}
.native-node:hover .native-node-card,.native-node:focus-visible .native-node-card{fill:#fff9e9!important;stroke:#8d5d35!important}
.native-node.is-selected .native-node-card{fill:#fff2cf!important}
.native-node.is-filter-context{opacity:.66!important}
.native-edge.is-filter-context{opacity:.46!important}

/* Overview remains complete and interactive. No coach is removed to meet a density budget. */
.native-forest[data-lod="overview"] .native-node:not(.is-filter-hidden){pointer-events:auto!important}
.native-forest[data-lod="overview"] .native-node:not(.is-filter-hidden):not(.is-selected):not(.is-guided-preview){opacity:.82!important}
.native-forest[data-lod="overview"] .native-node.is-filter-context{opacity:.58!important}
.native-forest[data-lod="overview"] .native-edge:not(.is-filter-hidden){opacity:.42!important}
.native-forest[data-lod="overview"] .native-edge.is-guided-preview,
.native-forest[data-lod="overview"] .native-edge.is-relationship-lineage,
.native-forest[data-lod="overview"] .native-edge.is-relationship-descendant{opacity:1!important}

/* V45 — the year rail is part of the canvas and every visible root stays attached to it. */
.native-integrated-timeline{isolation:isolate;pointer-events:none}
.native-history-rail{stroke:#613c26!important;stroke-width:13px!important;stroke-linecap:round;opacity:.2;vector-effect:non-scaling-stroke}
.native-history-line{stroke:#b68737!important;stroke-width:3px!important;stroke-linecap:round;filter:drop-shadow(0 2px 1px #fff5cc);vector-effect:non-scaling-stroke}
.native-timeline-title rect{fill:url(#frameWalnut)!important;stroke:#f0cf70!important;stroke-width:2.5px!important}
.native-timeline-title>text:not(.native-timeline-filter-hint){fill:#fff0bc!important;font-size:13px!important;font-weight:950!important}
.native-timeline-filter-hint{fill:#26483e!important;font-size:12px!important;font-weight:900!important}
.native-timeline-year.native-timeline-year-tick{stroke:#705137!important;opacity:.82}
.native-timeline-year.native-timeline-year-medallion{fill:#fff9e8!important;stroke:#a98a55!important}
.native-timeline-year.native-timeline-year-label{fill:#29483f!important;font-weight:900!important;text-rendering:geometricPrecision}
.native-timeline-year.is-decade.native-timeline-year-medallion{fill:#f5d991!important;stroke:#8f482f!important}
.native-timeline-year.is-decade.native-timeline-year-label{fill:#61301f!important}
.native-tree-entry{pointer-events:auto}
.native-tree-entry-stem{stroke:#426d5c!important;stroke-width:2.5px!important;opacity:.72;vector-effect:non-scaling-stroke}
.native-tree-entry-mark{stroke:#b45639!important;stroke-width:7px!important;vector-effect:non-scaling-stroke}
.native-tree-entry.is-guided-preview .native-tree-entry-mark,
.native-tree-entry.is-guided-root .native-tree-entry-mark{stroke:#ffd569!important;stroke-width:11px!important;filter:drop-shadow(0 0 6px #f2c758)}
.native-tree-entry.is-guided-preview .native-tree-entry-stem,
.native-tree-entry.is-guided-root .native-tree-entry-stem{stroke:#d09935!important;stroke-width:5px!important;opacity:1}
.trackpad-history-scrubbing #viewport{cursor:ew-resize!important}
.trackpad-history-scrubbing .history-guide{outline:3px solid #f0b551!important;box-shadow:0 0 0 4px #fff1b9,0 17px 46px #071c17a8!important}
.trackpad-history-scrubbing .history-guide-identity small::after{content:" · two-finger time travel";color:#a64f36;text-transform:uppercase;letter-spacing:.07em}

/* A high-resolution portrait lens makes faces usable without hiding the rest of a large tree. */
.portrait-lens{
  position:fixed;
  z-index:42;
  width:286px;
  overflow:hidden;
  border:2px solid var(--v445-brass);
  border-radius:10px;
  background:linear-gradient(150deg,#fff9e9,#e7cd94);
  color:#153a31;
  box-shadow:inset 0 0 0 3px #6a3b22,0 22px 58px #061914b8;
  pointer-events:none;
  transform:translateY(5px) scale(.985);
  opacity:0;
  transition:opacity .12s ease,transform .12s ease;
}
.portrait-lens[hidden]{display:none!important}
.portrait-lens.is-visible{opacity:1;transform:none}
.portrait-lens-media{position:relative;height:246px;margin:0;background:#d7c398;overflow:hidden}
.portrait-lens-media::after{content:"";position:absolute;inset:0;border:8px solid #fff4cf55;box-shadow:inset 0 0 0 2px #234d40;pointer-events:none}
.portrait-lens img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--lens-position,50% 18%);filter:grayscale(.05) sepia(.08) saturate(.92) contrast(1.04)}
.portrait-lens.is-fallback img{display:none}
.portrait-lens-fallback{display:none;height:100%;place-items:center;background:radial-gradient(circle at 50% 38%,#f4e1ae,#c4a76b);color:#24483d;font:900 72px/1 Georgia,serif}
.portrait-lens.is-fallback .portrait-lens-fallback{display:grid}
.portrait-lens-copy{padding:12px 14px 13px;border-top:2px solid #81502e;background:linear-gradient(180deg,#fff9e8,#eddbb1)}
.portrait-lens-copy small,.portrait-lens-copy strong,.portrait-lens-copy span{display:block}
.portrait-lens-copy small{color:#a34f36;font:950 9px/1.2 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.portrait-lens-copy strong{margin-top:4px;color:#0b382f;font:900 25px/1.05 Georgia,serif}
.portrait-lens-copy span{margin-top:5px;color:#5c594d;font:800 11px/1.4 Inter,system-ui,sans-serif}
.portrait-lens-copy em{display:block;margin-top:6px;color:#7d633f;font:italic 10px/1.35 Georgia,serif}
.portrait-lens.is-no-clear-face .portrait-lens-copy em{padding-left:8px;border-left:3px solid var(--v445-coral);color:#7e3f2c;font-style:normal;font-weight:800}

@media(max-width:720px),(hover:none){.portrait-lens{display:none!important}}
@media(prefers-reduced-motion:reduce){
  .portrait-lens,.native-node-portrait{transition:none!important}
  .trackpad-history-scrubbing .history-guide{box-shadow:inset 0 0 0 3px #6a4023,0 12px 34px #0a211b88!important}
}
