{"version":3,"file":"AndroidLegal.DYFGg4zc.mjs","names":[],"sources":["https:/framerusercontent.com/modules/mDeqot3bJHpUz9XP18eH/6j4zctKUfMYwqdrxWDwo/AndroidLegal.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";const documents={privacy:'<main class=\"legal-page\"><div class=\"legal-shell\"><header class=\"legal-header\"><a class=\"legal-brand\" href=\"/\">Trainify</a><nav class=\"legal-nav\" aria-label=\"Android legal pages\"><a href=\"https://www.trainifylabs.ai/legal/android/privacy\">Privacy</a><a href=\"https://www.trainifylabs.ai/legal/android/terms\">Terms</a><a href=\"https://www.trainifylabs.ai/legal/android/delete-account\">Delete account</a></nav></header><article class=\"legal-card\"><div class=\"legal-title\"><p class=\"legal-eyebrow\">Trainify for Android</p><p>Effective date: October 2, 2026</p><h1>Privacy Policy</h1><p class=\"legal-summary\">How Trainify Labs Inc collects, uses, shares, and protects information in the Trainify Android app.</p></div><div class=\"legal-content\"><section><h2>About this policy</h2><p>This policy describes the Trainify Android app, listed on Google Play as Trainify AI, and its related services. Trainify Labs Inc (“Trainify,” “we,” “us”) is located at 1098 Foster City Blvd STE 106 #888, Foster City, CA 94404. Trainify’s iOS app has its own privacy policy.</p></section><section><h2>Information we collect</h2><h3>Account and profile</h3><p>Trainify creates an anonymous account when you begin using the app. If you use Google or Apple sign-in, that account is linked to the identity you authorize. We receive the account identifier, email address, and profile details shared by that provider. Google may provide your name and profile photo; Apple may provide a private relay email address. Depending on the details you provide, we collect an account identifier, email address, name, username, display name, avatar, biography, date of birth, optional height and weight, basketball level and position, training goals and schedule, reminder settings, language, team or playing situation, referral source, and onboarding answers. Injury-related training selections, date of birth, height, and weight may be sensitive information.</p><h3>Workout and coaching data</h3><p>We collect saved workout sessions, start and end times, duration, drill or phase data, shot attempts and outcomes, shot locations, workout plans, focus areas, effort, feedback, achievements, ratings, streaks, and shooting-form measurements derived on your device when that feature is available and enabled. Workout data also includes coaching prompts and responses, and optional workout photos. The app also keeps a local cache so supported features can recover after interruption or work offline.</p><h3>Subscriptions and technical data</h3><p>We receive subscription status, entitlement, product, trial, and expiration information. Google Play processes payment and does not give Trainify your full payment-card details. Our services and service providers may process device model, operating-system and app version, language, time zone, account and request identifiers, IP address, request timing, and error information needed to operate, secure, and troubleshoot the service.</p></section><section><h2>Camera, recordings, and photos</h2><h3>Shot detection runs on your device</h3><p>The camera is used during workouts to detect the ball and rim and classify shots. Camera frames used for this analysis are processed on your device and are not uploaded. Trainify stores the resulting shot measurements when you save your workout. When shooting-form feedback is available and enabled in your build, body-pose analysis also produces on-device form measurements that may be saved with your workout and used for coaching. Live body-pose analysis is not enabled in the current standard Android build. Body-pose analysis is not used to identify you. Model improvement from workout recordings requires the separate cloud video consent described below.</p><h3>Workout recordings are your choice</h3><p>If recording is enabled, a video of the workout is stored in Trainify’s private app storage on your phone. You can turn recording off. You may export a full recording or a highlight using Android’s share controls; the destination app then handles the copy under its own privacy terms.</p><p>Cloud backup and model improvement are available only to subscribers 18 and older. The app does not offer them if you are under 18 or your age is not known. A recording is uploaded only after you accept a separate consent in the app. That single consent covers both private cloud storage and Trainify’s use of a pseudonymized copy to improve its shot-detection and coaching models, and people on Trainify’s team may review consented recordings to improve shot detection. Declining keeps the recording local.</p><p>You can withdraw this consent in Settings to stop future uploads and request deletion of cloud copies. When you withdraw it or delete your account, we stop using your recordings to improve our models and delete the copies and labels made from them for that purpose within 90 days.</p><h3>Workout photos</h3><p>If you choose a workout or profile photo, the selected image is copied or uploaded for the feature you requested. An uploaded workout photo is stored at a link that is not listed anywhere, but anyone who has the exact link can view it, so do not attach a photo you would not want seen outside the app.</p></section><section><h2>AI coaching and speech</h2><p>Trainify’s server sends coaching prompts to Google’s Gemini service. Live coaching uses numeric workout context, shot counts, prior tips, and language. Summary and question features may also use the profile and progress context shown to you in the app. The app’s service contract does not send your email address or account identifier inside the coaching prompt.</p><p>When the app plays generated coach speech during training, Trainify’s server sends a short coaching text and language to ElevenLabs and returns synthesized audio. Bundled coaching clips play on your device without that request.</p><h3>Reporting an AI reply</h3><p>Reporting is optional. When you select an AI reply, choose a reason, and confirm Send, Trainify sends that reply, the reason, the feature where it appeared, and your Trainify account identifier to its Supabase reporting database. The server adds receipt and deletion timestamps. A report does not include your original prompt, the rest of your conversation, microphone audio, photos, video, or separate workout measurements. Any information already written in the selected reply is part of that reply.</p><p>Authorized Trainify staff can review reports through controlled server access to investigate unsafe, offensive, or incorrect output and improve coaching safety. Other app users cannot read your report. Reports are deleted from the reporting database within 30 days of receipt, or when your account is deleted, whichever comes first. Report text is not sent to analytics or crash-reporting services.</p><h3>Onboarding coach voice</h3><p>During onboarding and in the first-session offer that follows it, a few coach lines are spoken in a synthesized voice. For each line, the app sends Trainify’s onboarding-speech service the line to speak, your language, and, only where that line uses them, your first name, the number of workouts per week you chose, and the identifier of a workout from Trainify’s library. The welcome greeting is spoken before we ask your date of birth, so it can include the first name you just entered. The later lines omit your name when you are under 18 or your age is not yet known.</p><p>These requests do not include your account identifier, email address, date of birth, or body measurements. Each request includes a random installation identifier that the app creates once per installation. Our server builds the spoken text from fixed Trainify lines (it does not speak arbitrary text), sends that text to ElevenLabs to synthesize the audio, and returns the audio, which the app may keep in its private storage so the line can replay. If the service is unavailable, your device’s own text-to-speech is used instead.</p><p>To prevent abuse, our server limits each installation to 20 of these requests per day and each network to 120 per hour, using your IP address to identify the network. It counts requests against keyed one-way hashes of the installation identifier and network address. Trainify’s onboarding-speech service does not store or log the spoken text, your name, the installation identifier, or your IP address. Our hosting provider’s request logs and ElevenLabs’ own records are separate systems governed by their terms.</p><h3>Optional Hey Coach microphone</h3><p>If you grant microphone permission and enable Hey Coach for a workout, Android’s speech recognition service listens for the wake phrase and your question. Depending on the recognition service selected on your device, audio may be processed on the device or sent to that service’s provider. Trainify receives the resulting text and does not record or store the raw microphone audio. The recognition provider’s processing and retention are governed by its own terms and may vary by device. The resulting question text can be sent through Trainify’s server to Gemini to answer you.</p></section><section><h2>Finding friends from contacts</h2><p>Finding friends from your contacts is optional and asks for Android’s contacts permission. This feature is not available in the current standard Android build, which does not request contacts permission. When the feature is available and enabled, the app computes one-way SHA-256 hashes of the phone numbers and email addresses in your address book on your device and sends only those hashes to Trainify, where they are matched against Trainify users who can be found this way. Your contacts’ names and raw details do not leave your phone.</p></section><section><h2>Heart rate and Health Connect</h2><p>Trainify has a heart-rate feature in development that can connect a Bluetooth heart-rate monitor and read or write workouts and heart rate through Health Connect. This feature is not currently available in the standard Android build, which does not request Bluetooth or Health Connect permissions. We will update this policy before the feature is turned on.</p></section><section><h2>Analytics, diagnostics, and advertising measurement</h2><h3>Product analytics</h3><p>We use PostHog to understand how the app is used and how it performs. PostHog receives your Trainify account identifier; your email address and name when available from your signed-in account; onboarding answers such as your level, goals, and playing situation; screen views and app open and close events; feature and purchase events; and error events. It also receives workout performance telemetry such as the device’s thermal state, camera processing load, frame counts, and workout duration, which we use to find and fix overheating and slowdowns. Session replay is turned off in the Android app. Before events are sent, the app removes passwords, tokens, keys, and speech transcripts from event properties.</p><p>In the Android app, PostHog may infer approximate location, such as city or country, from your IP address when evaluating feature flags that control app behavior. We disable GeoIP enrichment for analytics events; this does not disable IP-based location processing for feature flags.</p><h3>Crash and error reporting</h3><p>Sentry receives selected crash, error, app-not-responding, performance, device, operating-system, app-version, and Trainify account-identifier data when diagnostics is configured on an eligible physical-device build. Trainify turns this off in test and emulator environments. Screenshots, view hierarchies, session replay, email address, IP address, and network request data are turned off in Trainify’s Sentry configuration.</p><h3>Advertising measurement</h3><p>When configured in the released app, the Meta (Facebook) SDK logs app install and activation events and a registration-completed event so we can measure whether our ads lead to installs. There is no Facebook login. The SDK’s anonymous app identifier is passed to RevenueCat so subscription starts and renewals can be attributed to ad campaigns. These SDKs may collect device identifiers, which can include your device’s advertising ID where your Android settings allow it. You can delete or reset your advertising ID in Android settings. This measurement may count as “sharing” under California law; you can opt out by emailing us.</p></section><section><h2>Why we use information</h2><ul><li>Provide accounts, workouts, progress, coaching, subscriptions, and requested sharing.</li><li>Authenticate users, synchronize data, recover interrupted operations, and prevent stale accounts from accessing another user’s data.</li><li>Operate, secure, debug, and improve Trainify, including its speed and battery use.</li><li>Measure our own advertising, as described above.</li><li>Improve detection and coaching models only under the separate video consent described above.</li><li>Meet legal obligations, enforce our terms, and respond to valid legal requests.</li></ul></section><section><h2>Service providers</h2><ul><li><strong>Supabase</strong> provides authentication, the database, Trainify’s server functions (including coaching, speech, and onboarding speech), and file storage.</li><li><strong>Cloudflare</strong> provides private object storage for workout recordings you consent to back up and network delivery for requests to Trainify’s server functions.</li><li><strong>Google</strong> provides Google sign-in, Google Play billing, and Gemini model inference.</li><li><strong>Apple</strong> provides Sign in with Apple when you choose that account option.</li><li><strong>RevenueCat</strong> manages subscription status and entitlements. It receives your Trainify account identifier, Google Play purchase information, your email address and display name when available, your PostHog identifier, the Meta anonymous app identifier, and device identifiers its SDK collects.</li><li><strong>ElevenLabs</strong> synthesizes coach speech from short text supplied through Trainify’s server, including the onboarding lines described above.</li><li><strong>PostHog</strong> provides product analytics, as described above.</li><li><strong>Sentry</strong> provides crash and error reporting, as described above.</li><li><strong>Meta Platforms</strong> provides advertising measurement, as described above.</li><li><strong>Your Android speech-recognition provider</strong> processes microphone audio when you grant permission and use Hey Coach. The provider depends on the recognition service installed and selected on your device.</li></ul><p>We do not sell personal information or disclose it to data brokers.</p></section><section><h2>Storage, retention, and security</h2><p>Account, profile, workout, achievement, rating, and plan data is kept while your account is active. After you delete your account, account data is removed from active systems promptly and no later than 30 days, and from backups as they roll off, no later than 90 days. Cloud recordings are kept until you delete your account or request their deletion. Local recordings stay on your device under your control. Billing records may be retained as required by tax, accounting, and consumer-protection laws, typically for up to seven years, and resolved support correspondence for up to 24 months.</p><p>We keep other information only as long as needed for the purpose described in this policy, then delete it within 90 days of that purpose ending. This includes consent records, server logs, crash reports, analytics events, onboarding-speech rate-limit counters, and labels and model-training copies made from consented recordings.</p><p>We use HTTPS, authenticated requests, access controls, encrypted Android credential storage, and owner checks around background work. No system is completely secure.</p></section><section><h2>Your choices and rights</h2><p>You can change optional profile information, recording and reminder settings, cellular upload preferences, and cloud-video consent in the app. You may ask to access, correct, export, or delete personal information, or to opt out of advertising measurement. Applicable law may provide additional rights, including objection, restriction, portability, withdrawal of consent, and appeal or complaint rights. To make a request, email <a href=\"mailto:support@trainifylabs.ai\">support@trainifylabs.ai</a>. We verify that you control the account before acting on it.</p><div class=\"legal-callout\"><strong>Delete your account</strong><p>In the Android app, open Profile → Settings and choose Delete Account. You can also request deletion by email, including if you no longer have the app; the account deletion page explains how.</p><a href=\"https://www.trainifylabs.ai/legal/android/delete-account\">Open the account deletion page</a></div></section><section><h2>Children</h2><p>Trainify is not directed to children under 13 and does not permit an account for a child under 13. A user between 13 and the age of majority where they live may use Trainify only with a parent or legal guardian’s involvement. Cloud video backup and model improvement are not offered to users under 18.</p></section><section><h2>Where Trainify is offered</h2><p>The Trainify Android app is intended for users in the United States. Trainify is based in the United States. Information may be processed in the United States and other places where our service providers operate. Where required, we use appropriate legal safeguards for international transfers.</p></section><section><h2>Changes</h2><p>We will post changes to this policy with a new effective date and give additional notice when the law requires it.</p></section><section><h2>Contact us</h2><p>Email <a href=\"mailto:support@trainifylabs.ai\">support@trainifylabs.ai</a>, or write to Trainify Labs Inc, 1098 Foster City Blvd STE 106 #888, Foster City, CA 94404.</p></section></div></article></div></main>',terms:'<main class=\"legal-page\"><div class=\"legal-shell\"><header class=\"legal-header\"><a class=\"legal-brand\" href=\"/\">Trainify</a><nav class=\"legal-nav\" aria-label=\"Android legal pages\"><a href=\"https://www.trainifylabs.ai/legal/android/privacy\">Privacy</a><a href=\"https://www.trainifylabs.ai/legal/android/terms\">Terms</a><a href=\"https://www.trainifylabs.ai/legal/android/delete-account\">Delete account</a></nav></header><article class=\"legal-card\"><div class=\"legal-title\"><p class=\"legal-eyebrow\">Trainify for Android</p><p>Effective date: September 29, 2026</p><h1>Terms of Use</h1><p class=\"legal-summary\">Terms for using the Trainify Android app and related services. These are separate from Apple’s standard EULA.</p></div><div class=\"legal-content\"><section><h2>Agreement</h2><p>These Terms of Use are an agreement between you and Trainify Labs Inc (“Trainify”) for the Trainify Android app and related services. By creating an account, signing in, or using the service after these terms are presented, you agree to them. The  <a href=\"https://www.trainifylabs.ai/legal/android/privacy\">Android Privacy Policy</a> explains how we handle your information.</p></section><section><h2>Who may use Trainify</h2><p>You must be at least 13. If you are under the age of majority where you live, a parent or legal guardian must be involved in your use and agree to these terms where required. You must provide accurate information and may not use another person’s identity or account. The Trainify Android app is intended for users in the United States. Cloud video backup and model improvement are available only to users 18 and older.</p></section><section><h2>Your account</h2><p>The app may create an anonymous account before you use Google or Apple sign-in. You are responsible for access to your device and the sign-in account you use. Tell us promptly if you believe your Trainify account has been used without permission. Features that depend on an account, network service, or active subscription may be unavailable while those services are interrupted.</p></section><section><h2>Subscriptions and Google Play</h2><p>Subscription products, price, billing period, trial eligibility, and renewal terms are shown in the app and in Google Play before purchase. Purchases are processed through Google Play and subscription access is managed through RevenueCat. A subscription renews according to the terms shown by Google Play unless you cancel it through Google Play. Removing the app does not cancel a subscription.</p><p>You can manage or cancel through Google Play’s subscription settings. Cancellation takes effect under the billing terms Google Play shows for your purchase. Refund eligibility is handled under Google Play’s rules and applicable law. Trainify does not receive your full payment-card details.</p><a href=\"https://play.google.com/store/account/subscriptions\" rel=\"noreferrer\" class=\"legal-action\">Manage Google Play subscriptions</a></section><section><h2>Training and AI features</h2><p>Trainify provides basketball training tools, automated shot detection, measurements, and AI-generated coaching. Detection and AI output can be incomplete or wrong. You remain responsible for deciding how to train, checking your surroundings and equipment, and using appropriate supervision. Trainify is not a medical service and does not diagnose or treat injuries or other conditions.</p></section><section><h2>Your photos, videos, and other content</h2><p>You retain ownership of content you provide. You give Trainify permission to host, reproduce, transmit, and process that content only as needed to provide the features you request, protect the service, meet legal obligations, and as separately described in the Privacy Policy or a just-in-time consent you accept. Cloud storage and model-improvement use of workout recordings require the separate consent shown in the app.</p><p>Only record, upload, or share content when you have the rights and permissions required from people who appear in it. This is especially important when a recording includes a minor or another person at a gym or court. Do not provide content that is unlawful, abusive, invasive of privacy, or infringes another person’s rights.</p></section><section><h2>Acceptable use</h2><p>You may not:</p><ul><li>interfere with the service, evade access or subscription controls, or access another user’s data;</li><li>probe, scrape, reverse engineer, or misuse the service except where applicable law does not allow that restriction;</li><li>upload malicious code or use Trainify to violate law or another person’s rights; or</li><li>use automated output as a substitute for professional medical advice or emergency assistance.</li></ul></section><section><h2>Trainify materials</h2><p>Trainify and its licensors own the app, models, software, design, branding, and service content, excluding your content. Subject to these terms, Trainify grants you a personal, limited, revocable, non-transferable right to use the app for its intended purpose. No other rights are granted.</p></section><section><h2>Account deletion and service changes</h2><p>You may request deletion in the app or by email, as described on the  <a href=\"https://www.trainifylabs.ai/legal/android/delete-account\">account deletion page</a>. An active Google Play subscription must be cancelled separately to stop renewal. Trainify may change, suspend, or discontinue features and may restrict access when reasonably needed to protect users, enforce these terms, comply with law, or address misuse. Material changes to these terms will receive notice when required by law.</p></section><section><h2>Contact</h2><p>Questions about these terms can be sent to  <a href=\"mailto:support@trainifylabs.ai\">support@trainifylabs.ai</a> or Trainify Labs Inc, 1098 Foster City Blvd STE 106 #888, Foster City, CA 94404.</p></section></div></article></div></main>',\"delete-account\":'<main class=\"legal-page\"><div class=\"legal-shell\"><header class=\"legal-header\"><a class=\"legal-brand\" href=\"/\">Trainify</a><nav class=\"legal-nav\" aria-label=\"Android legal pages\"><a href=\"https://www.trainifylabs.ai/legal/android/privacy\">Privacy</a><a href=\"https://www.trainifylabs.ai/legal/android/terms\">Terms</a><a href=\"https://www.trainifylabs.ai/legal/android/delete-account\">Delete account</a></nav></header><article class=\"legal-card\"><div class=\"legal-title\"><p class=\"legal-eyebrow\">Trainify Labs Inc \\xb7 Trainify AI for Android</p><p>Effective date: September 29, 2026</p><h1>Delete your account</h1><p class=\"legal-summary\">Request deletion of your Trainify Android account and the data associated with it, including when you no longer have the app.</p></div><div class=\"legal-content\"><section><h2>Delete in the Android app</h2><ol><li>Open Trainify, go to Profile, and open Settings.</li><li>Under Account Actions, choose Delete Account.</li><li>Review the confirmation and complete the deletion.</li></ol><p>If you have an active subscription, the app asks you to cancel it through Google Play first, and in-app deletion stays unavailable until your subscription access ends. You do not have to wait: you can request deletion by email at any time, as described below. Deleting your account or the app does not itself cancel Google Play billing, so cancel through Google Play to stop renewal.</p></section><section><h2>Request deletion by email</h2><p>Email <a href=\"mailto:support@trainifylabs.ai?subject=Android%20account%20deletion%20request\">support@trainifylabs.ai</a> with the subject “Android account deletion request” and say that you want both the account and associated data deleted. You can send this request without the app and at any time, including while a subscription is active.</p><a class=\"legal-action\" href=\"mailto:support@trainifylabs.ai?subject=Android%20account%20deletion%20request\">Email an account deletion request</a><p>To protect your data, we verify that you control the account before deleting it. Send the request from the email address linked to your Google or Apple sign-in, or include your Trainify username and the Account ID shown in the app’s Settings. If your account is anonymous or you use an Apple private relay address, note your username and Account ID before you remove the app so support can verify the request. Do not send a password, authentication token, full payment-card number, or video attachment.</p><p>We reply within 30 days of receiving your request. When deletion is complete, we confirm by email and name any records we keep for legal reasons.</p></section><section><h2>What the request covers</h2><p>Account deletion covers the account and associated profile, workout sessions, plans, statistics, achievements, ratings, stored photos, and cloud workout-video copies that Trainify controls, including copies and labels made from consented recordings to improve our models. Local files on a device may need to be removed by deleting app data or the app. Copies that you exported to another app remain under your control in that app.</p><p>Account data is removed from active systems promptly and no later than 30 days after deletion, and from backups as they roll off no later than 90 days. Copies and labels made from consented recordings to improve our models are deleted within 90 days. Some billing, fraud-prevention, security, dispute, or legal records may be retained where required or permitted by law. Billing records may be retained for up to seven years and resolved support correspondence for up to 24 months. The  <a href=\"https://www.trainifylabs.ai/legal/android/privacy\">Android Privacy Policy</a> describes how long we keep other information.</p></section><section><h2>Subscriptions</h2><p>Manage an Android subscription in Google Play. If you cannot cancel it there, contact Google Play support. Trainify cannot remove a charge by deleting app data on your phone.</p><a href=\"https://play.google.com/store/account/subscriptions\" rel=\"noreferrer\" class=\"legal-action\">Open Google Play subscriptions</a></section><section><h2>Other privacy requests</h2><p>For access, correction, deletion of a specific item, or another privacy request, email<a href=\"mailto:support@trainifylabs.ai\"> support@trainifylabs.ai</a>. See the  <a href=\"https://www.trainifylabs.ai/legal/android/privacy\">Android Privacy Policy</a> for more detail.</p></section></div></article></div></main>'};const css=\".legal-page, .legal-page * { box-sizing: border-box; } .legal-page { --font-body: Arial,sans-serif; --font-display: Arial,sans-serif; width:100%; }\\n.legal-page {\\n  min-height: 100vh;\\n  min-height: 100dvh;\\n  padding: 24px;\\n  background:\\n    radial-gradient(circle at 92% 2%, rgba(255, 84, 27, 0.16), transparent 31rem),\\n    #262624;\\n  color: #262624;\\n  font-family: var(--font-body);\\n  font-weight: 500;\\n  -webkit-font-smoothing: antialiased;\\n}\\n\\n.legal-shell {\\n  width: min(100%, 900px);\\n  margin: 0 auto;\\n}\\n\\n.legal-header,\\n.legal-footer {\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-between;\\n  gap: 24px;\\n  color: #faf9f6;\\n}\\n\\n.legal-header {\\n  padding: 4px 0 24px;\\n}\\n\\n.legal-brand {\\n  display: inline-flex;\\n  align-items: center;\\n  gap: 10px;\\n  color: inherit;\\n  font-size: 20px;\\n  font-weight: 700;\\n  text-decoration: none;\\n}\\n\\n.legal-brand img {\\n  display: block;\\n  border-radius: 12px;\\n}\\n\\n.legal-nav {\\n  display: flex;\\n  flex-wrap: wrap;\\n  justify-content: flex-end;\\n  gap: 8px 18px;\\n}\\n\\n.legal-nav a,\\n.legal-footer a {\\n  color: #faf9f6;\\n  text-underline-offset: 4px;\\n}\\n\\n.legal-card {\\n  overflow: hidden;\\n  border: 1px solid rgba(255, 255, 255, 0.22);\\n  border-radius: 28px;\\n  background: #faf9f6;\\n  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.26);\\n}\\n\\n.legal-title,\\n.legal-content {\\n  padding-right: clamp(24px, 7vw, 68px);\\n  padding-left: clamp(24px, 7vw, 68px);\\n}\\n\\n.legal-title {\\n  padding-top: clamp(38px, 7vw, 68px);\\n  padding-bottom: 30px;\\n}\\n\\n.legal-eyebrow {\\n  margin: 0 0 10px;\\n  color: #d84212;\\n  font-size: 13px;\\n  font-weight: 700;\\n  letter-spacing: 0.09em;\\n  text-transform: uppercase;\\n}\\n\\n.legal-title h1 {\\n  max-width: 720px;\\n  margin: 0;\\n  font-family: var(--font-display);\\n  font-size: clamp(42px, 8vw, 68px);\\n  font-weight: 700;\\n  letter-spacing: -0.02em;\\n  line-height: 0.98;\\n}\\n\\n.legal-summary {\\n  max-width: 680px;\\n  margin: 20px 0 0;\\n  color: #5f5d57;\\n  font-size: 18px;\\n  line-height: 1.55;\\n}\\n\\n.legal-draft {\\n  display: grid;\\n  grid-template-columns: minmax(150px, 0.28fr) 1fr;\\n  gap: 18px;\\n  padding: 20px clamp(24px, 7vw, 68px);\\n  border-top: 1px solid #f2d4c8;\\n  border-bottom: 1px solid #f2d4c8;\\n  background: #fff1eb;\\n  color: #6f2b14;\\n  line-height: 1.5;\\n}\\n\\n.legal-content {\\n  padding-top: 30px;\\n  padding-bottom: clamp(44px, 8vw, 76px);\\n  font-size: 17px;\\n  line-height: 1.66;\\n}\\n\\n.legal-content section + section {\\n  margin-top: 38px;\\n}\\n\\n.legal-content h2 {\\n  margin: 0 0 12px;\\n  font-family: var(--font-display);\\n  font-size: 31px;\\n  line-height: 1.08;\\n}\\n\\n.legal-content h3 {\\n  margin: 24px 0 8px;\\n  font-size: 18px;\\n  line-height: 1.3;\\n}\\n\\n.legal-content p {\\n  margin: 0 0 14px;\\n}\\n\\n.legal-content ul,\\n.legal-content ol {\\n  margin: 12px 0 0;\\n  padding-left: 24px;\\n}\\n\\n.legal-content li + li {\\n  margin-top: 10px;\\n}\\n\\n.legal-content a {\\n  color: #b7330b;\\n  font-weight: 600;\\n  text-underline-offset: 3px;\\n}\\n\\n.legal-callout {\\n  margin: 22px 0;\\n  padding: 20px;\\n  border-left: 4px solid #ff541b;\\n  border-radius: 0 14px 14px 0;\\n  background: #f2f0e9;\\n}\\n\\n.legal-owner-decision {\\n  margin: 14px 0;\\n  padding: 12px 16px;\\n  border: 1px dashed #c2410c;\\n  border-radius: 10px;\\n  background: #fff7ed;\\n  color: #7c2d12;\\n  font-size: 15px;\\n  line-height: 1.5;\\n}\\n\\n.legal-action {\\n  display: inline-block;\\n  margin: 8px 0 14px;\\n  padding: 14px 22px;\\n  border-radius: 999px;\\n  background: #262624;\\n  color: #faf9f6 !important;\\n  font-weight: 700;\\n  text-decoration: none;\\n}\\n\\n.legal-meta {\\n  color: #6d6a62;\\n  font-size: 14px;\\n}\\n\\n.legal-footer {\\n  padding: 22px 4px 8px;\\n  color: #c9c6bb;\\n  font-size: 14px;\\n}\\n\\n.legal-brand:focus-visible,\\n.legal-nav a:focus-visible,\\n.legal-footer a:focus-visible,\\n.legal-content a:focus-visible {\\n  outline: 3px solid #ff8d28;\\n  outline-offset: 4px;\\n  border-radius: 4px;\\n}\\n\\n@media (max-width: 680px) {\\n  .legal-page {\\n    padding: 16px;\\n  }\\n\\n  .legal-header,\\n  .legal-footer {\\n    align-items: flex-start;\\n    flex-direction: column;\\n  }\\n\\n  .legal-nav {\\n    justify-content: flex-start;\\n  }\\n\\n  .legal-card {\\n    border-radius: 22px;\\n  }\\n\\n  .legal-draft {\\n    grid-template-columns: 1fr;\\n    gap: 5px;\\n  }\\n}\\n\\n@media (prefers-reduced-motion: no-preference) {\\n  .legal-nav a,\\n  .legal-content a {\\n    transition: color 140ms ease;\\n  }\\n\\n  .legal-nav a:hover,\\n  .legal-content a:hover {\\n    color: #ff8d28;\\n  }\\n}\\n\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 900\n */export default function AndroidLegal(props){const{document=\"privacy\",style}=props;return /*#__PURE__*/_jsxs(\"div\",{style:{...style,width:\"100%\",height:\"auto\"},children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsx(\"div\",{dangerouslySetInnerHTML:{__html:documents[document]||documents.privacy}})]});}addPropertyControls(AndroidLegal,{document:{type:ControlType.Enum,title:\"Document\",options:[\"privacy\",\"terms\",\"delete-account\"],optionTitles:[\"Privacy\",\"Terms\",\"Delete account\"],defaultValue:\"privacy\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AndroidLegal\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"900\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AndroidLegal.map"],"mappings":"mKAKG,SAAwB,EAAa,EAAM,CAAC,GAAK,CAAC,WAAS,UAAU,SAAO,EAAM,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAM,MAAM,OAAO,OAAO,MAAM,EAAE,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS,CAAG,CAAC,EAAe,EAAK,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAU,IAAW,EAAU,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,qBALpQ,IAAoD,EAAO,EAAU,CAAC,QAAQ,88iBAA88iB,MAAM,8wLAA8wL,iBAAiB,w2IAA22I,EAAQ,EAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKn72B,EAAoB,EAAa,CAAC,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,WAAW,QAAQ,CAAC,UAAU,QAAQ,gBAAgB,EAAE,aAAa,CAAC,UAAU,QAAQ,gBAAgB,EAAE,aAAa,SAAS,CAAC,CAAC"}