File size: 18,158 Bytes
e9c260b | 1 | <!DOCTYPE html><!--9UESetz29DlL1IrPh7L29--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/797e433ab948586e-s.p.29207c2f.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="https://github.com/shadcn.png"/><link rel="stylesheet" href="/_next/static/chunks/8326c679e9d2b158.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/50b8f686e3b754d3.js"/><script src="/_next/static/chunks/f8a37bf13cb7bc72.js" async=""></script><script src="/_next/static/chunks/3e5535ae1ada61af.js" async=""></script><script src="/_next/static/chunks/turbopack-8357130d0fe7dee7.js" async=""></script><script src="/_next/static/chunks/3c61d064ab45577f.js" async=""></script><script src="/_next/static/chunks/01cd9ad560644298.js" async=""></script><script src="/_next/static/chunks/5115ae2da9102e68.js" async=""></script><script src="/_next/static/chunks/8abd91d6cc829a90.js" async=""></script><script src="/_next/static/chunks/dba52847afe3fbfe.js" async=""></script><script src="/_next/static/chunks/7007d04433e4714d.js" async=""></script><meta name="next-size-adjust" content=""/><title>Perch</title><meta name="description" content="Ask questions in plain language about bird species distributions, seasonal ranges and abundance, and get maps, charts and analysis. Built on eBird Status and Trends."/><link rel="icon" href="/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex flex-col h-screen w-full overflow-hidden" style="background:#0F0F11;font-family:'Inter', sans-serif"><header class="shrink-0 flex items-center justify-between px-4 z-50 relative" style="height:55px;background:#18181a;border-bottom:1px solid #1F1F21"><div class="flex items-center gap-2.5"><div class="w-[26px] h-[26px] rounded-lg flex items-center justify-center shrink-0" style="background:linear-gradient(135deg, #4ade80 0%, #0ea5e9 100%)"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bird text-[#0b0b0d]" aria-hidden="true"><path d="M16 7h.01"></path><path d="M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20"></path><path d="m20 7 2 .5-2 .5"></path><path d="M10 18v3"></path><path d="M14 17.75V21"></path><path d="M7 18a6 6 0 0 0 3.84-10.61"></path></svg></div><span style="font-size:16px;color:#e8e8e8;font-weight:600;letter-spacing:-0.01em">Perch</span></div><nav class="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 hidden md:flex items-center gap-2"><button class="relative px-6 py-1.5 transition-colors duration-200 ease-in-out select-none hover:text-[#b6b6b6] text-[#b6b6b6]" tabindex="0" style="font-size:14px;font-weight:500"><div class="absolute inset-0 z-0 border shadow-sm ring-1 ring-white/5" style="background:#282828;border-color:#3E3E42;border-radius:15.5px"></div><span class="relative z-10">Map</span></button><button class="relative px-6 py-1.5 transition-colors duration-200 ease-in-out select-none text-[#757477] hover:text-[#b6b6b6]" tabindex="0" style="font-size:14px;font-weight:400"><span class="relative z-10">Database</span></button><button class="relative px-6 py-1.5 transition-colors duration-200 ease-in-out select-none text-[#757477] hover:text-[#b6b6b6]" tabindex="0" style="font-size:14px;font-weight:400"><span class="relative z-10">Plots</span></button></nav><div class="flex items-center gap-3"><button class="p-1.5 rounded-lg text-[#999999] hover:text-white hover:bg-white/5 transition-colors" title="How to use Perch" aria-label="Open tutorial" tabindex="0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-question-mark" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path></svg></button><button class="flex items-center gap-2 px-4 py-1.5 border transition-colors duration-200 ease-in-out group" tabindex="0" style="background:transparent;border-color:#2F2D3A;border-radius:15.25px;color:#999999;font-size:13px"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database text-[#999999] group-hover:text-white transition-colors" aria-hidden="true"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="group-hover:text-white transition-colors">Data Management</span></button><button class="flex items-center gap-2 px-4 py-1.5 border transition-colors duration-200 ease-in-out group" tabindex="0" style="background:transparent;border-color:#2F2D3A;border-radius:15.25px;color:#999999;font-size:13px"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-upload text-[#999999] group-hover:text-white transition-colors" aria-hidden="true"><path d="M12 3v12"></path><path d="m17 8-5-5-5 5"></path><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path></svg><span class="group-hover:text-white transition-colors">Export Map</span></button><div class="w-8 h-8 rounded-full overflow-hidden ring-1 ring-white/10 ml-2"><img src="https://github.com/shadcn.png" alt="User" class="w-full h-full object-cover"/></div></div></header><div class="flex flex-1 overflow-hidden relative"><aside class="h-full z-20 flex flex-col overflow-hidden shrink-0 relative" style="background:#0F0F11;border-right:1px solid #2D2C30;width:371px;opacity:1"><div class="flex-1 overflow-auto custom-scrollbar"><div class="flex flex-col h-full relative" style="background:#1d1c21"><div class="flex-1 overflow-y-auto scrollbar-thin scrollbar-thumb-white/10 scrollbar-track-transparent px-4"><div><div class="py-4 px-5 my-2 mx-2 rounded-xl transition-all" style="background:#1d1c21;border:1px solid transparent"><div class="prose prose-invert prose-sm max-w-none" style="font-size:15px;color:#E0E0E0;line-height:1.7;font-family:'Inter', sans-serif"><p class="mb-3 last:mb-0">Ask about a bird species' distribution, range or abundance to start.</p></div></div></div><div class="px-1 mt-2"><div class="text-[11px] uppercase tracking-wider text-[#6b6b6e] font-semibold mb-2">Try asking</div><div class="flex flex-col gap-2"><button class="group text-left px-3 py-2.5 rounded-lg border transition-colors" style="background:#16151a;border-color:#2A2A2D"><span class="block text-[9.5px] uppercase tracking-wider font-semibold mb-1" style="color:#0ea5e9">Animated map · 52 weeks</span><span class="block text-[13px] leading-snug" style="color:#c9c9cc">Animate how Ruby-throated Hummingbird abundance shifts across North America through the year</span></button><button class="group text-left px-3 py-2.5 rounded-lg border transition-colors" style="background:#16151a;border-color:#2A2A2D"><span class="block text-[9.5px] uppercase tracking-wider font-semibold mb-1" style="color:#0ea5e9">Charts · bar, line or pie · filter by season</span><span class="block text-[13px] leading-snug" style="color:#c9c9cc">Break down Bald Eagle abundance by season — chart the share of each and map the seasonal ranges</span></button><button class="group text-left px-3 py-2.5 rounded-lg border transition-colors" style="background:#16151a;border-color:#2A2A2D"><span class="block text-[9.5px] uppercase tracking-wider font-semibold mb-1" style="color:#0ea5e9">Spatial join · bird data clipped to a region</span><span class="block text-[13px] leading-snug" style="color:#c9c9cc">Show where the European Robin is most abundant within Europe, using the country boundaries</span></button><button class="group text-left px-3 py-2.5 rounded-lg border transition-colors" style="background:#16151a;border-color:#2A2A2D"><span class="block text-[9.5px] uppercase tracking-wider font-semibold mb-1" style="color:#0ea5e9">Parallel sub-agents · Africa, Asia, South America</span><span class="block text-[13px] leading-snug" style="color:#c9c9cc">Compare the ranges of three resident songbirds on three continents: Common Bulbul, Oriental Magpie-Robin and Rufous-collared Sparrow</span></button></div></div><div></div></div><div class="p-4 shrink-0" style="background:#1d1c21;border-top:1px solid #2A2A2D"><div class="relative flex items-center rounded-lg overflow-hidden" style="background:#16151a;border:1px solid #2A2A2D"><div contentEditable="true" class="flex-1 bg-transparent text-[13px] max-h-32 overflow-y-auto outline-none py-4 px-4 empty:before:content-[attr(data-placeholder)]" style="color:#E0E0E0;font-family:'Inter', sans-serif" data-placeholder="Ask anything, @ to mention layers"></div><button disabled="" class="p-2 mr-2 rounded-lg transition-all opacity-20 cursor-not-allowed" style="color:#E0E0E0"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up" aria-hidden="true"><path d="m5 12 7-7 7 7"></path><path d="M12 19V5"></path></svg></button></div></div></div></div><div class="absolute top-0 right-0 h-full w-1.5 cursor-col-resize z-30 group" title="Drag to resize"><div class="absolute right-0 top-0 h-full w-px bg-transparent group-hover:bg-[#0ea5e9] transition-colors"></div></div></aside><div class="flex-1 relative z-0 bg-[#0a0a0a]"><div class="absolute inset-0 z-0"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="w-full h-full bg-slate-50 flex flex-col items-center justify-center text-slate-400 gap-2"><div class="w-8 h-8 border-4 border-indigo-500 border-t-transparent rounded-full animate-spin"></div><span class="text-sm font-medium">Initializing Map Engine...</span></div><!--/$--></div><aside class="absolute z-10 flex flex-col" style="top:16px;right:16px;width:327px;max-height:calc(100% - 32px);background:#1d1c21;border:1px solid #2D2C30;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,0.5);overflow:hidden;opacity:1;transform:none"><div class="flex items-center justify-between px-4 shrink-0 pt-4 pb-2"><h2 style="font-size:16px;font-weight:400;color:#979594;line-height:19px">Map Layers & Data</h2><button style="color:#7C7A7C" class="hover:opacity-80 transition-opacity p-1"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></div><div class="flex flex-col bg-[#1d1c21]"><div class="px-4 pb-3 pt-1 shrink-0"><div class="relative flex items-center w-full h-[36px] rounded-lg overflow-hidden" style="background:#16151a;border:1px solid #2A2A2D"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3 text-[#525252]" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg><input type="text" placeholder="Search Data..." class="w-full bg-transparent border-none outline-none pl-9 pr-4 text-[13px] text-[#E0E0E0] placeholder-[#525252]" style="font-family:'Inter', sans-serif" value=""/></div></div><div class="overflow-y-auto custom-scrollbar max-h-[400px]"><div class="px-4 py-6 text-center text-[#757477] text-[13px]">No layers added yet</div></div></div></aside></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/50b8f686e3b754d3.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/3c61d064ab45577f.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/3c61d064ab45577f.js\"],\"default\"]\n4:I[47257,[\"/_next/static/chunks/3c61d064ab45577f.js\"],\"ClientPageRoot\"]\n5:I[52683,[\"/_next/static/chunks/01cd9ad560644298.js\",\"/_next/static/chunks/5115ae2da9102e68.js\",\"/_next/static/chunks/8abd91d6cc829a90.js\",\"/_next/static/chunks/dba52847afe3fbfe.js\",\"/_next/static/chunks/7007d04433e4714d.js\"],\"default\"]\n8:I[97367,[\"/_next/static/chunks/3c61d064ab45577f.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/3c61d064ab45577f.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/3c61d064ab45577f.js\"],\"MetadataBoundary\"]\nf:I[68027,[],\"default\"]\n:HL[\"/_next/static/chunks/8326c679e9d2b158.css\",\"style\"]\n:HL[\"/_next/static/media/797e433ab948586e-s.p.29207c2f.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"9UESetz29DlL1IrPh7L29\",\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/8326c679e9d2b158.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"Component\":\"$5\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@6\",\"$@7\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/01cd9ad560644298.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/5115ae2da9102e68.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/8abd91d6cc829a90.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/dba52847afe3fbfe.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/7007d04433e4714d.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"6:{}\n7:\"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"10:I[27201,[\"/_next/static/chunks/3c61d064ab45577f.js\"],\"IconMark\"]\na:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Perch\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Ask questions in plain language about bird species distributions, seasonal ranges and abundance, and get maps, charts and analysis. Built on eBird Status and Trends.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L10\",\"3\",{}]]\n"])</script></body></html> |