{"version":3,"file":"script_main.BdPD41Qp.mjs","names":["_Fragment","useState","startTransition","c","useRef","useMemo","useCallback","FramerAPI.useLocaleInfo","useRef","React.useId","React.createElement","MainLayout","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","Framer.patchRoutesForABTesting","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/2dDVqS3SIQMrqwaq0x5q/x8pBElweyibIcdnqUgSc/Navigation_1.js","https:/framerusercontent.com/modules/yNGZXd3n49IUM1JNuPd0/pbSgT347ctZ6BEcDjDFe/L1JZKYXFv.js","framer:toplevel/main"],"sourcesContent":["// Needl site header.\n//\n// User request: redo the navigation bar — logo, Needl, Pricing, Help Center and\n// Download. Move Pricing and Help Center to the left, add a cool animation with a\n// little dropdown when you press Download, and add a language option (flag emoji,\n// then the language) for the site's nine languages. English (US) is the default.\n//\n// Layout: brand, then the links right beside it, then — on the right — the language\n// menu and the Download button. Under 720px the links move into the menu sheet and\n// the language button shows just the flag.\n//\n// Download: on a desktop (a real pointer), pressing it springs open a small panel —\n// the app, a QR code that \"scans in\", and a button to the App Store. On touch\n// devices it goes straight to the App Store: that's where you want to be on a phone.\n//\n// Languages: this uses Framer's own localization (Site Settings → Localization).\n// The menu lists the locales added there — each shown with its flag and native name\n// from LANGS — and switching calls Framer's setLocale, which moves to that locale's\n// URL. With only one locale set up, the menu stays hidden on the live site (it's\n// shown on the canvas so it can be designed around). Nav labels are translated here.\n//\n// Then: add a Features popover, most distinctive first — there are a lot of record\n// apps. Live Lyrics leads as a featured card (its lines roll like the real thing),\n// then Visualizers in Now Spinning, Ask AI, Siri & Shortcuts, and Apple Music &\n// Spotify. No page per feature: each item scrolls to its homepage section (/#listen,\n// /#ask-ai, /#more, /#discover — FeatureSpotlight and NeedlCarousel set those ids).\n// Desktop opens it on hover or click; phones get the same list in the menu sheet.\n// And make the header actually stay put while scrolling (see \"Pinning\" below).\n//\n// Then: Live Lyrics in Needl's colours (black and deep blues, not pink and purple);\n// Apple Music & Spotify as a plain item like the others, the two logos where the\n// icon goes; Visualizers described as what's spinning, synced with Live Lyrics; and\n// an \"Ideas\" link after Help Center, to Featurebase, for feature requests.\n//\n// Then: the Live Lyrics card moves, and picks up blue's complement — orange (Needl\n// blue sits at ~211° on the colour wheel, so its opposite is ~31°), with a touch of\n// red. Soft light drifts across near-black, like the lyrics screen over artwork.\n//\n// Two things used to go wrong here and both are fixed by construction:\n//\n// 1. Theme was SNIFFED — it walked up for data-framer-theme, then fell back to\n//    reading document.body's background colour, then to prefers-color-scheme.\n//    On the canvas and in some preview contexts that resolved to \"light\", which\n//    painted the wordmark black on a near-black hero. The theme is now an\n//    explicit property. No guessing.\n//\n// 2. The mobile switch read window.innerWidth. Framer draws every breakpoint as\n//    its own frame on one canvas, so the 390px phone frame reported the full\n//    browser width and rendered the desktop bar inside it. Layout now switches\n//    on CONTAINER width, in CSS, which is the only measurement that tracks the\n//    frame instead of the window.\n//\n// Structure note: the outer wrapper takes Framer's `style` prop (that's where\n// the layout system puts sizing and positioning) and the <nav> inside owns its\n// own positioning. Spreading Framer's style onto the <nav> itself lets an inline\n// `position` clobber it.\n//\n// Pinning: sticky never worked here. A sticky element only sticks inside its\n// parent, and the parent is this component's own 84px wrapper; on top of that the\n// layout template's root clips with overflow: hidden, which also stops sticky. So\n// on the live site (\"Pin to top\") the <nav> is position: fixed, and an empty spacer\n// keeps the bar's height in the layout so nothing below it moves. On the canvas it\n// stays in flow. The phone menu sheet now floats over the page instead of pushing it.\n//\n// Then: AI assistants join the Features popover as a second featured card — the\n// width of the panel, under Siri & Shortcuts — in the Live Lyrics card's style:\n// questions you can ask roll like lyric lines over drifting colour (Claude's\n// terracotta, Meta's blue, a little green), beside the Claude, ChatGPT and Muse\n// marks on white tiles, exactly as supplied. It links to the homepage section\n// (/#assistants). \"Coming soon\" shows until the \"AI assistants\" switch says Available.\n//\n// Then: the AI card goes darker — deep navy, Needl blue at its darkest — so the\n// white logo tiles pop (the popover itself keeps its usual grey); its marks run\n// ChatGPT, Claude, Muse, then Gemini, the order the homepage uses. And TIDAL joins\n// Apple Music and Spotify: its white mark from TIDAL's brand kit (icon-white-rgb.eps,\n// the four diamonds as drawn there) after the Spotify icon, and \"TIDAL\" in the title.\n//\n// Then: a Record Stores link (to /partners, the free signs for shops) on the right,\n// just left of the language and Download buttons; in the phone menu after Ideas.\n//\n// Then: the AI assistants card goes straight to /assistants (not the homepage section), and gets an \"Early access\" badge now that people can add Needl to Claude and ChatGPT themselves.\n//\n// The panels sit inside a bar that may itself have a backdrop blur, and a nested\n// backdrop-filter can only blur what's inside its parent — so the panels are near-\n// opaque instead of relying on their own blur.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,Link,useIsStaticRenderer}from\"framer\";import*as FramerAPI from\"framer\";import{AnimatePresence,motion,useIsPresent}from\"framer-motion\";import{startTransition,useCallback,useEffect,useMemo,useRef,useState}from\"react\";// In the order the menu lists them.\nconst LANGS=[{lang:\"en-US\",flag:\"🇺🇸\",name:\"English (US)\",short:\"English\"},{lang:\"en-AU\",flag:\"🇦🇺\",name:\"English (Australia)\",short:\"English\"},{lang:\"en-CA\",flag:\"🇨🇦\",name:\"English (Canada)\",short:\"English\"},{lang:\"en-GB\",flag:\"🇬🇧\",name:\"English (UK)\",short:\"English\"},{lang:\"fr-CA\",flag:\"🇨🇦\",name:\"Fran\\xe7ais (Canada)\",short:\"Fran\\xe7ais\"},{lang:\"de\",flag:\"🇩🇪\",name:\"Deutsch\",short:\"Deutsch\"},{lang:\"it\",flag:\"🇮🇹\",name:\"Italiano\",short:\"Italiano\"},{lang:\"es-MX\",flag:\"🇲🇽\",name:\"Espa\\xf1ol (M\\xe9xico)\",short:\"Espa\\xf1ol\"},{lang:\"es-ES\",flag:\"🇪🇸\",name:\"Espa\\xf1ol (Espa\\xf1a)\",short:\"Espa\\xf1ol\"}];// Framer locale code (\"en\", \"en-GB\", \"fr-CA\", \"es-419\"…) → one of the site's languages.\nfunction resolveLang(code){const c=(code||\"\").toLowerCase().replace(\"_\",\"-\");if(c.startsWith(\"fr\"))return\"fr-CA\";if(c.startsWith(\"de\"))return\"de\";if(c.startsWith(\"it\"))return\"it\";if(c.startsWith(\"es\"))return/-(mx|419|us)/.test(c)?\"es-MX\":\"es-ES\";if(/-(gb|uk)/.test(c))return\"en-GB\";if(/-au/.test(c))return\"en-AU\";if(/-ca/.test(c))return\"en-CA\";return\"en-US\";}// Framer's localization hook, read defensively so the header still renders if the\n// API isn't there (older runtimes, tests).\nconst useLocaleInfoSafe=FramerAPI.useLocaleInfo||(()=>null);// Links go through Framer's <Link>, pointed at page ids, so Framer's router resolves\n// the real URL — in Preview (not served from the site's own domain, which is why\n// plain \"/pricing\" links broke there), on the live site, and in every locale — and\n// glides to a homepage section, respecting its scroll-margin under the pinned bar.\n// Ids are the project's pages (see the Pages panel); a path not listed here is\n// passed through as-is.\nconst PAGE_IDS={\"/\":\"augiA20Il\",\"/pricing\":\"s3MpouOUu\",\"/support\":\"sA9ogTYq0\",\"/privacy\":\"FFL5J4lzd\",\"/partners\":\"aI_RuKjxH\",\"/assistants\":\"S6P92Vi7p\"};function pageLink(path,hash){const clean=path.replace(/[?#].*$/,\"\").replace(/\\/$/,\"\")||\"/\";const webPageId=PAGE_IDS[clean];if(webPageId)return hash?{webPageId,hash}:{webPageId};return hash?`${path}#${hash}`:path;}const EN={pricing:\"Pricing\",help:\"Help Center\",download:\"Download\",language:\"Language\",menu:\"Menu\",free:\"Free on the App Store\",scan:\"Scan with your iPhone camera to download.\",view:\"View on the App Store\",devices:\"iPhone \\xb7 iPad \\xb7 Apple Watch \\xb7 Apple TV\",ideas:\"Ideas\",stores:\"Record Stores\",features:{label:\"Features\",lines:[\"Drop the Needl.\",\"Watch it come alive.\",\"Every word,\",\"right on time.\"],lyrics:{title:\"Live Lyrics\",body:\"Every word, right on time, as the record plays.\"},visualizers:{title:\"Visualizers\",body:\"See what's spinning, in motion and synced with Live Lyrics.\"},askai:{title:\"Ask AI\",body:\"The story behind any album. Private, on your device.\"},siri:{title:\"Siri & Shortcuts\",body:\"Ask Siri what a record's worth. Plus widgets and Live Activities.\"},streaming:{title:\"Apple Music, Spotify & TIDAL\",body:\"Needl learns the albums you keep coming back to.\"},assistants:{title:\"AI assistants\",body:\"Ask ChatGPT, Claude, Muse or Gemini about your records.\"},asks:[\"What's on my turntable?\",\"Pick a record for tonight.\",\"What did I play last month?\",\"What's on my wishlist?\"],soon:\"Coming soon\",early:\"Early access\"}};const EN_INTL={...EN,help:\"Help Centre\"};const ES={pricing:\"Precios\",help:\"Centro de ayuda\",download:\"Descargar\",language:\"Idioma\",menu:\"Men\\xfa\",free:\"Gratis en el App Store\",scan:\"Escanea el c\\xf3digo con la c\\xe1mara de tu iPhone para descargarla.\",view:\"Ver en el App Store\",devices:EN.devices,ideas:\"Ideas\",stores:\"Tiendas de discos\",features:{label:\"Funciones\",lines:[\"Pon la aguja.\",\"Y mira c\\xf3mo\",\"cobra vida.\",\"Cada palabra,\",\"justo a tiempo.\"],lyrics:{title:\"Letras en directo\",body:\"Cada palabra, justo a tiempo, mientras suena el disco.\"},visualizers:{title:\"Visualizadores\",body:\"Mira lo que est\\xe1 sonando, en movimiento y sincronizado con las letras en directo.\"},askai:{title:\"Ask AI\",body:\"La historia detr\\xe1s de cada \\xe1lbum. En privado, en tu dispositivo.\"},siri:{title:\"Siri y Atajos\",body:\"Preg\\xfantale a Siri cu\\xe1nto vale un disco. Y adem\\xe1s, widgets y Actividades en directo.\"},streaming:{title:\"Apple Music, Spotify y TIDAL\",body:\"Needl aprende qu\\xe9 \\xe1lbumes escuchas una y otra vez.\"},assistants:{title:\"Asistentes de IA\",body:\"Preg\\xfantale a ChatGPT, Claude, Muse o Gemini por tus discos.\"},asks:[\"\\xbfQu\\xe9 suena en mi tocadiscos?\",\"Elige un disco para esta noche.\",\"\\xbfQu\\xe9 escuch\\xe9 el mes pasado?\",\"\\xbfQu\\xe9 hay en mi lista de deseos?\"],soon:\"Pr\\xf3ximamente\",early:\"Acceso anticipado\"}};// Mexican Spanish says \"en vivo\" (Letras en vivo, Actividades en vivo) and \"tornamesa\".\nconst ES_MX={...ES,features:JSON.parse(JSON.stringify(ES.features).split(\"en directo\").join(\"en vivo\").split(\"mi tocadiscos\").join(\"mi tornamesa\"))};const COPY={\"en-US\":EN,\"en-AU\":EN_INTL,\"en-CA\":EN_INTL,\"en-GB\":EN_INTL,\"fr-CA\":{pricing:\"Tarifs\",help:\"Centre d’aide\",download:\"T\\xe9l\\xe9charger\",language:\"Langue\",menu:\"Menu\",free:\"Gratuit sur l’App Store\",scan:\"Num\\xe9risez ce code avec l’appareil photo de votre iPhone pour la t\\xe9l\\xe9charger.\",view:\"Voir dans l’App Store\",devices:EN.devices,ideas:\"Id\\xe9es\",stores:\"Disquaires\",features:{label:\"Fonctionnalit\\xe9s\",lines:[\"Posez l’aiguille.\",\"Et tout s’anime.\",\"Chaque mot,\",\"pile au bon moment.\"],lyrics:{title:\"Paroles en direct\",body:\"Chaque mot, pile au bon moment, pendant que le disque tourne.\"},visualizers:{title:\"Visualiseurs\",body:\"Voyez ce qui tourne, en mouvement et synchronis\\xe9 avec les paroles en direct.\"},askai:{title:\"Ask AI\",body:\"L’histoire derri\\xe8re chaque album. En priv\\xe9, sur votre appareil.\"},siri:{title:\"Siri et Raccourcis\",body:\"Demandez \\xe0 Siri combien vaut un disque. Et aussi des widgets et des Activit\\xe9s en direct.\"},streaming:{title:\"Apple Music, Spotify et TIDAL\",body:\"Needl apprend quels albums vous r\\xe9\\xe9coutez sans cesse.\"},assistants:{title:\"Assistants IA\",body:\"Interrogez ChatGPT, Claude, Muse ou Gemini sur vos disques.\"},asks:[\"Qu’est-ce qui tourne en ce moment?\",\"Choisis-moi un disque pour ce soir.\",\"Qu’ai-je \\xe9cout\\xe9 le mois dernier?\",\"Qu’y a-t-il dans ma liste de souhaits?\"],soon:\"Bient\\xf4t disponible\",early:\"Acc\\xe8s anticip\\xe9\"}},de:{pricing:\"Preise\",help:\"Hilfe\",download:\"Laden\",language:\"Sprache\",menu:\"Men\\xfc\",free:\"Kostenlos im App Store\",scan:\"Scanne den Code mit der Kamera deines iPhone, um die App zu laden.\",view:\"Im App Store ansehen\",devices:EN.devices,ideas:\"Ideen\",stores:\"Plattenl\\xe4den\",features:{label:\"Funktionen\",lines:[\"Nadel drauf.\",\"Alles erwacht\",\"zum Leben.\",\"Jedes Wort\",\"auf den Punkt.\"],lyrics:{title:\"Live-Songtexte\",body:\"Jedes Wort auf den Punkt, w\\xe4hrend die Platte l\\xe4uft.\"},visualizers:{title:\"Visualizer\",body:\"Sieh, was gerade l\\xe4uft – in Bewegung und synchron zu den Live-Songtexten.\"},askai:{title:\"Ask AI\",body:\"Die Geschichte hinter jedem Album. Privat, auf deinem Ger\\xe4t.\"},siri:{title:\"Siri & Kurzbefehle\",body:\"Frag Siri, was eine Platte wert ist. Dazu Widgets und Live-Aktivit\\xe4ten.\"},streaming:{title:\"Apple Music, Spotify & TIDAL\",body:\"Needl lernt die Alben kennen, die du immer wieder h\\xf6rst.\"},assistants:{title:\"KI-Assistenten\",body:\"Frag ChatGPT, Claude, Muse oder Gemini nach deinen Platten.\"},asks:[\"Was l\\xe4uft gerade?\",\"Such mir eine Platte aus.\",\"Was habe ich letzten Monat geh\\xf6rt?\",\"Was steht auf meiner Wunschliste?\"],soon:\"Demn\\xe4chst\",early:\"Fr\\xfcher Zugang\"}},it:{pricing:\"Prezzi\",help:\"Assistenza\",download:\"Scarica\",language:\"Lingua\",menu:\"Menu\",free:\"Gratis su App Store\",scan:\"Inquadra il codice con la fotocamera dell’iPhone per scaricarla.\",view:\"Vedi su App Store\",devices:EN.devices,ideas:\"Idee\",stores:\"Negozi di dischi\",features:{label:\"Funzionalit\\xe0\",lines:[\"Metti la puntina.\",\"E tutto prende vita.\",\"Ogni parola,\",\"al momento giusto.\"],lyrics:{title:\"Testi in tempo reale\",body:\"Ogni parola, al momento giusto, mentre il disco gira.\"},visualizers:{title:\"Visualizzatori\",body:\"Guarda cosa sta girando, in movimento e in sincrono con i testi in tempo reale.\"},askai:{title:\"Ask AI\",body:\"La storia dietro ogni album. In privato, sul tuo dispositivo.\"},siri:{title:\"Siri e Comandi Rapidi\",body:\"Chiedi a Siri quanto vale un disco. E poi widget e Attivit\\xe0 in tempo reale.\"},streaming:{title:\"Apple Music, Spotify e TIDAL\",body:\"Needl impara quali album ascolti di continuo.\"},assistants:{title:\"Assistenti IA\",body:\"Chiedi a ChatGPT, Claude, Muse o Gemini dei tuoi dischi.\"},asks:[\"Cosa gira sul mio giradischi?\",\"Scegli un disco per stasera.\",\"Cosa ho ascoltato il mese scorso?\",\"Cosa c’\\xe8 nella mia lista desideri?\"],soon:\"In arrivo\",early:\"Accesso anticipato\"}},\"es-MX\":ES_MX,\"es-ES\":ES};const FEATURES=[{key:\"lyrics\",section:\"listen\",tile:\"rgb(10, 132, 255)\"},{key:\"visualizers\",section:\"listen\",tile:\"rgb(191, 90, 242)\"},{key:\"askai\",section:\"ask-ai\",tile:\"linear-gradient(135deg, rgb(10, 132, 255), rgb(191, 90, 242))\"},{key:\"siri\",section:\"more\",tile:\"rgb(255, 159, 10)\"},{key:\"streaming\",section:\"discover\",tile:\"rgb(48, 209, 88)\"},{key:\"assistants\",section:\"assistants\",tile:\"\"}];// The Live Lyrics card: near-black with slow-drifting light — Needl blue and deep\n// navy, plus their complement, orange, and a little red (the -aurora styles).\nconst LYRICS_CARD_BASE=\"rgb(6, 8, 14)\";// The AI assistants card: deep navy, with slow blue light (the -ai styles), so the\n// white logo tiles pop.\nconst AI_CARD_BASE=\"rgb(4, 10, 26)\";// The assistants' marks, from the SVG files the owner supplied (as on /assistants\n// and the homepage). Shown as supplied — not redrawn, recoloured or restyled — on\n// white tiles: ChatGPT, Claude, Muse, then Gemini.\nconst LOGO_SVG={openai:'<svg fill=\"#0d0d0d\" fill-rule=\"evenodd\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.205 8.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357 1.356-.523 2.117-.523 2.854 0 4.662 2.212 4.662 4.566 0 .167 0 .357-.024.547l-4.71-2.759a.797.797 0 00-.856 0l-5.97 3.473zm10.609 8.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473 1.95-1.118a.433.433 0 01.476 0l4.543 2.617c1.309.76 2.189 2.378 2.189 3.948 0 1.808-1.07 3.473-2.76 4.163zM7.802 12.703l-1.95-1.142c-.167-.095-.239-.238-.239-.428V5.899c0-2.545 1.95-4.472 4.591-4.472 1 0 1.927.333 2.712.928L8.23 5.067c-.285.166-.428.404-.428.737v6.898zM12 15.128l-2.795-1.57v-3.33L12 8.658l2.795 1.57v3.33L12 15.128zm1.796 7.23c-1 0-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974 1.142c.167.095.238.238.238.428v5.233c0 2.545-1.974 4.472-4.614 4.472zm-5.637-5.303l-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.482 4.482 0 014.21 6.327v5.423c0 .333.143.571.428.738l5.947 3.449-1.95 1.118a.432.432 0 01-.476 0zm-.262 3.9c-2.688 0-4.662-2.021-4.662-4.519 0-.19.024-.38.047-.57l4.686 2.71c.286.167.571.167.856 0l5.97-3.448v2.26c0 .19-.07.333-.237.428l-4.543 2.616c-.619.357-1.356.523-2.117.523zm5.899 2.83a5.947 5.947 0 005.827-4.756C22.287 18.339 24 15.84 24 13.296c0-1.665-.713-3.282-1.998-4.448.119-.5.19-.999.19-1.498 0-3.401-2.759-5.947-5.946-5.947-.642 0-1.26.095-1.88.31A5.962 5.962 0 0010.205 0a5.947 5.947 0 00-5.827 4.757C1.713 5.447 0 7.945 0 10.49c0 1.666.713 3.283 1.998 4.448-.119.5-.19 1-.19 1.499 0 3.401 2.759 5.946 5.946 5.946.642 0 1.26-.095 1.88-.309a5.96 5.96 0 004.162 1.713z\"></path></svg>',claude:'<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z\" fill=\"#D97757\" fill-rule=\"nonzero\"></path></svg>',meta:'<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6.897 4h-.024l-.031 2.615h.022c1.715 0 3.046 1.357 5.94 6.246l.175.297.012.02 1.62-2.438-.012-.019a48.763 48.763 0 00-1.098-1.716 28.01 28.01 0 00-1.175-1.629C10.413 4.932 8.812 4 6.896 4z\" fill=\"url(#lobe-icons-meta-0-)\"></path><path d=\"M6.873 4C4.95 4.01 3.247 5.258 2.02 7.17a4.352 4.352 0 00-.01.017l2.254 1.231.011-.017c.718-1.083 1.61-1.774 2.568-1.785h.021L6.896 4h-.023z\" fill=\"url(#lobe-icons-meta-1-)\"></path><path d=\"M2.019 7.17l-.011.017C1.2 8.447.598 9.995.274 11.664l-.005.022 2.534.6.004-.022c.27-1.467.786-2.828 1.456-3.845l.011-.017L2.02 7.17z\" fill=\"url(#lobe-icons-meta-2-)\"></path><path d=\"M2.807 12.264l-2.533-.6-.005.022c-.177.918-.267 1.851-.269 2.786v.023l2.598.233v-.023a12.591 12.591 0 01.21-2.44z\" fill=\"url(#lobe-icons-meta-3-)\"></path><path d=\"M2.677 15.537a5.462 5.462 0 01-.079-.813v-.022L0 14.468v.024a8.89 8.89 0 00.146 1.652l2.535-.585a4.106 4.106 0 01-.004-.022z\" fill=\"url(#lobe-icons-meta-4-)\"></path><path d=\"M3.27 16.89c-.284-.31-.484-.756-.589-1.328l-.004-.021-2.535.585.004.021c.192 1.01.568 1.85 1.106 2.487l.014.017 2.018-1.745a2.106 2.106 0 01-.015-.016z\" fill=\"url(#lobe-icons-meta-5-)\"></path><path d=\"M10.78 9.654c-1.528 2.35-2.454 3.825-2.454 3.825-2.035 3.2-2.739 3.917-3.871 3.917a1.545 1.545 0 01-1.186-.508l-2.017 1.744.014.017C2.01 19.518 3.058 20 4.356 20c1.963 0 3.374-.928 5.884-5.33l1.766-3.13a41.283 41.283 0 00-1.227-1.886z\" fill=\"#0082FB\"></path><path d=\"M13.502 5.946l-.016.016c-.4.43-.786.908-1.16 1.416.378.483.768 1.024 1.175 1.63.48-.743.928-1.345 1.367-1.807l.016-.016-1.382-1.24z\" fill=\"url(#lobe-icons-meta-6-)\"></path><path d=\"M20.918 5.713C19.853 4.633 18.583 4 17.225 4c-1.432 0-2.637.787-3.723 1.944l-.016.016 1.382 1.24.016-.017c.715-.747 1.408-1.12 2.176-1.12.826 0 1.6.39 2.27 1.075l.015.016 1.589-1.425-.016-.016z\" fill=\"#0082FB\"></path><path d=\"M23.998 14.125c-.06-3.467-1.27-6.566-3.064-8.396l-.016-.016-1.588 1.424.015.016c1.35 1.392 2.277 3.98 2.361 6.971v.023h2.292v-.022z\" fill=\"url(#lobe-icons-meta-7-)\"></path><path d=\"M23.998 14.15v-.023h-2.292v.022c.004.14.006.282.006.424 0 .815-.121 1.474-.368 1.95l-.011.022 1.708 1.782.013-.02c.62-.96.946-2.293.946-3.91 0-.083 0-.165-.002-.247z\" fill=\"url(#lobe-icons-meta-8-)\"></path><path d=\"M21.344 16.52l-.011.02c-.214.402-.519.67-.917.787l.778 2.462a3.493 3.493 0 00.438-.182 3.558 3.558 0 001.366-1.218l.044-.065.012-.02-1.71-1.784z\" fill=\"url(#lobe-icons-meta-9-)\"></path><path d=\"M19.92 17.393c-.262 0-.492-.039-.718-.14l-.798 2.522c.449.153.927.222 1.46.222.492 0 .943-.073 1.352-.215l-.78-2.462c-.167.05-.341.075-.517.073z\" fill=\"url(#lobe-icons-meta-10-)\"></path><path d=\"M18.323 16.534l-.014-.017-1.836 1.914.016.017c.637.682 1.246 1.105 1.937 1.337l.797-2.52c-.291-.125-.573-.353-.9-.731z\" fill=\"url(#lobe-icons-meta-11-)\"></path><path d=\"M18.309 16.515c-.55-.642-1.232-1.712-2.303-3.44l-1.396-2.336-.011-.02-1.62 2.438.012.02.989 1.668c.959 1.61 1.74 2.774 2.493 3.585l.016.016 1.834-1.914a2.353 2.353 0 01-.014-.017z\" fill=\"url(#lobe-icons-meta-12-)\"></path><defs><linearGradient id=\"lobe-icons-meta-0-\" x1=\"75.897%\" x2=\"26.312%\" y1=\"89.199%\" y2=\"12.194%\"><stop offset=\".06%\" stop-color=\"#0867DF\"></stop><stop offset=\"45.39%\" stop-color=\"#0668E1\"></stop><stop offset=\"85.91%\" stop-color=\"#0064E0\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-1-\" x1=\"21.67%\" x2=\"97.068%\" y1=\"75.874%\" y2=\"23.985%\"><stop offset=\"13.23%\" stop-color=\"#0064DF\"></stop><stop offset=\"99.88%\" stop-color=\"#0064E0\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-2-\" x1=\"38.263%\" x2=\"60.895%\" y1=\"89.127%\" y2=\"16.131%\"><stop offset=\"1.47%\" stop-color=\"#0072EC\"></stop><stop offset=\"68.81%\" stop-color=\"#0064DF\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-3-\" x1=\"47.032%\" x2=\"52.15%\" y1=\"90.19%\" y2=\"15.745%\"><stop offset=\"7.31%\" stop-color=\"#007CF6\"></stop><stop offset=\"99.43%\" stop-color=\"#0072EC\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-4-\" x1=\"52.155%\" x2=\"47.591%\" y1=\"58.301%\" y2=\"37.004%\"><stop offset=\"7.31%\" stop-color=\"#007FF9\"></stop><stop offset=\"100%\" stop-color=\"#007CF6\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-5-\" x1=\"37.689%\" x2=\"61.961%\" y1=\"12.502%\" y2=\"63.624%\"><stop offset=\"7.31%\" stop-color=\"#007FF9\"></stop><stop offset=\"100%\" stop-color=\"#0082FB\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-6-\" x1=\"34.808%\" x2=\"62.313%\" y1=\"68.859%\" y2=\"23.174%\"><stop offset=\"27.99%\" stop-color=\"#007FF8\"></stop><stop offset=\"91.41%\" stop-color=\"#0082FB\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-7-\" x1=\"43.762%\" x2=\"57.602%\" y1=\"6.235%\" y2=\"98.514%\"><stop offset=\"0%\" stop-color=\"#0082FB\"></stop><stop offset=\"99.95%\" stop-color=\"#0081FA\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-8-\" x1=\"60.055%\" x2=\"39.88%\" y1=\"4.661%\" y2=\"69.077%\"><stop offset=\"6.19%\" stop-color=\"#0081FA\"></stop><stop offset=\"100%\" stop-color=\"#0080F9\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-9-\" x1=\"30.282%\" x2=\"61.081%\" y1=\"59.32%\" y2=\"33.244%\"><stop offset=\"0%\" stop-color=\"#027AF3\"></stop><stop offset=\"100%\" stop-color=\"#0080F9\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-10-\" x1=\"20.433%\" x2=\"82.112%\" y1=\"50.001%\" y2=\"50.001%\"><stop offset=\"0%\" stop-color=\"#0377EF\"></stop><stop offset=\"99.94%\" stop-color=\"#0279F1\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-11-\" x1=\"40.303%\" x2=\"72.394%\" y1=\"35.298%\" y2=\"57.811%\"><stop offset=\".19%\" stop-color=\"#0471E9\"></stop><stop offset=\"100%\" stop-color=\"#0377EF\"></stop></linearGradient><linearGradient id=\"lobe-icons-meta-12-\" x1=\"32.254%\" x2=\"68.003%\" y1=\"19.719%\" y2=\"84.908%\"><stop offset=\"27.65%\" stop-color=\"#0867DF\"></stop><stop offset=\"100%\" stop-color=\"#0471E9\"></stop></linearGradient></defs></svg>',gemini:'<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z\" fill=\"#3186FF\"></path><path d=\"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z\" fill=\"url(#lobe-icons-gemini-0-)\"></path><path d=\"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z\" fill=\"url(#lobe-icons-gemini-1-)\"></path><path d=\"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z\" fill=\"url(#lobe-icons-gemini-2-)\"></path><defs><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"lobe-icons-gemini-0-\" x1=\"7\" x2=\"11\" y1=\"15.5\" y2=\"12\"><stop stop-color=\"#08B962\"></stop><stop offset=\"1\" stop-color=\"#08B962\" stop-opacity=\"0\"></stop></linearGradient><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"lobe-icons-gemini-1-\" x1=\"8\" x2=\"11.5\" y1=\"5.5\" y2=\"11\"><stop stop-color=\"#F94543\"></stop><stop offset=\"1\" stop-color=\"#F94543\" stop-opacity=\"0\"></stop></linearGradient><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"lobe-icons-gemini-2-\" x1=\"3.5\" x2=\"17.5\" y1=\"13.5\" y2=\"12\"><stop stop-color=\"#FABC12\"></stop><stop offset=\".46\" stop-color=\"#FABC12\" stop-opacity=\"0\"></stop></linearGradient></defs></svg>'};const svgUri=svg=>`data:image/svg+xml;charset=utf-8,${encodeURIComponent(svg)}`;const MARKS=[{name:\"ChatGPT\",src:svgUri(LOGO_SVG.openai)},{name:\"Claude\",src:svgUri(LOGO_SVG.claude)},{name:\"Muse\",src:svgUri(LOGO_SVG.meta)},{name:\"Gemini\",src:svgUri(LOGO_SVG.gemini)}];function AssistantMarks({size,gap=6}){return /*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{display:\"inline-flex\",alignItems:\"center\",gap,flexShrink:0},children:MARKS.map(m=>/*#__PURE__*/_jsx(\"span\",{style:{width:size,height:size,borderRadius:\"24%\",background:\"#FFFFFF\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",boxShadow:\"0 1px 2px rgba(0, 0, 0, 0.3)\",flexShrink:0},children:/*#__PURE__*/_jsx(\"img\",{src:m.src,alt:\"\",draggable:false,style:{width:\"58%\",height:\"58%\",display:\"block\"}})},m.name))});}function FeatureGlyph({name,size=18}){const line={stroke:\"#FFFFFF\",strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\",fill:\"none\"};return /*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:[name===\"lyrics\"?/*#__PURE__*/_jsx(\"path\",{d:\"M5 7h14M5 12h11M5 17h7\",...line}):null,name===\"visualizers\"?/*#__PURE__*/_jsx(\"path\",{d:\"M4.5 10v4M8.25 6.5v11M12 3.5v17M15.75 7.5v9M19.5 10.5v3\",...line}):null,name===\"askai\"?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{fill:\"#FFFFFF\",d:\"M10.5 3.5l1.9 4.9 4.9 1.9-4.9 1.9-1.9 4.9-1.9-4.9-4.9-1.9 4.9-1.9z\"}),/*#__PURE__*/_jsx(\"path\",{fill:\"#FFFFFF\",d:\"M18 14.5l.9 2.1 2.1.9-2.1.9-.9 2.1-.9-2.1-2.1-.9 2.1-.9z\"})]}):null,name===\"siri\"?/*#__PURE__*/_jsx(\"path\",{d:\"M12 3.5a3 3 0 0 1 3 3v5a3 3 0 0 1-6 0v-5a3 3 0 0 1 3-3zM6.5 11.5a5.5 5.5 0 0 0 11 0M12 17v3.5\",...line}):null,name===\"streaming\"?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M9 17.5V6.2l10-2.2v11.3\",...line}),/*#__PURE__*/_jsx(\"circle\",{cx:\"6.6\",cy:\"17.6\",r:\"2.4\",...line}),/*#__PURE__*/_jsx(\"circle\",{cx:\"16.6\",cy:\"15.4\",r:\"2.4\",...line})]}):null]});}// Official icons, from the brand kits — the same paths FeatureSpotlight's \"Works with\"\n// lockup uses (Apple_Music_Icon_RGB_lg; Spotify Primary_Logo_Green_RGB). Don't\n// redraw, recolour or restyle them. Apple Music comes first, as Apple asks.\nfunction AppleMusicIcon({size}){return /*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 361 361\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"linearGradient\",{id:\"needl-nav-apple-music-gradient\",gradientUnits:\"userSpaceOnUse\",x1:\"180\",y1:\"358.6047\",x2:\"180\",y2:\"7.7586\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0\",stopColor:\"#FA233B\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:\"#FB5C74\"})]})}),/*#__PURE__*/_jsx(\"path\",{fill:\"url(#needl-nav-apple-music-gradient)\",fillRule:\"evenodd\",clipRule:\"evenodd\",d:\"M360,112.61c0-4.3,0-8.6-0.02-12.9c-0.02-3.62-0.06-7.24-0.16-10.86c-0.21-7.89-0.68-15.84-2.08-23.64c-1.42-7.92-3.75-15.29-7.41-22.49c-3.6-7.07-8.3-13.53-13.91-19.14c-5.61-5.61-12.08-10.31-19.15-13.91c-7.19-3.66-14.56-5.98-22.47-7.41c-7.8-1.4-15.76-1.87-23.65-2.08c-3.62-0.1-7.24-0.14-10.86-0.16C255.99,0,251.69,0,247.39,0H112.61c-4.3,0-8.6,0-12.9,0.02c-3.62,0.02-7.24,0.06-10.86,0.16C80.96,0.4,73,0.86,65.2,2.27c-7.92,1.42-15.28,3.75-22.47,7.41c-7.07,3.6-13.54,8.3-19.15,13.91c-5.61,5.61-10.31,12.07-13.91,19.14c-3.66,7.2-5.99,14.57-7.41,22.49c-1.4,7.8-1.87,15.76-2.08,23.64c-0.1,3.62-0.14,7.24-0.16,10.86C0,104.01,0,108.31,0,112.61v134.77c0,4.3,0,8.6,0.02,12.9c0.02,3.62,0.06,7.24,0.16,10.86c0.21,7.89,0.68,15.84,2.08,23.64c1.42,7.92,3.75,15.29,7.41,22.49c3.6,7.07,8.3,13.53,13.91,19.14c5.61,5.61,12.08,10.31,19.15,13.91c7.19,3.66,14.56,5.98,22.47,7.41c7.8,1.4,15.76,1.87,23.65,2.08c3.62,0.1,7.24,0.14,10.86,0.16c4.3,0.03,8.6,0.02,12.9,0.02h134.77c4.3,0,8.6,0,12.9-0.02c3.62-0.02,7.24-0.06,10.86-0.16c7.89-0.21,15.85-0.68,23.65-2.08c7.92-1.42,15.28-3.75,22.47-7.41c7.07-3.6,13.54-8.3,19.15-13.91c5.61-5.61,10.31-12.07,13.91-19.14c3.66-7.2,5.99-14.57,7.41-22.49c1.4-7.8,1.87-15.76,2.08-23.64c0.1-3.62,0.14-7.24,0.16-10.86c0.03-4.3,0.02-8.6,0.02-12.9V112.61z\"}),/*#__PURE__*/_jsx(\"path\",{fill:\"#FFFFFF\",fillRule:\"evenodd\",clipRule:\"evenodd\",d:\"M254.5,55c-0.87,0.08-8.6,1.45-9.53,1.64l-107,21.59l-0.04,0.01c-2.79,0.59-4.98,1.58-6.67,3c-2.04,1.71-3.17,4.13-3.6,6.95c-0.09,0.6-0.24,1.82-0.24,3.62c0,0,0,109.32,0,133.92c0,3.13-0.25,6.17-2.37,8.76c-2.12,2.59-4.74,3.37-7.81,3.99c-2.33,0.47-4.66,0.94-6.99,1.41c-8.84,1.78-14.59,2.99-19.8,5.01c-4.98,1.93-8.71,4.39-11.68,7.51c-5.89,6.17-8.28,14.54-7.46,22.38c0.7,6.69,3.71,13.09,8.88,17.82c3.49,3.2,7.85,5.63,12.99,6.66c5.33,1.07,11.01,0.7,19.31-0.98c4.42-0.89,8.56-2.28,12.5-4.61c3.9-2.3,7.24-5.37,9.85-9.11c2.62-3.75,4.31-7.92,5.24-12.35c0.96-4.57,1.19-8.7,1.19-13.26l0-116.15c0-6.22,1.76-7.86,6.78-9.08c0,0,88.94-17.94,93.09-18.75c5.79-1.11,8.52,0.54,8.52,6.61l0,79.29c0,3.14-0.03,6.32-2.17,8.92c-2.12,2.59-4.74,3.37-7.81,3.99c-2.33,0.47-4.66,0.94-6.99,1.41c-8.84,1.78-14.59,2.99-19.8,5.01c-4.98,1.93-8.71,4.39-11.68,7.51c-5.89,6.17-8.49,14.54-7.67,22.38c0.7,6.69,3.92,13.09,9.09,17.82c3.49,3.2,7.85,5.56,12.99,6.6c5.33,1.07,11.01,0.69,19.31-0.98c4.42-0.89,8.56-2.22,12.5-4.55c3.9-2.3,7.24-5.37,9.85-9.11c2.62-3.75,4.31-7.92,5.24-12.35c0.96-4.57,1-8.7,1-13.26V64.46C263.54,58.3,260.29,54.5,254.5,55z\"})]});}function SpotifyIcon({size}){return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 236.05 225.25\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{fill:\"#1ED760\",d:\"m122.37,3.31C61.99.91,11.1,47.91,8.71,108.29c-2.4,60.38,44.61,111.26,104.98,113.66,60.38,2.4,111.26-44.6,113.66-104.98C229.74,56.59,182.74,5.7,122.37,3.31Zm46.18,160.28c-1.36,2.4-4.01,3.6-6.59,3.24-.79-.11-1.58-.37-2.32-.79-14.46-8.23-30.22-13.59-46.84-15.93-16.62-2.34-33.25-1.53-49.42,2.4-3.51.85-7.04-1.3-7.89-4.81-.85-3.51,1.3-7.04,4.81-7.89,17.78-4.32,36.06-5.21,54.32-2.64,18.26,2.57,35.58,8.46,51.49,17.51,3.13,1.79,4.23,5.77,2.45,8.91Zm14.38-28.72c-2.23,4.12-7.39,5.66-11.51,3.43-16.92-9.15-35.24-15.16-54.45-17.86-19.21-2.7-38.47-1.97-57.26,2.16-1.02.22-2.03.26-3.01.12-3.41-.48-6.33-3.02-7.11-6.59-1.01-4.58,1.89-9.11,6.47-10.12,20.77-4.57,42.06-5.38,63.28-2.4,21.21,2.98,41.46,9.62,60.16,19.74,4.13,2.23,5.66,7.38,3.43,11.51Zm15.94-32.38c-2.1,4.04-6.47,6.13-10.73,5.53-1.15-.16-2.28-.52-3.37-1.08-19.7-10.25-40.92-17.02-63.07-20.13-22.15-3.11-44.42-2.45-66.18,1.97-5.66,1.15-11.17-2.51-12.32-8.16-1.15-5.66,2.51-11.17,8.16-12.32,24.1-4.89,48.74-5.62,73.25-2.18,24.51,3.44,47.99,10.94,69.81,22.29,5.12,2.66,7.11,8.97,4.45,14.09Z\"})});}function ExternalArrow({color}){return /*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 10 10\",width:\"9\",height:\"9\",fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\",flexShrink:0},children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 7L7 3M3.6 3H7v3.4\",stroke:color,strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})});}// TIDAL's icon from its brand kit (icon-white-rgb.eps, 141.73 × 94.49 pt): the four\n// diamonds as drawn there — white on the dark theme, black on the light one.\nfunction TidalIcon({width,color}){return /*#__PURE__*/_jsxs(\"svg\",{width:width,height:width*94.4926/141.732,viewBox:\"0 0 141.732 94.4926\",\"aria-hidden\":\"true\",fill:color,style:{display:\"block\",flexShrink:0},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M94.4891 23.6226L70.8676 47.2462L47.2455 23.6226L70.8676 .0000686178Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M94.4891 70.8702L70.8676 94.4923L47.2455 70.8702L70.8676 47.2462Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M47.2455 23.6236L23.6224 47.2471L-.000118377 23.6236L23.6224 .00104518Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M141.732 23.6236L118.11 47.2471L94.4872 23.6236L118.11 .00104518Z\"})]});}// Apple Music, Spotify and TIDAL: the three icons side by side where the other items\n// have their tile. Apple Music and Spotify sit at their brand-kit minimum sizes (Apple\n// 22px, Spotify 21px), so neither is shrunk below what's allowed; TIDAL's open mark\n// runs a little wider so the three weigh the same.\nfunction StreamingLogos({light}){return /*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":\"true\",style:{display:\"inline-flex\",alignItems:\"center\",gap:6,height:32,flexShrink:0},children:[/*#__PURE__*/_jsx(AppleMusicIcon,{size:22}),/*#__PURE__*/_jsx(SpotifyIcon,{size:22}),/*#__PURE__*/_jsx(TidalIcon,{width:24,color:light?\"#000000\":\"#FFFFFF\"})]});}// Three lines at a time: the one being \"sung\" bright, its neighbours dimmed, rolling\n// up like the lyrics screen. Only mounted while the popover is open.\nfunction LyricTicker({lines,play}){const[k,setK]=useState(0);const n=lines.length;// Stop rolling as soon as the popover starts closing: a line change measures\n// layout, and framer-motion restores the scroll position after measuring, which\n// would cut short the glide to the section that was just clicked.\nconst present=useIsPresent();const running=play&&present;useEffect(()=>{if(!running||n<2||typeof window===\"undefined\")return;const id=window.setInterval(()=>startTransition(()=>setK(v=>v+1)),1700);return()=>window.clearInterval(id);},[running,n]);if(!n)return null;const at=i=>lines[(i%n+n)%n];const mask=\"linear-gradient(to bottom, transparent, #000 24%, #000 76%, transparent)\";return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"relative\",height:78,overflow:\"hidden\",maskImage:mask,WebkitMaskImage:mask},children:/*#__PURE__*/_jsx(AnimatePresence,{initial:false,mode:\"popLayout\",children:[k-1,k,k+1].map(i=>/*#__PURE__*/_jsx(motion.p,{layout:true,initial:{opacity:0,y:12},animate:{opacity:i===k?1:.32,y:0},exit:{opacity:0,y:-12},transition:{type:\"spring\",stiffness:240,damping:30},style:{margin:0,fontSize:17,fontWeight:700,lineHeight:\"26px\",letterSpacing:\"-0.02em\",color:\"#FFFFFF\",whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:at(i)},i))})});}// Links the header knows how to translate, by path.\nconst LINK_KEYS={\"/pricing\":\"pricing\",\"/support\":\"help\"};// ---------------------------------------------------------------------------\n// QR code for https://apps.apple.com/app/id6754252048 — the storefront-neutral App\n// Store link, so it opens the visitor's own country's store. 29×29 modules, error\n// correction M; each row is 29 bits, most significant bit first. (Verified to scan.)\n// ---------------------------------------------------------------------------\nconst QR_SIZE=29;const QR_ROWS=\"fec56bf8 825e5208 ba70eae8 babd32e8 bae522e8 82e4b208 feaaabf8 00e17800 8b92cfc8 757902f8 5a29c888 18b0d558 f676dd10 b94703f8 4309c768 14015b18 feb6ed10 e18b6fd8 17172f28 28256f18 faecdfc8 00877888 fea95ae8 82327880 badedfd0 ba093d08 ba63f878 82664e58 fee4e8d0\".split(\" \");function qrPath(){let d=\"\";QR_ROWS.forEach((hex,y)=>{const v=parseInt(hex,16);const on=x=>(v>>>31-x&1)===1;let x=0;while(x<QR_SIZE){if(on(x)){const start=x;while(x<QR_SIZE&&on(x))x++;d+=`M${start} ${y}h${x-start}v1h${start-x}z`;}else{x++;}}});return d;}// ---------------------------------------------------------------------------\nconst NAV_LINKS=[{label:\"Pricing\",href:\"/pricing\"},{label:\"Help Center\",href:\"/support\"}];const ICON_FALLBACK={src:\"https://framerusercontent.com/images/ovgde7OS8cP36gCpSCgD3P65fvc.png?width=1024&height=1024&kb=1602\",alt:\"Needl app icon\"};const PALETTE={dark:{text:\"rgb(255, 255, 255)\",muted:\"rgba(235, 235, 245, 0.62)\",glass:\"rgba(12, 12, 16, 0.72)\",border:\"rgba(255, 255, 255, 0.1)\",buttonBg:\"rgb(255, 255, 255)\",buttonText:\"rgb(0, 0, 0)\",shadow:\"0 10px 34px rgba(0, 0, 0, 0.45)\",panel:\"rgba(22, 22, 26, 0.97)\",hover:\"rgba(255, 255, 255, 0.08)\",chip:\"rgba(255, 255, 255, 0.07)\"},light:{text:\"rgb(0, 0, 0)\",muted:\"rgba(60, 60, 67, 0.62)\",glass:\"rgba(255, 255, 255, 0.72)\",border:\"rgba(0, 0, 0, 0.08)\",buttonBg:\"rgb(0, 0, 0)\",buttonText:\"rgb(255, 255, 255)\",shadow:\"0 10px 30px rgba(0, 0, 0, 0.12)\",panel:\"rgba(255, 255, 255, 0.98)\",hover:\"rgba(0, 0, 0, 0.05)\",chip:\"rgba(0, 0, 0, 0.05)\"}};const SPRING={type:\"spring\",stiffness:420,damping:32,mass:.9};const panelMotion={initial:{opacity:0,y:-10,scale:.94,filter:\"blur(8px)\"},animate:{opacity:1,y:0,scale:1,filter:\"blur(0px)\"},exit:{opacity:0,y:-6,scale:.97,filter:\"blur(6px)\",transition:{duration:.16}}};const listMotion={hidden:{},shown:{transition:{staggerChildren:.035,delayChildren:.05}}};const itemMotion={hidden:{opacity:0,y:8},shown:{opacity:1,y:0,transition:SPRING}};function Chevron({open,color}){return /*#__PURE__*/_jsx(motion.svg,{width:\"10\",height:\"10\",viewBox:\"0 0 10 10\",fill:\"none\",\"aria-hidden\":\"true\",animate:{rotate:open?180:0},transition:SPRING,style:{display:\"block\",flexShrink:0},children:/*#__PURE__*/_jsx(\"path\",{d:\"M2 3.75L5 6.75L8 3.75\",stroke:color,strokeWidth:\"1.6\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})});}/**\n * Navigation\n *\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 84\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function Navigation(props){const{theme=\"dark\",appStoreUrl=\"https://apps.apple.com/app/id6754252048\",appIcon,showIcon=true,appName=\"Needl\",brandHref=\"/\",navLinks=NAV_LINKS,showFeatures=true,assistants=\"early\",ideasUrl=\"https://needl.featurebase.app\",storesHref=\"/partners\",pinned=true,ctaLabel=\"Download\",showLanguages=true,accentColor=\"rgb(10, 132, 255)\",glassBlur=20,cornerRadius=18,maxWidth=1120,scrollThreshold=24,style}=props;const c=theme===\"light\"?PALETTE.light:PALETTE.dark;const isStatic=useIsStaticRenderer();const s=\"needl-nav\";const rootRef=useRef(null);const icon=appIcon&&appIcon.src?appIcon:ICON_FALLBACK;// --- Locale -------------------------------------------------------------\nconst info=useLocaleInfoSafe();const locales=info&&Array.isArray(info.locales)?info.locales:[];const activeLocale=info&&info.activeLocale?info.activeLocale:null;const lang=resolveLang(activeLocale?activeLocale.code:undefined);const t=COPY[lang];const current=LANGS.find(l=>l.lang===lang)||LANGS[0];// The languages that exist as Framer locales, in LANGS order.\nconst options=useMemo(()=>LANGS.map(l=>({...l,locale:locales.find(loc=>resolveLang(loc&&loc.code)===l.lang)})).filter(o=>o.locale),[locales]);const showPicker=showLanguages&&(options.length>1||isStatic);// Internal links get the locale's URL prefix (/de/pricing) from <Link> itself.\n// Storefront-neutral App Store link: opens the visitor's own country's store.\nconst storeUrl=(appStoreUrl||\"\").replace(/apps\\.apple\\.com\\/[a-z]{2}\\//i,\"apps.apple.com/\");const links=(Array.isArray(navLinks)?navLinks:NAV_LINKS).map(link=>{const key=LINK_KEYS[link.href];return{path:link.href,label:key?t[key]:link.label};});const cta=!ctaLabel||ctaLabel===\"Download\"?t.download:ctaLabel;const f=t.features;// --- State --------------------------------------------------------------\nconst[menuOpen,setMenuOpen]=useState(false);const[open,setOpen]=useState(null);const[isScrolled,setIsScrolled]=useState(false);const[popover,setPopover]=useState(false)// real pointer → Download opens the panel\n;const[reduceMotion,setReduceMotion]=useState(false);const pin=pinned&&!isStatic;const evaluate=useCallback(()=>{if(typeof window===\"undefined\")return;startTransition(()=>setIsScrolled(window.scrollY>scrollThreshold));},[scrollThreshold]);useEffect(()=>{if(typeof window===\"undefined\"||isStatic)return;evaluate();const onScroll=()=>evaluate();window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>window.removeEventListener(\"scroll\",onScroll);},[evaluate,isStatic]);useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const mq=window.matchMedia(\"(hover: hover) and (pointer: fine)\");const rm=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const update=()=>startTransition(()=>{setPopover(mq.matches);setReduceMotion(rm.matches);});update();if(mq.addEventListener){mq.addEventListener(\"change\",update);rm.addEventListener(\"change\",update);}return()=>{if(mq.removeEventListener){mq.removeEventListener(\"change\",update);rm.removeEventListener(\"change\",update);}};},[]);// Close on outside press or Escape.\nuseEffect(()=>{if(typeof document===\"undefined\"||!open&&!menuOpen)return;const onDown=e=>{const root=rootRef.current;if(root&&e.target instanceof Node&&root.contains(e.target))return;startTransition(()=>{setOpen(null);setMenuOpen(false);});};const onKey=e=>{if(e.key===\"Escape\")startTransition(()=>{setOpen(null);setMenuOpen(false);});};document.addEventListener(\"pointerdown\",onDown);document.addEventListener(\"keydown\",onKey);return()=>{document.removeEventListener(\"pointerdown\",onDown);document.removeEventListener(\"keydown\",onKey);};},[open,menuOpen]);const toggle=useCallback(which=>{startTransition(()=>{setMenuOpen(false);setOpen(cur=>cur===which?null:which);});},[]);// Features: hover intent on a real pointer (a short delay each way, so passing\n// over the link doesn't flash the panel), click everywhere. A click right after\n// hover opened it keeps it open rather than snapping it shut.\nconst hoverTimer=useRef(null);const hoverOpenedAt=useRef(0);const clearHover=()=>{if(hoverTimer.current!==null&&typeof window!==\"undefined\")window.clearTimeout(hoverTimer.current);hoverTimer.current=null;};useEffect(()=>clearHover,[]);const onFeaturesEnter=useCallback(()=>{if(!popover||typeof window===\"undefined\")return;clearHover();hoverTimer.current=window.setTimeout(()=>{hoverOpenedAt.current=Date.now();startTransition(()=>{setMenuOpen(false);setOpen(\"features\");});},90);},[popover]);const onFeaturesLeave=useCallback(()=>{if(!popover||typeof window===\"undefined\")return;clearHover();hoverTimer.current=window.setTimeout(()=>{startTransition(()=>setOpen(cur=>cur===\"features\"?null:cur));},180);},[popover]);const onFeaturesClick=useCallback(()=>{clearHover();// Hover opened it a moment ago (the pointer arrives before the click does):\n// this click means \"open\", not \"close\". Checked by time, not by `open`, which\n// can still be stale here because state updates run as transitions.\nif(Date.now()-hoverOpenedAt.current<450){hoverOpenedAt.current=0;startTransition(()=>setOpen(\"features\"));return;}toggle(\"features\");},[toggle]);// <Link> does the navigating (and the glide to a section on this page); this only\n// closes the menu the link was in. It runs in the capture phase, so it doesn't\n// matter what <Link> does with the click afterwards.\nconst closeMenus=useCallback(()=>{clearHover();startTransition(()=>{setOpen(null);setMenuOpen(false);});},[]);const onDownload=useCallback(e=>{if(!popover)return;// touch: follow the link to the App Store\ne.preventDefault();toggle(\"download\");},[popover,toggle]);const chooseLocale=useCallback(locale=>{startTransition(()=>setOpen(null));if(info&&typeof info.setLocale===\"function\"&&locale)info.setLocale(locale);},[info]);// On the canvas there is nothing to scroll, so show the settled state —\n// that is the version worth designing against.\nconst active=isStatic?true:isScrolled||open!==null||menuOpen;const barStyle=useMemo(()=>{return{background:active?c.glass:\"transparent\",borderColor:active?c.border:\"transparent\",borderRadius:active?cornerRadius:0,boxShadow:active?c.shadow:\"none\",backdropFilter:active?`blur(${glassBlur}px) saturate(160%)`:\"none\",WebkitBackdropFilter:active?`blur(${glassBlur}px) saturate(160%)`:\"none\"};},[active,c,cornerRadius,glassBlur]);const qr=useMemo(()=>qrPath(),[]);const panelBase={position:\"absolute\",top:\"calc(100% + 12px)\",right:0,zIndex:5,background:c.panel,border:`1px solid ${c.border}`,borderRadius:22,boxShadow:\"0 24px 60px rgba(0, 0, 0, 0.5), 0 2px 10px rgba(0, 0, 0, 0.3)\",transformOrigin:\"top right\",boxSizing:\"border-box\",color:c.text};return /*#__PURE__*/_jsxs(\"div\",{className:`${s}-wrap`,\"data-pinned\":pin?\"\":undefined,style:{position:\"relative\",width:\"100%\",...style},children:[/*#__PURE__*/_jsx(\"div\",{className:`${s}-pad`,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsxs(\"nav\",{className:`${s}-root`,ref:rootRef,\"aria-label\":\"Main\",style:{[\"--nav-text\"]:c.text,[\"--nav-hover\"]:c.hover,[\"--nav-accent\"]:accentColor},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                .${s}-root {\n                    position: relative;\n                    z-index: 1000;\n                    width: 100%;\n                    box-sizing: border-box;\n                    padding: 10px 12px;\n                    container-type: inline-size;\n                    container-name: needlnav;\n                    -webkit-font-smoothing: antialiased;\n                    font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;\n                }\n                .${s}-pad { display: none; height: 78px; }\n                .${s}-wrap[data-pinned] .${s}-pad { display: block; }\n                .${s}-wrap[data-pinned] .${s}-root { position: fixed; top: 0; left: 0; right: 0; }\n                /* The wrapper can't be a size container (that would trap the fixed bar),\n                   so the spacer follows the viewport — the same width the bar has. */\n                @media (min-width: 720px) { .${s}-pad { height: 84px; } }\n\n                .${s}-trigger {\n                    appearance: none;\n                    border: none;\n                    margin: 0;\n                    font: inherit;\n                    background: transparent;\n                    cursor: pointer;\n                    display: inline-flex;\n                    align-items: center;\n                    gap: 6px;\n                }\n                .${s}-trigger[aria-expanded=\"true\"] { color: var(--nav-text) !important; background: var(--nav-hover); }\n                .${s}-features {\n                    width: 720px;\n                    max-width: calc(100cqw - 150px);\n                }\n                /* Bridges the gap under the link, so the pointer can travel to the panel. */\n                .${s}-features::before { content: \"\"; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }\n                .${s}-fgrid {\n                    display: grid;\n                    grid-template-columns: 240px minmax(0, 1fr) minmax(0, 1fr);\n                    gap: 4px;\n                }\n                .${s}-lyrics {\n                    grid-row: span 2;\n                    position: relative;\n                    display: flex;\n                    flex-direction: column;\n                    justify-content: space-between;\n                    gap: 18px;\n                    min-height: 204px;\n                    padding: 16px 16px 15px;\n                    border-radius: 16px;\n                    overflow: hidden;\n                    text-decoration: none;\n                    color: #FFFFFF;\n                    transition: transform 200ms ease, filter 200ms ease;\n                }\n                .${s}-lyrics:hover { filter: brightness(1.08); }\n                .${s}-lyrics > *:not(.${s}-aurora):not(.${s}-scrim) { position: relative; z-index: 1; }\n                .${s}-aurora { position: absolute; inset: -35%; z-index: 0; pointer-events: none; filter: blur(20px); }\n                .${s}-aurora i { position: absolute; display: block; border-radius: 50%; will-change: transform; }\n                .${s}-aurora i:nth-child(1) {\n                    left: 2%; top: 0; width: 72%; height: 64%;\n                    background: radial-gradient(closest-side, rgba(10, 132, 255, 0.9), transparent);\n                    animation: ${s}-drift1 11s ease-in-out infinite alternate;\n                }\n                .${s}-aurora i:nth-child(2) {\n                    right: 0; bottom: 2%; width: 78%; height: 70%;\n                    background: radial-gradient(closest-side, rgba(30, 58, 138, 1), transparent);\n                    animation: ${s}-drift2 13s ease-in-out infinite alternate;\n                }\n                .${s}-aurora i:nth-child(3) {\n                    left: 16%; bottom: 10%; width: 52%; height: 46%;\n                    background: radial-gradient(closest-side, rgba(255, 146, 48, 0.72), transparent);\n                    animation: ${s}-drift3 9s ease-in-out infinite alternate;\n                }\n                .${s}-aurora i:nth-child(4) {\n                    right: 14%; top: 18%; width: 34%; height: 32%;\n                    background: radial-gradient(closest-side, rgba(255, 69, 58, 0.5), transparent);\n                    animation: ${s}-drift4 12s ease-in-out infinite alternate;\n                }\n                @keyframes ${s}-drift1 { to { transform: translate(22%, 16%) scale(1.12); } }\n                @keyframes ${s}-drift2 { to { transform: translate(-18%, -14%) scale(0.92); } }\n                @keyframes ${s}-drift3 { to { transform: translate(34%, -22%) scale(1.18); } }\n                @keyframes ${s}-drift4 { to { transform: translate(-40%, 30%) scale(1.25); } }\n                /* Keeps the title and line under it legible over the warm light. */\n                .${s}-scrim {\n                    position: absolute; inset: 0; z-index: 0; pointer-events: none;\n                    background: linear-gradient(to top, rgba(6, 8, 14, 0.72), rgba(6, 8, 14, 0) 58%);\n                }\n                .${s}-lyrics:active { transform: scale(0.985); }\n                /* AI assistants: a second featured card, the width of the panel. Questions\n                   roll on the left; the marks and the words sit on the right. */\n                .${s}-ai {\n                    grid-column: 1 / -1;\n                    position: relative;\n                    display: grid;\n                    grid-template-columns: minmax(0, 1fr) minmax(0, 300px);\n                    align-items: center;\n                    gap: 24px;\n                    min-height: 112px;\n                    padding: 14px 18px 14px 16px;\n                    border-radius: 16px;\n                    overflow: hidden;\n                    text-decoration: none;\n                    color: #FFFFFF;\n                    transition: transform 200ms ease, filter 200ms ease;\n                }\n                .${s}-ai:hover { filter: brightness(1.08); }\n                .${s}-ai:active { transform: scale(0.985); }\n                .${s}-ai > *:not(.${s}-aurora):not(.${s}-aiscrim) { position: relative; z-index: 1; }\n                .${s}-aitext { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; }\n                .${s}-aitext p { margin: 0; }\n                .${s}-aiscrim {\n                    position: absolute; inset: 0; z-index: 0; pointer-events: none;\n                    background: linear-gradient(90deg, rgba(4, 10, 26, 0.1), rgba(4, 10, 26, 0.6) 72%);\n                }\n                .${s}-aurora-ai i:nth-child(1) { background: radial-gradient(closest-side, rgba(10, 132, 255, 0.5), transparent); }\n                .${s}-aurora-ai i:nth-child(2) { background: radial-gradient(closest-side, rgba(22, 44, 112, 0.95), transparent); }\n                .${s}-aurora-ai i:nth-child(3) { background: radial-gradient(closest-side, rgba(52, 96, 220, 0.4), transparent); }\n                .${s}-aurora-ai i:nth-child(4) { background: radial-gradient(closest-side, rgba(125, 186, 255, 0.2), transparent); }\n                .${s}-soon {\n                    display: inline-flex;\n                    align-items: center;\n                    padding: 2px 8px;\n                    border-radius: 999px;\n                    font-size: 11px;\n                    font-weight: 600;\n                    letter-spacing: 0;\n                    line-height: 1.45;\n                    white-space: nowrap;\n                    background: rgba(255, 255, 255, 0.16);\n                    color: #FFFFFF;\n                }\n                .${s}-item {\n                    display: flex;\n                    align-items: flex-start;\n                    gap: 12px;\n                    padding: 12px;\n                    border-radius: 14px;\n                    text-decoration: none;\n                    transition: background 150ms ease;\n                }\n                .${s}-item:hover { background: var(--nav-hover); }\n                .${s}-tile {\n                    width: 32px;\n                    height: 32px;\n                    border-radius: 8px;\n                    display: flex;\n                    align-items: center;\n                    justify-content: center;\n                    flex-shrink: 0;\n                    box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.18);\n                }\n                .${s}-ititle { margin: 0; font-size: 14.5px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; }\n                .${s}-ibody { margin: 3px 0 0; font-size: 13px; line-height: 1.4; letter-spacing: -0.005em; }\n                .${s}-root a:focus-visible, .${s}-root button:focus-visible {\n                    outline: 2px solid var(--nav-accent);\n                    outline-offset: 2px;\n                }\n                @container needlnav (max-width: 960px) {\n                    .${s}-ai { grid-template-columns: minmax(0, 1fr) minmax(0, 260px); gap: 18px; }\n                    .${s}-fgrid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }\n                    .${s}-lyrics { grid-row: auto; grid-column: 1 / -1; min-height: 0; flex-direction: row; align-items: flex-end; }\n                    .${s}-lyrics > div { flex: 1; min-width: 0; }\n                }\n                .${s}-sheetscroll { max-height: calc(100dvh - 96px); overflow-y: auto; overscroll-behavior: contain; }\n                .${s}-sheet .${s}-slabel {\n                    margin: 0;\n                    padding: 10px 18px 4px;\n                    font-size: 12px;\n                    font-weight: 600;\n                    letter-spacing: 0.02em;\n                }\n                .${s}-sheet a.${s}-srow {\n                    display: flex;\n                    align-items: center;\n                    gap: 12px;\n                    padding: 8px 18px;\n                    font-size: 16px;\n                }\n                .${s}-sheet .${s}-srow .${s}-tile { width: 28px; height: 28px; border-radius: 7px; }\n                .${s}-bar {\n                    position: relative;\n                    width: 100%;\n                    max-width: var(--nav-max);\n                    margin: 0 auto;\n                    box-sizing: border-box;\n                    display: flex;\n                    align-items: center;\n                    gap: 8px;\n                    min-height: 58px;\n                    padding: 0 10px 0 16px;\n                    border-width: 1px;\n                    border-style: solid;\n                    transition:\n                        background 300ms ease,\n                        border-color 300ms ease,\n                        box-shadow 300ms ease,\n                        border-radius 300ms ease,\n                        backdrop-filter 300ms ease;\n                }\n                .${s}-brand {\n                    display: flex;\n                    align-items: center;\n                    gap: 9px;\n                    text-decoration: none;\n                    min-width: 0;\n                    flex-shrink: 0;\n                    font-size: 18px;\n                    font-weight: 700;\n                    letter-spacing: -0.022em;\n                    line-height: 1;\n                    margin-right: 4px;\n                }\n                .${s}-icon {\n                    width: 27px;\n                    height: 27px;\n                    border-radius: 7px;\n                    display: block;\n                    flex-shrink: 0;\n                }\n                .${s}-links {\n                    display: none;\n                    align-items: center;\n                    gap: 4px;\n                    min-width: 0;\n                    margin-left: 22px;\n                }\n                .${s}-link {\n                    text-decoration: none;\n                    font-size: 15px;\n                    font-weight: 500;\n                    letter-spacing: -0.01em;\n                    white-space: nowrap;\n                    padding: 8px 12px;\n                    border-radius: 999px;\n                    transition: color 200ms ease, background 200ms ease;\n                }\n                .${s}-link:hover { color: var(--nav-text) !important; background: var(--nav-hover); }\n                .${s}-link[data-framer-page-link-current] { color: var(--nav-text) !important; }\n                .${s}-ext { display: inline-flex !important; align-items: center; gap: 5px; }\n                .${s}-sheet a.${s}-ext { display: flex !important; }\n                .${s}-spacer { flex: 1; }\n                .${s}-stores { display: none; }\n                .${s}-anchor { position: relative; flex-shrink: 0; }\n                .${s}-lang {\n                    appearance: none;\n                    border: none;\n                    margin: 0;\n                    font: inherit;\n                    display: inline-flex;\n                    align-items: center;\n                    gap: 7px;\n                    height: 36px;\n                    padding: 0 12px 0 10px;\n                    border-radius: 999px;\n                    cursor: pointer;\n                    font-size: 14px;\n                    font-weight: 500;\n                    letter-spacing: -0.01em;\n                    white-space: nowrap;\n                    background: transparent;\n                    transition: background 200ms ease, color 200ms ease;\n                }\n                .${s}-lang:hover, .${s}-lang[aria-expanded=\"true\"] { background: var(--nav-hover); color: var(--nav-text) !important; }\n                .${s}-flag { font-size: 17px; line-height: 1; }\n                .${s}-langlabel { display: none; }\n                .${s}-cta {\n                    display: inline-flex;\n                    align-items: center;\n                    gap: 7px;\n                    text-decoration: none;\n                    font-size: 14px;\n                    font-weight: 600;\n                    letter-spacing: -0.01em;\n                    padding: 9px 18px 9px 20px;\n                    border-radius: 999px;\n                    white-space: nowrap;\n                    flex-shrink: 0;\n                    transition: opacity 200ms ease, transform 200ms ease;\n                }\n                .${s}-cta:hover { opacity: 0.9; }\n                .${s}-cta:active { transform: scale(0.97); }\n                .${s}-chev { display: none; }\n                .${s}-burger {\n                    appearance: none;\n                    background: none;\n                    border: none;\n                    margin: 0;\n                    padding: 6px;\n                    cursor: pointer;\n                    display: inline-flex;\n                    align-items: center;\n                    justify-content: center;\n                    flex-shrink: 0;\n                }\n                .${s}-sheet {\n                    max-width: var(--nav-max);\n                    margin: 6px auto 0;\n                    box-sizing: border-box;\n                    border-width: 1px;\n                    border-style: solid;\n                    border-radius: 16px;\n                    overflow: hidden;\n                }\n                .${s}-sheet a {\n                    display: block;\n                    text-decoration: none;\n                    font-size: 16px;\n                    font-weight: 500;\n                    letter-spacing: -0.01em;\n                    padding: 13px 18px;\n                }\n                .${s}-opt {\n                    appearance: none;\n                    border: none;\n                    margin: 0;\n                    font: inherit;\n                    width: 100%;\n                    display: flex;\n                    align-items: center;\n                    gap: 11px;\n                    padding: 9px 12px;\n                    border-radius: 12px;\n                    cursor: pointer;\n                    text-align: left;\n                    background: transparent;\n                    font-size: 14.5px;\n                    letter-spacing: -0.01em;\n                    transition: background 150ms ease;\n                }\n                .${s}-opt:hover { background: var(--nav-hover); }\n                .${s}-store:hover { filter: brightness(1.1); }\n                .${s}-store:active { transform: scale(0.98); }\n\n                /* Container, not viewport — this is the whole point. */\n                @container needlnav (min-width: 720px) {\n                    .${s}-links { display: flex; }\n                    .${s}-stores { display: inline-flex; }\n                    .${s}-burger { display: none; }\n                    .${s}-sheet { display: none; }\n                    .${s}-bar { min-height: 64px; padding: 0 12px 0 18px; }\n                    .${s}-langlabel { display: inline; }\n                    .${s}-chev { display: block; }\n                }\n                /* Narrow bar: the menus hang from the bar's right edge, not the\n                   button, so they can't run off the left side of a phone — and are\n                   capped at the bar's width. (On wider bars they hang from their\n                   button, so a percentage cap there would shrink them to it.) */\n                @container needlnav (max-width: 719px) {\n                    .${s}-anchor { position: static; }\n                    .${s}-panel { max-width: 100%; }\n                }\n                @container needlnav (max-width: 460px) {\n                    .${s}-brand { font-size: 17px; }\n                    .${s}-cta { font-size: 13px; padding: 8px 15px; }\n                    .${s}-bar { padding: 0 8px 0 14px; gap: 4px; }\n                    .${s}-lang { padding: 0 8px; }\n                }\n\n                @media (prefers-reduced-motion: reduce) {\n                    .${s}-bar, .${s}-link, .${s}-cta, .${s}-lyrics, .${s}-ai, .${s}-item { transition: none !important; }\n                    .${s}-aurora i { animation: none !important; }\n                }\n            `}),/*#__PURE__*/_jsxs(\"div\",{className:`${s}-bar`,style:{...barStyle,[\"--nav-max\"]:`${maxWidth}px`,[\"--nav-text\"]:c.text,[\"--nav-hover\"]:c.hover},children:[/*#__PURE__*/_jsx(Link,{href:pageLink(brandHref||\"/\"),openInNewTab:false,children:/*#__PURE__*/_jsxs(\"a\",{className:`${s}-brand`,onClick:closeMenus,style:{color:c.text},children:[showIcon?/*#__PURE__*/_jsx(\"img\",{className:`${s}-icon`,src:icon.src,srcSet:icon.srcSet,alt:icon.alt||`${appName} app icon`}):null,/*#__PURE__*/_jsx(\"span\",{children:appName})]})}),/*#__PURE__*/_jsxs(\"div\",{className:`${s}-links`,children:[showFeatures?/*#__PURE__*/_jsxs(\"div\",{className:`${s}-anchor`,onMouseEnter:onFeaturesEnter,onMouseLeave:onFeaturesLeave,children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:`${s}-link ${s}-trigger`,\"aria-expanded\":open===\"features\",\"aria-controls\":`${s}-features`,onClick:onFeaturesClick,style:{color:c.muted},children:[f.label,/*#__PURE__*/_jsx(Chevron,{open:open===\"features\",color:open===\"features\"?c.text:c.muted})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:open===\"features\"?/*#__PURE__*/_jsx(motion.div,{id:`${s}-features`,role:\"region\",\"aria-label\":f.label,initial:panelMotion.initial,animate:panelMotion.animate,exit:panelMotion.exit,transition:SPRING,className:`${s}-panel ${s}-features`,onClickCapture:closeMenus,style:{...panelBase,left:-10,right:\"auto\",transformOrigin:\"top left\",padding:8},children:/*#__PURE__*/_jsxs(motion.div,{className:`${s}-fgrid`,variants:listMotion,initial:\"hidden\",animate:\"shown\",children:[/*#__PURE__*/_jsx(Link,{href:pageLink(\"/\",\"listen\"),openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsxs(motion.a,{variants:itemMotion,className:`${s}-lyrics`,style:{background:LYRICS_CARD_BASE},children:[/*#__PURE__*/_jsxs(\"span\",{className:`${s}-aurora`,\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"i\",{}),/*#__PURE__*/_jsx(\"i\",{}),/*#__PURE__*/_jsx(\"i\",{}),/*#__PURE__*/_jsx(\"i\",{})]}),/*#__PURE__*/_jsx(\"span\",{className:`${s}-scrim`,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(LyricTicker,{lines:f.lines,play:!reduceMotion&&!isStatic}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"p\",{className:`${s}-ititle`,style:{fontSize:16},children:f.lyrics.title}),/*#__PURE__*/_jsx(\"p\",{className:`${s}-ibody`,style:{color:\"rgba(255, 255, 255, 0.72)\"},children:f.lyrics.body})]})]})}),FEATURES.filter(item=>item.key!==\"lyrics\"&&item.key!==\"assistants\").map(item=>/*#__PURE__*/_jsx(Link,{href:pageLink(\"/\",item.section),openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsxs(motion.a,{variants:itemMotion,className:`${s}-item`,children:[item.key===\"streaming\"?/*#__PURE__*/_jsx(StreamingLogos,{light:theme===\"light\"}):/*#__PURE__*/_jsx(\"span\",{className:`${s}-tile`,style:{background:item.tile},children:/*#__PURE__*/_jsx(FeatureGlyph,{name:item.key})}),/*#__PURE__*/_jsxs(\"span\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{className:`${s}-ititle`,style:{display:\"block\",color:c.text},children:f[item.key].title}),/*#__PURE__*/_jsx(\"span\",{className:`${s}-ibody`,style:{display:\"block\",color:c.muted},children:f[item.key].body})]})]})},item.key)),assistants!==\"hidden\"?/*#__PURE__*/_jsx(Link,{href:pageLink(\"/assistants\"),openInNewTab:false,children:/*#__PURE__*/_jsxs(motion.a,{variants:itemMotion,className:`${s}-ai`,style:{background:AI_CARD_BASE},children:[/*#__PURE__*/_jsxs(\"span\",{className:`${s}-aurora ${s}-aurora-ai`,\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"i\",{}),/*#__PURE__*/_jsx(\"i\",{}),/*#__PURE__*/_jsx(\"i\",{}),/*#__PURE__*/_jsx(\"i\",{})]}),/*#__PURE__*/_jsx(\"span\",{className:`${s}-aiscrim`,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(LyricTicker,{lines:f.asks,play:!reduceMotion&&!isStatic}),/*#__PURE__*/_jsxs(\"div\",{className:`${s}-aitext`,children:[/*#__PURE__*/_jsx(AssistantMarks,{size:30}),/*#__PURE__*/_jsxs(\"p\",{className:`${s}-ititle`,style:{fontSize:16,display:\"flex\",alignItems:\"center\",flexWrap:\"wrap\",gap:8},children:[f.assistants.title,assistants===\"soon\"?/*#__PURE__*/_jsx(\"span\",{className:`${s}-soon`,children:f.soon}):null,assistants===\"early\"?/*#__PURE__*/_jsx(\"span\",{className:`${s}-soon`,children:f.early}):null]}),/*#__PURE__*/_jsx(\"p\",{className:`${s}-ibody`,style:{color:\"rgba(255, 255, 255, 0.72)\"},children:f.assistants.body})]})]})}):null]})},\"features\"):null})]}):null,links.map((link,i)=>/*#__PURE__*/_jsx(Link,{href:pageLink(link.path),openInNewTab:false,children:/*#__PURE__*/_jsx(\"a\",{className:`${s}-link`,onClick:closeMenus,style:{color:c.muted},children:link.label})},`${link.path}-${i}`)),ideasUrl?/*#__PURE__*/_jsxs(\"a\",{className:`${s}-link ${s}-ext`,href:ideasUrl,target:\"_blank\",rel:\"noopener noreferrer\",onClick:closeMenus,style:{color:c.muted},children:[t.ideas,/*#__PURE__*/_jsx(ExternalArrow,{color:\"currentColor\"})]}):null]}),/*#__PURE__*/_jsx(\"div\",{className:`${s}-spacer`}),storesHref?/*#__PURE__*/_jsx(Link,{href:pageLink(storesHref),openInNewTab:false,children:/*#__PURE__*/_jsx(\"a\",{className:`${s}-link ${s}-stores`,onClick:closeMenus,style:{color:c.muted},children:t.stores})}):null,showPicker?/*#__PURE__*/_jsxs(\"div\",{className:`${s}-anchor`,children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:`${s}-lang`,\"aria-haspopup\":\"listbox\",\"aria-expanded\":open===\"lang\",\"aria-label\":`${t.language}: ${current.name}`,onClick:()=>toggle(\"lang\"),style:{color:c.muted},children:[/*#__PURE__*/_jsx(\"span\",{className:`${s}-flag`,\"aria-hidden\":\"true\",children:current.flag}),/*#__PURE__*/_jsx(\"span\",{className:`${s}-langlabel`,children:current.short}),/*#__PURE__*/_jsx(\"span\",{className:`${s}-chev`,children:/*#__PURE__*/_jsx(Chevron,{open:open===\"lang\",color:c.muted})})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:open===\"lang\"?/*#__PURE__*/_jsxs(motion.div,{role:\"listbox\",\"aria-label\":t.language,initial:panelMotion.initial,animate:panelMotion.animate,exit:panelMotion.exit,transition:SPRING,className:`${s}-panel`,style:{...panelBase,width:256,padding:6},children:[/*#__PURE__*/_jsx(\"p\",{style:{margin:0,padding:\"8px 12px 6px\",fontSize:12,fontWeight:600,letterSpacing:\"0.02em\",color:c.muted},children:t.language}),/*#__PURE__*/_jsx(motion.div,{variants:listMotion,initial:\"hidden\",animate:\"shown\",children:(options.length?options:[{...current,locale:null}]).map(o=>{const selected=o.lang===lang;return /*#__PURE__*/_jsxs(motion.button,{type:\"button\",role:\"option\",\"aria-selected\":selected,variants:itemMotion,className:`${s}-opt`,onClick:()=>selected?toggle(\"lang\"):chooseLocale(o.locale),style:{color:c.text,fontWeight:selected?600:400},children:[/*#__PURE__*/_jsx(\"span\",{className:`${s}-flag`,\"aria-hidden\":\"true\",children:o.flag}),/*#__PURE__*/_jsx(\"span\",{style:{flex:1},children:o.name}),selected?/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 7.4L5.8 10.2L11 4.4\",stroke:accentColor,strokeWidth:\"1.9\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})}):null]},o.lang);})})]},\"lang\"):null})]}):null,/*#__PURE__*/_jsxs(\"div\",{className:`${s}-anchor`,children:[/*#__PURE__*/_jsxs(motion.a,{className:`${s}-cta`,href:storeUrl,target:\"_blank\",rel:\"noopener noreferrer\",onClick:onDownload,\"aria-haspopup\":popover?\"dialog\":undefined,\"aria-expanded\":popover?open===\"download\":undefined,whileTap:{scale:.96},style:{backgroundColor:c.buttonBg,color:c.buttonText},children:[cta,popover?/*#__PURE__*/_jsx(\"span\",{className:`${s}-chev`,children:/*#__PURE__*/_jsx(Chevron,{open:open===\"download\",color:c.buttonText})}):null]}),/*#__PURE__*/_jsx(AnimatePresence,{children:open===\"download\"?/*#__PURE__*/_jsxs(motion.div,{role:\"dialog\",\"aria-label\":cta,initial:panelMotion.initial,animate:panelMotion.animate,exit:panelMotion.exit,transition:SPRING,className:`${s}-panel`,style:{...panelBase,width:300,padding:18,overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,background:`radial-gradient(120% 60% at 50% -10%, color-mix(in srgb, ${accentColor} 26%, transparent), transparent 62%)`,pointerEvents:\"none\"}}),/*#__PURE__*/_jsxs(motion.div,{variants:listMotion,initial:\"hidden\",animate:\"shown\",style:{position:\"relative\",display:\"flex\",flexDirection:\"column\",gap:16},children:[/*#__PURE__*/_jsxs(motion.div,{variants:itemMotion,style:{display:\"flex\",alignItems:\"center\",gap:12},children:[/*#__PURE__*/_jsx(\"img\",{src:icon.src,srcSet:icon.srcSet,alt:\"\",style:{width:46,height:46,borderRadius:11,display:\"block\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:16,fontWeight:700,letterSpacing:\"-0.02em\"},children:appName}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"3px 0 0 0\",fontSize:13,color:c.muted,letterSpacing:\"-0.01em\"},children:t.free})]})]}),/*#__PURE__*/_jsxs(motion.div,{variants:itemMotion,style:{display:\"flex\",alignItems:\"center\",gap:14},children:[/*#__PURE__*/_jsxs(motion.div,{initial:{clipPath:\"circle(0% at 50% 50%)\"},animate:{clipPath:\"circle(75% at 50% 50%)\"},transition:{duration:.55,ease:[.2,.8,.2,1],delay:.08},style:{position:\"relative\",flexShrink:0,width:112,height:112,padding:8,boxSizing:\"border-box\",borderRadius:14,background:\"#FFFFFF\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"svg\",{viewBox:`0 0 ${QR_SIZE} ${QR_SIZE}`,width:\"100%\",height:\"100%\",shapeRendering:\"crispEdges\",role:\"img\",\"aria-label\":\"QR code: Needl on the App Store\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:qr,fill:\"#000000\"})}),/*#__PURE__*/_jsx(motion.span,{\"aria-hidden\":\"true\",initial:{top:\"0%\",opacity:0},animate:{top:[\"0%\",\"100%\"],opacity:[0,1,1,0]},transition:{duration:1.1,delay:.45,ease:\"easeInOut\"},style:{position:\"absolute\",left:0,right:0,height:2,background:accentColor,boxShadow:`0 0 12px 3px color-mix(in srgb, ${accentColor} 60%, transparent)`}})]}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:13.5,lineHeight:1.45,color:c.muted,letterSpacing:\"-0.01em\"},children:t.scan})]}),/*#__PURE__*/_jsxs(motion.a,{variants:itemMotion,href:storeUrl,target:\"_blank\",rel:\"noopener noreferrer\",className:`${s}-store`,style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,height:44,borderRadius:999,textDecoration:\"none\",fontSize:14.5,fontWeight:600,letterSpacing:\"-0.01em\",color:\"#FFFFFF\",background:accentColor,boxShadow:`0 10px 26px -10px ${accentColor}`,transition:\"filter 150ms ease, transform 150ms ease\"},children:[/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"17\",viewBox:\"0 0 14 17\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{fill:\"#FFFFFF\",d:\"M11.6 9c0-2 1.6-2.9 1.7-3a3.7 3.7 0 0 0-2.9-1.6c-1.2-.1-2.4.7-3 .7-.6 0-1.6-.7-2.6-.7A3.9 3.9 0 0 0 1.5 6.4c-1.4 2.4-.4 6 1 8 .7 1 1.5 2 2.5 2s1.4-.6 2.6-.6 1.5.6 2.6.6 1.8-1 2.4-2a8.6 8.6 0 0 0 1.1-2.3A3.4 3.4 0 0 1 11.6 9ZM9.6 3.1A3.4 3.4 0 0 0 10.4.6a3.5 3.5 0 0 0-2.3 1.2 3.3 3.3 0 0 0-.8 2.4 2.9 2.9 0 0 0 2.3-1.1Z\"})}),t.view]}),/*#__PURE__*/_jsx(motion.p,{variants:itemMotion,style:{margin:0,textAlign:\"center\",fontSize:12,color:c.muted,letterSpacing:\"-0.005em\"},children:t.devices})]})]},\"download\"):null})]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:`${s}-burger`,onClick:()=>startTransition(()=>{setOpen(null);setMenuOpen(!menuOpen);}),\"aria-label\":t.menu,\"aria-expanded\":menuOpen,children:/*#__PURE__*/_jsx(\"svg\",{width:\"22\",height:\"22\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:c.text,strokeWidth:\"1.8\",strokeLinecap:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:menuOpen?\"M6 6l12 12M6 18L18 6\":\"M4 8h16M4 16h16\"})})})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:menuOpen?/*#__PURE__*/_jsx(motion.div,{className:`${s}-sheet`,// No height: \"auto\" here. Measuring it makes framer-motion\n// restore the page's scroll position mid-animation, which\n// cancels the glide to a section when a row is tapped.\ninitial:{opacity:0,y:-8,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-6,scale:.98,transition:{duration:.16}},transition:SPRING,style:{background:c.panel,borderColor:c.border,boxShadow:c.shadow,transformOrigin:\"top center\",[\"--nav-max\"]:`${maxWidth}px`},children:/*#__PURE__*/_jsxs(\"div\",{className:`${s}-sheetscroll`,onClickCapture:closeMenus,children:[showFeatures?/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"4px 0 6px\"},children:[/*#__PURE__*/_jsx(\"p\",{className:`${s}-slabel`,style:{color:c.muted},children:f.label}),FEATURES.filter(item=>item.key!==\"assistants\"||assistants!==\"hidden\").map(item=>/*#__PURE__*/_jsx(Link,{href:item.key===\"assistants\"?pageLink(\"/assistants\"):pageLink(\"/\",item.section),openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsxs(\"a\",{className:`${s}-srow`,style:{color:c.text},children:[item.key===\"streaming\"?/*#__PURE__*/_jsx(StreamingLogos,{light:theme===\"light\"}):item.key===\"assistants\"?/*#__PURE__*/_jsx(AssistantMarks,{size:22,gap:4}):/*#__PURE__*/_jsx(\"span\",{className:`${s}-tile`,style:{background:item.tile},children:/*#__PURE__*/_jsx(FeatureGlyph,{name:item.key,size:16})}),f[item.key].title,item.key===\"assistants\"&&assistants===\"soon\"?/*#__PURE__*/_jsx(\"span\",{className:`${s}-soon`,style:{background:c.chip,color:c.muted},children:f.soon}):null,item.key===\"assistants\"&&assistants===\"early\"?/*#__PURE__*/_jsx(\"span\",{className:`${s}-soon`,style:{background:c.chip,color:c.muted},children:f.early}):null]})},`sheet-${item.key}`)),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{height:1,margin:\"8px 18px 0\",background:c.border}})]}):null,/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"2px 0 6px\"},children:[links.map((link,i)=>/*#__PURE__*/_jsx(Link,{href:pageLink(link.path),openInNewTab:false,children:/*#__PURE__*/_jsx(\"a\",{style:{color:c.text},children:link.label})},`sheet-${link.path}-${i}`)),ideasUrl?/*#__PURE__*/_jsxs(\"a\",{className:`${s}-ext`,href:ideasUrl,target:\"_blank\",rel:\"noopener noreferrer\",style:{color:c.text},children:[t.ideas,/*#__PURE__*/_jsx(ExternalArrow,{color:c.muted})]}):null,storesHref?/*#__PURE__*/_jsx(Link,{href:pageLink(storesHref),openInNewTab:false,children:/*#__PURE__*/_jsx(\"a\",{style:{color:c.text},children:t.stores})}):null]})]})},\"sheet\"):null})]})]});}addPropertyControls(Navigation,{theme:{type:ControlType.Enum,title:\"Theme\",options:[\"dark\",\"light\"],optionTitles:[\"Dark\",\"Light\"],defaultValue:\"dark\",displaySegmentedControl:true},appName:{type:ControlType.String,title:\"Name\",defaultValue:\"Needl\",preventLocalization:true},brandHref:{type:ControlType.String,title:\"Brand URL\",defaultValue:\"/\"},showIcon:{type:ControlType.Boolean,title:\"Show icon\",defaultValue:true},appIcon:{type:ControlType.ResponsiveImage,title:\"Icon\",hidden:p=>!p.showIcon},navLinks:{type:ControlType.Array,title:\"Links\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Pricing\"},href:{type:ControlType.String,title:\"Href\",defaultValue:\"/pricing\"}}},defaultValue:NAV_LINKS,description:\"Pricing and Help Center labels are translated automatically.\"},showFeatures:{type:ControlType.Boolean,title:\"Features\",defaultValue:true,description:\"Popover linking to the homepage sections: Live Lyrics, Visualizers, Ask AI, Siri, Apple Music / Spotify / TIDAL, AI assistants.\"},assistants:{type:ControlType.Enum,title:\"AI assistants\",options:[\"soon\",\"early\",\"live\",\"hidden\"],optionTitles:[\"Coming soon\",\"Early access\",\"Available\",\"Hidden\"],defaultValue:\"early\",description:\"The AI assistants card in Features. Switch to Available once a directory listing is live.\",hidden:p=>!p.showFeatures},ideasUrl:{type:ControlType.String,title:\"Ideas link\",defaultValue:\"https://needl.featurebase.app\",description:\"“Ideas” after Help Center (feature requests). Leave empty to hide.\"},storesHref:{type:ControlType.String,title:\"Record Stores\",defaultValue:\"/partners\",description:\"Link for record stores. Leave empty to hide it.\"},pinned:{type:ControlType.Boolean,title:\"Pin to top\",defaultValue:true,description:\"Keeps the bar on screen while scrolling (live site only).\"},ctaLabel:{type:ControlType.String,title:\"CTA\",defaultValue:\"Download\"},appStoreUrl:{type:ControlType.String,title:\"CTA URL\",defaultValue:\"https://apps.apple.com/app/id6754252048\"},showLanguages:{type:ControlType.Boolean,title:\"Languages\",defaultValue:true,description:\"Lists the locales from Site Settings → Localization.\"},accentColor:{type:ControlType.Color,title:\"Accent\",defaultValue:\"rgb(10, 132, 255)\"},maxWidth:{type:ControlType.Number,title:\"Max width\",defaultValue:1120,min:600,max:1600,step:10,unit:\"px\"},cornerRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:18,min:0,max:40,step:1},glassBlur:{type:ControlType.Number,title:\"Blur\",defaultValue:20,min:0,max:40,step:1},scrollThreshold:{type:ControlType.Number,title:\"Threshold\",defaultValue:24,min:0,max:200,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Navigation\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1200\",\"framerIntrinsicHeight\":\"84\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Navigation_1.map","// Generated by Framer (b4b3e20)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Navigation from\"#framer/local/codeFile/sYHo9Zz/Navigation_1.js\";const NavigationFonts=getFonts(Navigation);const breakpoints={L6JqlLQVw:\"(min-width: 810px) and (max-width: 1199.98px)\",LP52vYzGJ:\"(max-width: 809.98px)\",rZDp9rm_h:\"(min-width: 1200px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-S3Y1n\";const variantClassNames={L6JqlLQVw:\"framer-v-13fm0rz\",LP52vYzGJ:\"framer-v-1di8j1o\",rZDp9rm_h:\"framer-v-13ashcj\"};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\".framer-S3Y1n.framer-1gqyjzx, .framer-S3Y1n .framer-1gqyjzx { display: block; }\",\".framer-S3Y1n.framer-13ashcj { align-content: center; align-items: center; background-color: var(--token-b5fc148a-d70a-4535-bc4b-827d650cb8c6); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-S3Y1n .framer-3pqblq-container { flex: none; height: auto; position: relative; width: 100%; }\",\".framer-S3Y1n .framer-7kmwkd { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={L6JqlLQVw:\"(min-width: 810px) and (max-width: 1199.98px)\",LP52vYzGJ:\"(max-width: 809.98px)\",rZDp9rm_h:\"(min-width: 1200px)\"};const humanReadableVariantMap={Desktop:\"rZDp9rm_h\",Phone:\"LP52vYzGJ\",Tablet:\"L6JqlLQVw\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"rZDp9rm_h\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"rZDp9rm_h\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-b5fc148a-d70a-4535-bc4b-827d650cb8c6); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-13ashcj\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-3pqblq-container\",\"data-code-component-plugin-id\":\"mcp001\",isAuthoredByUser:true,nodeId:\"dMtyNPsfj\",scopeId:\"L1JZKYXFv\",children:/*#__PURE__*/_jsx(Navigation,{accentColor:\"rgb(10, 132, 255)\",appName:\"Needl\",appStoreUrl:\"https://apps.apple.com/us/app/needl-vinyl/id6754252048\",brandHref:\"/\",cornerRadius:18,ctaLabel:\"Download\",glassBlur:20,height:\"100%\",id:\"dMtyNPsfj\",ideasUrl:\"https://needl.featurebase.app\",layoutId:\"dMtyNPsfj\",maxWidth:1120,navLinks:[{href:\"/pricing\",id:\"default-item-0\",label:\"Pricing\"},{href:\"/support\",id:\"default-item-1\",label:\"Help Center\"}],pinned:true,scrollThreshold:24,showFeatures:true,showIcon:true,showLanguages:true,style:{width:\"100%\"},theme:\"dark\",width:\"100%\"})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-7kmwkd\"})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1050\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"L6JqlLQVw\":{\"layout\":[\"fixed\",\"fixed\"]},\"LP52vYzGJ\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"rZDp9rm_h\":[\".framer-3pqblq-container\"],\"L6JqlLQVw\":[\".framer-3pqblq-container\"],\"LP52vYzGJ\":[\".framer-3pqblq-container\"]}\n * @framerBreakpoints {\"rZDp9rm_h\":{\"min\":1200,\"canvasClassName\":\"framer-13ashcj-override\",\"minHeight\":1050,\"viewportHeight\":800,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"L6JqlLQVw\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-13fm0rz-override\",\"minHeight\":1080,\"viewportHeight\":800,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"LP52vYzGJ\":{\"max\":809,\"canvasClassName\":\"framer-1di8j1o-override\",\"minHeight\":1520,\"viewportHeight\":800,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant rZDp9rm_h\n * @framerLayoutTemplate true\n */const FramerL1JZKYXFv=withCSS(Component,css,\"framer-S3Y1n\");export default FramerL1JZKYXFv;FramerL1JZKYXFv.displayName=\"Main Layout\";FramerL1JZKYXFv.defaultProps={height:1050,width:1200};addFonts(FramerL1JZKYXFv,[{explicitInter:true,fonts:[]},...NavigationFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerL1JZKYXFv\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"L6JqlLQVw\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"LP52vYzGJ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"1050\",\"framerHitTargets\":\"{\\\"rZDp9rm_h\\\":[\\\".framer-3pqblq-container\\\"],\\\"L6JqlLQVw\\\":[\\\".framer-3pqblq-container\\\"],\\\"LP52vYzGJ\\\":[\\\".framer-3pqblq-container\\\"]}\",\"framerAutoSizeImages\":\"true\",\"framerLayoutTemplate\":\"true\",\"framerBreakpoints\":\"{\\\"rZDp9rm_h\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-13ashcj-override\\\",\\\"minHeight\\\":1050,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"L6JqlLQVw\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-13fm0rz-override\\\",\\\"minHeight\\\":1080,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"LP52vYzGJ\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-1di8j1o-override\\\",\\\"minHeight\\\":1520,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerDefaultVariant\":\"rZDp9rm_h\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport MainLayout from \"https://framerusercontent.com/modules/yNGZXd3n49IUM1JNuPd0/pbSgT347ctZ6BEcDjDFe/L1JZKYXFv.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {O6kz0lDpx: \"features\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/nIVMUUaEV0oFBsEhrcqQ/F0icpnYtv13zseffdrsX/augiA20Il.js\")), path: \"/\"}, FFL5J4lzd: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/R2jccaBsSpvtnbUnns4V/escwgjRu79wMR9JwzM2T/FFL5J4lzd.js\")), path: \"/privacy\"}, sA9ogTYq0: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/OGZJUCkHA5FDRN1rZ1MY/aQp93g3m4o3r4tMbQxt0/sA9ogTYq0.js\")), path: \"/support\"}, s3MpouOUu: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/t1CFSz1hbcQkcFxBbAyP/V9i7xmp1zN3rLcDLIykg/s3MpouOUu.js\")), path: \"/pricing\"}, yFD7EkcoJ: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/E2GSXzoamO5kJMAqhKW5/soBTWsBRN2maFYQMFLoJ/yFD7EkcoJ.js\")), path: \"/404\"}, i8htaUG6e: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/jfLd9NmZbW2UxVL57GdP/JM3IQYJ29bAChcYevNmE/i8htaUG6e.js\")), path: \"/terms\"}, S6P92Vi7p: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/XM5NWOKg3hVdRFXBGqKP/TDJEVpx2p0W3OsqvSY6F/S6P92Vi7p.js\")), path: \"/assistants\"}, aI_RuKjxH: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/pVk4gXpcGqzGvTuaOES1/HHphZ58iaXF513k6L80S/aI_RuKjxH.js\")), path: \"/partners\"}}\r\n\r\n\t\tconst locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {}\r\n\t\tconst serverDatabaseClient = undefined\r\n\t\tconst framerSiteId = \"cbf078dd5fd5c20caf55650f33dc9eb5cb1e9de313a0483c6be3bccd64572b9c\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"FFL5J4lzd\":\r\ncase \"sA9ogTYq0\":\r\ncase \"s3MpouOUu\":\r\ncase \"yFD7EkcoJ\":\r\ncase \"i8htaUG6e\":\r\ncase \"S6P92Vi7p\":\r\ncase \"aI_RuKjxH\":\r\nreturn React.createElement(MainLayout, {...props, key: \"MainLayout\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"FFL5J4lzd\":\r\ncase \"sA9ogTYq0\":\r\ncase \"s3MpouOUu\":\r\ncase \"yFD7EkcoJ\":\r\ncase \"i8htaUG6e\":\r\ncase \"S6P92Vi7p\":\r\ncase \"aI_RuKjxH\":\r\nreturn [{hash: \"1di8j1o\", mediaQuery: \"(max-width: 809.98px)\"}, {hash: \"13fm0rz\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"13ashcj\", mediaQuery: \"(min-width: 1200px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\t\r\n\t\t\r\n\r\n\t\texport async function getPageRoot({\r\n\t\t\trouteId,\r\n\t\t\tpathVariables,\r\n\t\t\tcanonicalPathVariables,\r\n\t\t\tlocaleId,\r\n\t\t\tcollectionItemId,\r\n\t\t\tcontentLocaleId,\r\n\t\t\tshouldResolveInitialRouteContentState = false,\r\n\t\t}) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\t\r\n\r\n\t\t\tFramer.setLibraryFeatures({checkServerSideRouter: true, disableCustomCode: false, disableHoverOnMobile: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, onPageRichTextBlockSelection: true, scrollRestoration: true, synchronousNavigationOnDesktop: false, yieldOnTap: false})\r\n\t\t\tFramer.setCurrentSiteId(framerSiteId)\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tserverDatabaseClient,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"https://framerusercontent.com/modules/E2GSXzoamO5kJMAqhKW5/soBTWsBRN2maFYQMFLoJ/yFD7EkcoJ.js\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://needlvinyl.app\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: false,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/pG3RYDTmBu6GCDtEQyzq/GQRhfsCfgLhI7lCBz80t/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t\tinitialContentLocaleIdOverride: contentLocaleId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: content\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\t\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\t// Note: HTTPArchive also uses this function to detect Framer sites; see https://github.com/HTTPArchive/wappalyzer/blob/371a17583f74fd9171b9077f59a5619b24062891/src/technologies/f.json#L1722-L1748.\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, contentLocaleId, pathVariables, canonicalPathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tcontentLocaleId = routeData.contentLocaleId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tcanonicalPathVariables = routeData.canonicalPathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tconst serverRoute = performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tcontentLocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\tcollectionItemId: shouldHydrate ? routeData?.collectionItemId : undefined,\r\n\t\t\t\t\tshouldResolveInitialRouteContentState: !shouldHydrate,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\t\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\tconst utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\tconst [slug] = Object.values(pathVariables)\r\n\t\t\tif (utils && typeof slug === \"string\") {\r\n\t\t\t\tcollectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tFramer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"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"}