/* Eigenständige Variante. Sämtliche Regeln gehören nur zur V2-Bühne. */
.dg-universe-2-page { background: #070d12; padding: 0; }
.dg-universe-2 {
    --u2-accent: #b6dc7c;
    --u2-text: #eef3ee;
    --u2-muted: #a6b6b1;
    --u2-border: rgba(168, 195, 183, .16);
    --u2-sidebar: 340px;
    position: relative; width: 100%; height: 760px; overflow: hidden;
    background: #070d12; color: var(--u2-text);
    font-family: "Gotham", var(--bs-font-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif);
    -webkit-tap-highlight-color: transparent;
}
.dg-universe-2 *, .dg-universe-2 *::before, .dg-universe-2 *::after { box-sizing: border-box; }
.dg-universe-2 [hidden] { display: none !important; }
.dg-universe-2 button, .dg-universe-2 input { font-family: inherit; }
.dg-universe-2 button { cursor: pointer; color: inherit; }
.dg-universe-2 button:focus-visible, .dg-universe-2 a:focus-visible {
    outline: 2px solid var(--u2-accent); outline-offset: 3px;
}
.dg-universe-2 a { color: var(--u2-accent); text-decoration: none; }
.dg-universe-2__canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; touch-action: none; cursor: grab; }
.dg-universe-2__canvas:active { cursor: grabbing; }
.dg-universe-2__top { position: absolute; z-index: 3; top: 0; left: 0; right: 0; padding: 20px 22px 28px; pointer-events: none; background: linear-gradient(#070d12e8, #070d1200); }
.dg-universe-2__toprow { display: flex; justify-content: flex-end; align-items: center; }
.dg-universe-2__actions { display: flex; justify-content: flex-end; gap: 7px; pointer-events: auto; }
.dg-universe-2__rotation svg { display: block; color: var(--u2-accent); }
.dg-universe-2__rotation:disabled { opacity: .52; cursor: default; }
.dg-universe-2__iconbtn { width: 42px; height: 42px; flex: none; display: grid; place-items: center; padding: 0; border-radius: 50%; border: 1px solid var(--u2-border); background: #101b21; }
.dg-universe-2__dimension { font-size: 10px; font-weight: 500; letter-spacing: .02em; }
.dg-universe-2__iconbtn svg, .dg-universe-2__btn svg { display: block; }
.dg-universe-2__iconbtn:hover, .dg-universe-2__iconbtn[aria-pressed="true"] { background: #24352b; border-color: #8bb562; color: var(--u2-accent); }
.dg-universe-2__lens-btn.is-active { background: #29352a; border-color: #b6dc7c; color: var(--u2-accent); box-shadow: 0 0 0 2px rgba(182,220,124,.08); }
.dg-universe-2__iconbtn:disabled { opacity: .4; cursor: default; }
.dg-universe-2__map-footer { position: absolute; z-index: 2; left: 22px; right: 22px; bottom: 90px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 15px; font-size: 11px; color: #adbbb5; pointer-events: none; }
.dg-universe-2__legend { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.dg-universe-2__legend .is-parent::before, .dg-universe-2__legend .is-child::before, .dg-universe-2__legend .is-sibling::before, .dg-universe-2__legend .is-aka::before, .dg-universe-2__legend .is-route::before { content: ''; display: inline-block; width: 5px; height: 5px; margin: 0 6px 2px 0; background: #e8e7db; border-radius: 50%; }
.dg-universe-2__legend .is-child::before { background: var(--u2-accent); }
.dg-universe-2__legend .is-sibling::before { background: #f2c879; }
.dg-universe-2__legend .is-aka::before { background: #7ed6e8; }
.dg-universe-2__legend .is-route { display: none; }
.dg-universe-2__legend .is-route::before { background: #9d84ff; }
.dg-universe-2.is-compare .dg-universe-2__legend > * { display: none; }
.dg-universe-2.is-compare .dg-universe-2__legend .is-route { display: inline; }
.dg-universe-2__legend .is-flow { color: #71847d; letter-spacing: .02em; }
.dg-universe-2__legend-lens { color: #dfe9e1; font-weight: 600; }
.dg-universe-2__legend-value::before { content: ''; display: inline-block; width: 6px; height: 6px; margin: 0 5px 1px 0; border-radius: 50%; background: var(--lens-color); box-shadow: 0 0 8px color-mix(in srgb, var(--lens-color) 60%, transparent); }
.dg-universe-2__map-count { margin-left: auto; }
.dg-universe-2__hint { position: absolute; left: 22px; bottom: 125px; z-index: 2; color: #92a69f; font-size: 11px; max-width: calc(100% - 90px); pointer-events: none; }
.dg-universe-2__dock { position: absolute; z-index: 4; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; max-height: 90%; pointer-events: none; }
.dg-universe-2__sheet { display: none; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; padding: 0 22px; border-top: 1px solid #35473c; border-radius: 18px 18px 0 0; background: #101a1c; pointer-events: auto; }
.dg-universe-2.is-full .dg-universe-2__sheet { display: flex; }
.dg-universe-2__sheet-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-bottom: 18px; scrollbar-width: thin; scrollbar-color: #40534c transparent; }
.dg-universe-2__handle { display: flex; flex: none; width: 100%; justify-content: center; padding: 15px 0 20px; border: 0; background: none; }
.dg-universe-2__handle-bar { width: 36px; height: 3px; border-radius: 3px; background: #748980; }
.dg-universe-2__headline { display: flex; align-items: baseline; flex-wrap: wrap; gap: 9px; }
.dg-universe-2__name { color: #f0f5ed; font-size: 34px; line-height: 1.12; font-weight: 500; margin: 0; overflow-wrap: anywhere; }
.dg-universe-2__name.is-long { font-size: 28px; }
.dg-universe-2__name.is-xlong { font-size: 23px; }
.dg-universe-2__kind { font-size: 10px; text-transform: uppercase; letter-spacing: .07em; color: var(--u2-accent); }
.dg-universe-2__meta { margin-top: 11px; color: var(--u2-muted); font-size: 12px; line-height: 1.6; }
.dg-universe-2__note { margin: 20px 0 0; font-size: 15px; line-height: 1.65; color: #d6e2d9; }
.dg-universe-2__full { display: flex; flex-direction: column; gap: 22px; margin-top: 24px; }
.dg-universe-2__block { border-top: 1px solid var(--u2-border); padding-top: 20px; }
.dg-universe-2__block-label { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: #a6bbb1; }
.dg-universe-2__block-count { float: right; font-size: 12px; color: var(--u2-accent); }
.dg-universe-2__pills { display: flex; flex-direction: column; margin-top: 10px; }
.dg-universe-2__pill { display: flex; align-items: center; text-align: left; gap: 9px; width: 100%; min-height: 42px; padding: 10px 0; border: 0; background: transparent; font-size: 13px; line-height: 1.5; }
.dg-universe-2__pill:hover { color: var(--u2-accent); }
.dg-universe-2__pill > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }
.dg-universe-2__pill-dot { width: 5px; height: 5px; flex: none; border-radius: 50%; background: var(--u2-accent); }
.dg-universe-2__pill.is-parent .dg-universe-2__pill-dot { background: #e8e7db; }
.dg-universe-2__pill.is-sibling .dg-universe-2__pill-dot { background: #f2c879; }
.dg-universe-2__pill.is-aka .dg-universe-2__pill-dot { background: #7ed6e8; }
.dg-universe-2__pill.is-route .dg-universe-2__pill-dot { background: #9d84ff; }
.dg-universe-2__pill-sub { margin-left: auto; color: #9cad9f; font-size: 11px; white-space: nowrap; }
.dg-universe-2__more { display: block; margin-top: 10px; padding: 9px 0; color: var(--u2-accent) !important; background: none; border: none; font-size: 12px; text-align: left; }
.dg-universe-2__dna { height: 6px; display: flex; overflow: hidden; border-radius: 3px; margin-top: 14px; background: #29342e; }
.dg-universe-2__dna-seg { height: 100%; }
.dg-universe-2__dna-legend { display: flex; flex-wrap: wrap; gap: 7px 12px; margin-top: 12px; }
.dg-universe-2__dna-item { display: flex; align-items: center; gap: 5px; font-size: 11px; color: #b5c5ba; }
.dg-universe-2__dna-swatch { width: 6px; height: 6px; flex: none; border-radius: 2px; }
.dg-universe-2__dna-pct { color: #a3b1a7; }
.dg-universe-2__ancestry-note { font-size: 11px; color: #96a99f; line-height: 1.5; margin: 12px 0 0; }
.dg-universe-2__facet-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.dg-universe-2__facet-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 6px 10px; border: 1px solid color-mix(in srgb, var(--lens-color) 45%, transparent); border-radius: 16px; background: color-mix(in srgb, var(--lens-color) 9%, transparent); color: #e8eee9; font-size: 11px; }
.dg-universe-2__facet-chip::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--lens-color); }
.dg-universe-2__evidence-list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.dg-universe-2__evidence-row { padding: 11px 12px; border: 1px solid var(--u2-border); border-radius: 9px; background: rgba(255,255,255,.018); }
.dg-universe-2__evidence-row.is-breeder, .dg-universe-2__evidence-row.is-multi_source { border-color: rgba(182,220,124,.35); }
.dg-universe-2__evidence-row.is-conflict { border-color: rgba(225,132,103,.45); background: rgba(225,132,103,.045); }
.dg-universe-2__evidence-strain { display: flex; align-items: center; gap: 9px; width: 100%; padding: 0; border: 0; background: none; text-align: left; font-size: 13px; }
.dg-universe-2__evidence-strain:hover { color: var(--u2-accent); }
.dg-universe-2__evidence-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 9px; margin: 8px 0 0 14px; }
.dg-universe-2__trust-badge { padding: 4px 7px; border-radius: 11px; background: #28342f; color: #c8d4cd; font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.is-breeder .dg-universe-2__trust-badge, .is-multi_source .dg-universe-2__trust-badge { background: rgba(182,220,124,.13); color: var(--u2-accent); }
.is-conflict .dg-universe-2__trust-badge { background: rgba(225,132,103,.14); color: #efa68f; }
.dg-universe-2__evidence-source, .dg-universe-2__evidence-note { color: #9cad9f; font-size: 10px; line-height: 1.45; }
.dg-universe-2__evidence-note { flex-basis: 100%; }
.dg-universe-2__evidence-link { font-size: 10px; text-decoration: underline; text-underline-offset: 2px; }
.dg-universe-2__find { display: flex; gap: 10px; text-align: left; padding: 16px; background: #182721; border: 1px solid #354b38; border-radius: 8px; }
.dg-universe-2__find svg { flex: none; }
.dg-universe-2__find-label { font-size: 10px; letter-spacing: .08em; color: var(--u2-accent); text-transform: uppercase; }
.dg-universe-2__find-text { margin-top: 7px; font-size: 12px; line-height: 1.6; color: #d8e2d9; }
.dg-universe-2__buttonbar { flex: none; display: flex; gap: 10px; padding: 12px 18px 15px; background: linear-gradient(transparent, #070d12 55%); }
.dg-universe-2__btn { pointer-events: auto; flex: 1; min-width: 0; height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 0 10px; font-size: 13px; font-weight: 700; border-radius: 8px; border: 1px solid #3b4b40; white-space: nowrap; }
.dg-universe-2__btn--info { background: #132021; }
.dg-universe-2__btn--info.is-open svg { transform: rotate(180deg); }
.dg-universe-2__compare-btn { background: #171b2b; border-color: #494064; }
.dg-universe-2__compare-btn svg { color: #b4a3ff; }
.dg-universe-2__compare-btn:hover, .dg-universe-2__compare-btn.is-active { color: #ece8ff; background: #2a2442; border-color: #9d84ff; }
.dg-universe-2 a.dg-universe-2__cta { background: var(--u2-accent); color: #142411 !important; border-color: transparent; }
.dg-universe-2 a.dg-universe-2__cta:hover { background: #c7e69a; }
.dg-universe-2__route-list { display: flex; flex-direction: column; margin-top: 13px; }
.dg-universe-2__route-node { display: flex; align-items: center; gap: 9px; width: 100%; padding: 10px 12px; border: 1px solid rgba(157,132,255,.24); border-radius: 8px; background: rgba(157,132,255,.08); text-align: left; font-size: 13px; line-height: 1.35; }
.dg-universe-2__route-node:hover { border-color: #9d84ff; background: rgba(157,132,255,.14); }
.dg-universe-2__route-node.is-start { border-color: rgba(182,220,124,.45); background: rgba(182,220,124,.08); }
.dg-universe-2__route-node.is-target { border-color: rgba(255,174,92,.5); background: rgba(255,174,92,.09); }
.dg-universe-2__route-dot { width: 7px; height: 7px; flex: none; border-radius: 50%; background: #9d84ff; box-shadow: 0 0 10px rgba(157,132,255,.7); }
.dg-universe-2__route-node.is-start .dg-universe-2__route-dot { background: var(--u2-accent); box-shadow: 0 0 10px rgba(182,220,124,.65); }
.dg-universe-2__route-node.is-target .dg-universe-2__route-dot { background: #ffae5c; box-shadow: 0 0 10px rgba(255,174,92,.65); }
.dg-universe-2__route-step { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; padding: 5px 0 5px 17px; color: #a99add; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.dg-universe-2__route-trust { padding: 3px 6px; border-radius: 9px; background: rgba(255,255,255,.06); color: #bac7c0; font-size: 8px; }
.dg-universe-2__route-trust.is-breeder, .dg-universe-2__route-trust.is-multi_source { color: var(--u2-accent); background: rgba(182,220,124,.12); }
.dg-universe-2__route-trust.is-conflict { color: #efa68f; background: rgba(225,132,103,.14); }
.dg-universe-2__origin-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.dg-universe-2__origin-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border: 1px solid var(--u2-border); border-radius: 16px; color: #dce5df; font-size: 11px; }
.dg-universe-2__origin-chip::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--route-origin); }
.dg-universe-2__compare-actions { display: grid; grid-template-columns: 1fr; gap: 8px; }
.dg-universe-2__compare-action { display: flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 12px; border: 1px solid #514674; border-radius: 8px; background: #201c32; color: #eeeaff !important; font-size: 12px; text-align: center; }
.dg-universe-2__compare-action.is-shop { border-color: #52673e; background: #1d2a20; color: var(--u2-accent) !important; }
.dg-universe-2__search { position: absolute; z-index: 5; inset: 0; display: none; flex-direction: column; background: #0b1419; }
.dg-universe-2.is-search .dg-universe-2__search { display: flex; }
.dg-universe-2__lens-panel { position: absolute; z-index: 5; inset: 0; display: none; flex-direction: column; background: #0b1419; }
.dg-universe-2.is-lens .dg-universe-2__lens-panel { display: flex; }
.dg-universe-2__lens-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px 22px 18px; border-bottom: 1px solid var(--u2-border); }
.dg-universe-2__lens-title { margin: 7px 0 0; color: #eef4ef; font-size: 22px; font-weight: 500; line-height: 1.2; }
.dg-universe-2__lens-intro { max-width: 600px; margin: 9px 0 0; color: #9eafa7; font-size: 12px; line-height: 1.55; }
.dg-universe-2__lens-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 18px 22px 28px; overflow-y: auto; }
.dg-universe-2__lens-choice { display: grid; grid-template-columns: 34px minmax(0, 1fr) 24px; align-items: center; gap: 12px; min-height: 82px; padding: 14px; border: 1px solid var(--u2-border); border-radius: 10px; background: #111d20; text-align: left; }
.dg-universe-2__lens-choice:hover, .dg-universe-2__lens-choice.is-active { border-color: #789554; background: #1b2a24; }
.dg-universe-2__lens-swatch { width: 30px; height: 30px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #f1f4e9, #8cc63f 45%, #34532b 75%); box-shadow: 0 0 18px rgba(140,198,63,.25); }
.dg-universe-2__lens-swatch[data-lens="aroma"] { background: conic-gradient(#d9a441, #c97867, #8cc63f, #d9a441); }
.dg-universe-2__lens-swatch[data-lens="effect"] { background: conic-gradient(#7ed6e8, #9d84ff, #b6dc7c, #7ed6e8); }
.dg-universe-2__lens-swatch[data-lens="flowering"] { background: conic-gradient(#8cc63f 0 33%, #d9a441 33% 66%, #c97867 66%); }
.dg-universe-2__lens-swatch[data-lens="availability"] { background: radial-gradient(circle at 35% 30%, #f4ffe2, #8cc63f 45%, #263c22 75%); }
.dg-universe-2__lens-copy { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.dg-universe-2__lens-copy strong { color: #edf3ee; font-size: 14px; font-weight: 600; }
.dg-universe-2__lens-copy > span { color: #9bada5; font-size: 11px; line-height: 1.45; }
.dg-universe-2__lens-check { color: var(--u2-accent); font-size: 18px; text-align: center; }
.dg-universe-2__search-head { padding: 20px 22px 15px; border-bottom: 1px solid var(--u2-border); }
.dg-universe-2__search-bar { display: flex; gap: 12px; align-items: center; }
.dg-universe-2__search-field { display: flex; flex: 1; min-width: 0; align-items: center; gap: 10px; padding: 12px; border: 1px solid #597246; border-radius: 8px; background: #172328; }
.dg-universe-2__search-field svg { flex: none; }
.dg-universe-2__search-input { min-width: 0; width: 100%; border: 0; background: none; color: #edf3e9; font-size: 16px; outline: none; }
.dg-universe-2__search-input::placeholder { color: #9bada5; }
.dg-universe-2__search-done { border: 0; background: none; padding: 12px 0; font-size: 13px; }
.dg-universe-2__filters { display: flex; gap: 8px; margin-top: 15px; overflow-x: auto; }
.dg-universe-2__filter { flex: none; border: 1px solid #394d42; border-radius: 20px; padding: 8px 12px; font-size: 12px; background: transparent; }
.dg-universe-2__filter.is-active { color: var(--u2-accent); background: #273c2d; border-color: #789554; }
.dg-universe-2__results { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 8px 22px 28px; }
.dg-universe-2__result { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; padding: 14px 0; border: 0; border-bottom: 1px solid var(--u2-border); background: none; }
.dg-universe-2__result-dot { width: 6px; height: 6px; flex: none; border-radius: 50%; }
.dg-universe-2__result-txt { flex: 1; min-width: 0; }
.dg-universe-2__result-name { display: block; font-size: 14px; overflow-wrap: anywhere; }
.dg-universe-2__result-sub { display: block; margin-top: 5px; color: #a4b7aa; font-size: 12px; }
.dg-universe-2__result:hover .dg-universe-2__result-name { color: var(--u2-accent); }
.dg-universe-2__result-count { font-size: 12px; color: #a4b7aa; padding: 18px 0; }
.dg-universe-2__intro, .dg-universe-2__loading { position: absolute; z-index: 6; inset: 0; background: #070d12; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px; font-size: 13px; text-align: center; color: #b2c3b9; }
.dg-universe-2__intro-brand { color: var(--u2-accent); font-size: 10px; font-weight: 500; letter-spacing: .12em; }
.dg-universe-2__intro.is-out { opacity: 0; pointer-events: none; transition: opacity 220ms; }
.dg-universe-2__empty { padding: 15vh 24px; text-align: center; color: #d8e3da; }
.dg-universe-2__empty a { color: #b6dc7c; }
.dg-universe-2__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dg-universe-2-embed { padding: 1.75rem 0; background: #070d12; }
.dg-universe-2-embed__frame { overflow: hidden; border: 1px solid var(--u2-border, rgba(168,195,183,.16)); border-radius: 14px; }
.dg-universe-2-embed .dg-universe-2 { height: min(760px, max(620px, calc(100svh - 96px))); }
@media (min-width: 900px) and (min-height: 576px) {
    .dg-universe-2__canvas { width: calc(100% - var(--u2-sidebar)); right: var(--u2-sidebar); }
    .dg-universe-2__top { right: var(--u2-sidebar); padding: 25px 28px 28px; }
    .dg-universe-2__dock { top: 0; left: auto; width: var(--u2-sidebar); max-height: none; height: 100% !important; background: #111b1c; border-left: 1px solid var(--u2-border); pointer-events: auto; }
    .dg-universe-2__sheet { display: flex; background: none; border: 0; border-radius: 0; padding: 30px 25px 0; }
    .dg-universe-2__handle { display: none; }
    .dg-universe-2__buttonbar { padding: 14px 25px 24px; background: #111b1c; }
    .dg-universe-2__btn--info { display: none; }
    .dg-universe-2__map-footer { bottom: 24px; left: 28px; right: calc(var(--u2-sidebar) + 80px); }
    .dg-universe-2__hint { bottom: 52px; left: 28px; }
}
@media (max-width: 559px) {
    .dg-universe-2__top { padding: 16px 14px 25px; }
    .dg-universe-2__actions { gap: 4px; }
    .dg-universe-2__iconbtn { width: 38px; height: 38px; }
    .dg-universe-2__lens-choices { grid-template-columns: 1fr; }
    .dg-universe-2__buttonbar { gap: 6px; padding-left: 10px; padding-right: 10px; }
    .dg-universe-2__btn { padding: 0 7px; font-size: 11px; }
    .dg-universe-2__compare-btn svg { display: none; }
}
@media (max-width: 389px) {
    .dg-universe-2__top { padding-left: 6px; padding-right: 6px; }
    .dg-universe-2__iconbtn { width: 33px; height: 38px; }
    .dg-universe-2__map-footer { left: 16px; right: 16px; font-size: 10px; }
}
@media (pointer: coarse) {
    .dg-universe-2__iconbtn { min-width: 44px; min-height: 44px; }
}
@media (max-width: 430px) and (pointer: coarse) {
    .dg-universe-2__iconbtn { width: 36px; min-width: 36px; min-height: 38px; }
}
@media (max-width: 389px) and (pointer: coarse) {
    .dg-universe-2__actions { gap: 3px; }
    .dg-universe-2__iconbtn { width: 33px; min-width: 33px; min-height: 38px; }
}
/* Niedrige Bühne (Handy quer): Platz für Fokus und Namen freihalten. */
@media (max-height: 575.98px) {
    .dg-universe-2__top { padding: 10px 16px 15px; }
    .dg-universe-2__map-footer, .dg-universe-2__hint { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .dg-universe-2 *, .dg-universe-2 *::before, .dg-universe-2 *::after { animation: none !important; transition: none !important; }
}
