.dv-bird-migrations{display:flex;flex-direction:column;gap:var(--dv-space-3);padding:var(--dv-space-3)}.dv-bird-migrations__status{margin:0;text-align:center;color:var(--dv-ink-secondary);padding:var(--dv-space-5) 0}.dv-bird-migrations__controls{display:flex;flex-direction:column;gap:var(--dv-space-2)}.dv-bird-migrations__controls-row{display:flex;flex-wrap:wrap;gap:var(--dv-space-4);align-items:center}.dv-bird-migrations__separator{color:var(--dv-gridline)}.dv-bird-migrations__control-group{display:flex;flex-wrap:wrap;gap:var(--dv-space-3);align-items:center}.dv-bird-migrations__control-group[hidden]{display:none}.dv-bird-migrations__toggle{display:inline-flex;align-items:center;gap:var(--dv-space-1);font-size:.875rem;color:var(--dv-ink-secondary);cursor:pointer}.dv-bird-migrations__swatch{display:inline-block;width:10px;height:10px;border-radius:50%}.dv-bird-migrations__play{font-family:inherit;font-size:.875rem;font-weight:500;color:#fff;background-color:var(--dv-accent);border:none;border-radius:4px;padding:var(--dv-space-1) var(--dv-space-3);cursor:pointer;min-height:36px}.dv-bird-migrations__speed{font-family:inherit;font-size:.875rem;padding:var(--dv-space-1) var(--dv-space-2);border:1px solid var(--dv-gridline);border-radius:4px;background-color:var(--dv-surface);color:var(--dv-ink-primary);min-height:36px}.dv-bird-migrations__date{font-size:.875rem;font-weight:500;color:var(--dv-ink-primary);min-width:6ch}.dv-bird-migrations__stage{position:relative;width:100%;touch-action:none}.dv-bird-migrations__canvas{position:absolute;inset:0;width:100%;height:100%}.dv-bird-migrations__tooltip{position:absolute;z-index:2;max-width:220px;padding:var(--dv-space-2);background-color:var(--dv-header-bg);color:#fff;border-radius:4px;font-size:.8125rem;line-height:1.4;pointer-events:none}.dv-bird-migrations__stage .dv-bird-migrations__status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0}.dv-bird-migrations__stage .dv-bird-migrations__status[hidden]{display:none}@media(max-width:640px){.dv-bird-migrations__controls{flex-direction:column;align-items:flex-start}}.dv-flower-phenology{display:flex;flex-direction:column;gap:var(--dv-space-3);padding:var(--dv-space-3)}.dv-flower-phenology__status{margin:0;text-align:center;color:var(--dv-ink-secondary);padding:var(--dv-space-5) 0}.dv-flower-phenology__controls{display:flex;flex-direction:column;gap:var(--dv-space-2)}.dv-flower-phenology__species-group{display:flex;flex-wrap:wrap;gap:var(--dv-space-1) var(--dv-space-3)}.dv-flower-phenology__toggle{display:inline-flex;align-items:center;gap:var(--dv-space-1);font-size:.875rem;color:var(--dv-ink-secondary);cursor:pointer;white-space:nowrap}.dv-flower-phenology__swatch{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid var(--dv-gridline)}.dv-flower-phenology__decade-group{display:flex;flex-wrap:wrap;gap:var(--dv-space-4);align-items:center}.dv-flower-phenology__decade-field{display:inline-flex;align-items:center;gap:var(--dv-space-2)}.dv-flower-phenology__decade-label{font-size:.875rem;font-weight:300;color:var(--dv-ink-secondary)}.dv-flower-phenology__decade-select{font-family:inherit;font-size:.875rem;font-weight:500;padding:var(--dv-space-1) var(--dv-space-2);border:1px solid var(--dv-gridline);border-radius:4px;background-color:var(--dv-surface);color:var(--dv-ink-primary);min-height:36px}.dv-flower-phenology__stage{position:relative;width:100%;max-width:640px;margin:0 auto;aspect-ratio:1 / 1;touch-action:none}.dv-flower-phenology__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.dv-flower-phenology__arc{cursor:pointer}.dv-flower-phenology__tooltip{position:absolute;z-index:2;max-width:220px;padding:var(--dv-space-2);background-color:var(--dv-header-bg);color:#fff;border-radius:4px;font-size:.8125rem;line-height:1.4;pointer-events:none}.dv-flower-phenology__stage .dv-flower-phenology__status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0}.dv-flower-phenology__stage .dv-flower-phenology__status[hidden]{display:none}@media(max-width:640px){.dv-flower-phenology__species-group{flex-wrap:nowrap;overflow-x:auto;padding-bottom:var(--dv-space-1)}}.dv-biodiversity{display:flex;flex-direction:column;gap:var(--dv-space-3);padding:var(--dv-space-3)}.dv-biodiversity__status{margin:0;text-align:center;color:var(--dv-ink-secondary);padding:var(--dv-space-5) 0}.dv-biodiversity__controls{display:flex;flex-direction:column;gap:var(--dv-space-2)}.dv-biodiversity__controls-row{display:flex;flex-wrap:wrap;gap:var(--dv-space-4);align-items:flex-start}.dv-biodiversity__legend{display:flex;flex-direction:column}.dv-biodiversity__legend summary{font-size:.875rem;font-weight:500;color:var(--dv-ink-primary);cursor:pointer;margin-bottom:var(--dv-space-1)}.dv-biodiversity__control-group{display:flex;flex-wrap:wrap;gap:var(--dv-space-1) var(--dv-space-3)}.dv-biodiversity__toggle{display:inline-flex;align-items:center;gap:var(--dv-space-1);font-size:.875rem;color:var(--dv-ink-secondary);cursor:pointer;white-space:nowrap}.dv-biodiversity__swatch{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid var(--dv-gridline)}.dv-biodiversity__live-status{font-size:.875rem;color:var(--dv-ink-secondary)}.dv-biodiversity__stage{position:relative;width:100%;max-width:760px;margin:0 auto}.dv-biodiversity__svg{position:absolute;inset:0;width:100%;height:100%}.dv-biodiversity__basemap{fill:#e4e2da;stroke:none}.dv-biodiversity__hex{cursor:pointer}.dv-biodiversity__live-point{fill:var(--dv-header-bg);fill-opacity:.85;stroke:#fff;stroke-width:.75;pointer-events:none}.dv-biodiversity__tooltip{position:absolute;z-index:2;max-width:240px;padding:var(--dv-space-2);background-color:var(--dv-header-bg);color:#fff;border-radius:4px;font-size:.8125rem;line-height:1.4;pointer-events:none}.dv-biodiversity__live-disclaimer{position:absolute;left:var(--dv-space-2);bottom:var(--dv-space-2);margin:0;max-width:280px;padding:var(--dv-space-1) var(--dv-space-2);background-color:var(--dv-surface);border:1px solid var(--dv-gridline);border-radius:4px;font-size:.75rem;font-weight:300;color:var(--dv-ink-secondary)}.dv-biodiversity__stage .dv-biodiversity__status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0}.dv-biodiversity__stage .dv-biodiversity__status[hidden]{display:none}@media(max-width:640px){.dv-biodiversity__controls-row{flex-direction:column;align-items:flex-start}}
