Outiref
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<title>Fléchettes pointe acier  | Toulouse Darts Académie</title>
<script type="text/javascript">
    window.bubble_session_uid = '1780096796295x233249243378404800';
</script>
<script type="text/javascript">
    window.headers_source_maps = [["plugin_main_headers_1658328157117x953686184769617900",214,216],["custom_page_header",218,311],["custom_app_header",312,360]]
</script>
<script type="text/javascript">
function make_proxy(target, name) {
  return new Proxy(target, {
    get: function(target, prop) {
      if (prop in target) {
        return target[prop];
      }
      throw new Error('The variable ' + name + ' is not fully initialized yet');
    }
  });
}
window.appquery = make_proxy({
  app_version: function() { return "live"; },
  last_change: function() { return "58445302350";},
}, 'appquery');
window.Lib = new Proxy(function() {}, {
  get: function(target, prop) {
    if (prop === 'is_skeleton') {
      return true;
    }
    throw new Error('The variable ' + Lib + ' is not fully initialized yet');
  },
  apply: function() {
    return make_proxy({
      current_user: function() {
        return make_proxy({ id: "1780096796295x233249243378404800" }, 'Lib().current_user');
      }
    }, 'Lib()');
  }
});
</script>
<script type="text/javascript">
function load_error_function (event) {
  return window.load_error_log.push({ msg: event.message, error_url: event.filename, line: event.lineno, col: event.colno })
}
window.load_error_log = [];
window.addEventListener('error', load_error_function);
window.disableLoadErrorFunction = function () {
  window.removeEventListener('error', load_error_function);
}
</script>
<meta name="referrer" content="origin">
<script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['pre_early_js'] = Date.now();
</script><script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/early_js/05ae9fe83d6b755291132aab9d325d70918aafd336da1bd91a41a31c8b25734b/early.js"></script><script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['post_early_js'] = Date.now();
</script>
<script type="text/javascript">(function () {
    function onWebFontFinish () {
        window.google_web_fonts_active = true;
if (window.google_web_fonts_active_cb) {
    window.google_web_fonts_active_cb();
}
        (function fontface_loaded_snippet (font) {
  if (window.fontface_loaded == null) {
    window.fontface_loaded = {}
  }
  if (font != null) {
    window.fontface_loaded[font] = true
  } else {
    window.all_fontface_loaded = true
  }
  if (window.fontface_webfonts_loaded_cb) {
    return window.fontface_webfonts_loaded_cb(font)
  }
})()
    }
    const WebFontConfig = {'google': { families: ["Aoboshi One:400","Balthazar:400","Lato:regular","Lato:regular","Lato:900","Montserrat:regular","Montserrat:500","Montserrat:600","Montserrat:700","Montserrat:800"] },
        active: function() {
            onWebFontFinish()
        },
        inactive: function() {
            console.log('Failed to load all the fonts');
            onWebFontFinish()
        },
        fontinactive: function(family_name, fvd) {
            console.log('fontinactive being called for ' + family_name + ', Google says the fonts didnt render');
            onWebFontFinish()
        }
    }
        window.WebFont.load(WebFontConfig);
})();</script>
<script>
(function initialize_data() {
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    if (this.readyState === 4 && this.status === 200) {
        const data = JSON.parse(this.responseText);

        function init_data() {
            data.forEach(function(d) {
                Lib().db_instance().initialize_data(d.id, d.data, d.type, d.version);
            })
        }

        if (window.Lib && window.Lib.is_skeleton == null) {
            init_data();
        } else {
            window.Lib_post_load = init_data;
        }
    }
};
xhr.open("GET", "https://toulousedartsacademie.fr/api/1.1/init/data?location=" + encodeURIComponent(window.location.href), true);
xhr.send();
})();
</script>
<script type="text/javascript">window.gm_key = "AIzaSyBcv6WQA_G3vXVwlV2Ik2m2-vKxl45GT1o";</script>
<script type="text/javascript">window.glrl_key_status = false;</script>
<script type="text/javascript">window.bubble_page_load_id = "1780096796343x368";</script>
<script type="text/javascript">window.bubble_plp_token = "UVFe4VJBjio4sEBmMNkNGvI7IJh+Hu+h7JM1r4j0zNc=";</script>
<script type="text/javascript">window.bubble_is_leanjs = false;</script>
<script type="text/javascript">window.bubble_shim_modules = true;</script>
<link rel="icon" type="image/png" href="https://bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/cdn-cgi/image/w=128,h=,f=auto,dpr=1,fit=contain/f1770881431031x756346930591944600/Favicon%20TDA.png" />
<meta name="fragment" content="!">
<meta name="description" content="Découvrez notre sélection de fléchettes à pointe acier (Steel Tip) adaptées aux joueurs débutants, confirmés et compétiteurs. Retrouvez des modèles conçus pour les cibles traditionnelles en sisal, offrant précision, équilibre et confort de jeu. Différents poids, grips et matériaux sont disponibles pour trouver les fléchettes qui correspondent parfaitement à votre style de lancer. Les adhérents Toulouse Darts Académie bénéficient d&#39;avantages exclusifs sur les commandes groupées mensuelles.">
<meta property="og:title" content="Fléchettes pointe acier | Toulouse Darts Académie" />
<meta name="twitter:title" content="Fléchettes pointe acier | Toulouse Darts Académie" />
<meta property="og:site_name" content="Toulouse Darts Académie" />
<meta name="twitter:site_name" content="Toulouse Darts Académie" />
<meta property="og:description" content="Découvrez notre sélection de fléchettes à pointe acier (Steel Tip) adaptées aux joueurs débutants, confirmés et compétiteurs. Retrouvez des modèles conçus pour les cibles traditionnelles en sisal, offrant précision, équilibre et confort de jeu. Différents poids, grips et matériaux sont disponibles pour trouver les fléchettes qui correspondent parfaitement à votre style de lancer. Les adhérents Toulouse Darts Académie bénéficient d&#39;avantages exclusifs sur les commandes groupées mensuelles." />
<meta name="twitter:description" content="Découvrez notre sélection de fléchettes à pointe acier (Steel Tip) adaptées aux joueurs débutants, confirmés et compétiteurs. Retrouvez des modèles conçus pour les cibles traditionnelles en sisal, offrant précision, équilibre et confort de jeu. Différents poids, grips et matériaux sont disponibles pour trouver les fléchettes qui correspondent parfaitement à votre style de lancer. Les adhérents Toulouse Darts Académie bénéficient d&#39;avantages exclusifs sur les commandes groupées mensuelles." />
<link rel="image_src" href="https://bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1778578444959x707987804807297400/target-luke-littler-90-swiss.jpg" />
<meta property="og:image" content="https://bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1778578444959x707987804807297400/target-luke-littler-90-swiss.jpg" />
<meta name="twitter:image:src" content="https://bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1778578444959x707987804807297400/target-luke-littler-90-swiss.jpg" />
<meta property="og:url" content="https://toulousedartsacademie.fr/boutique/1778421050158x382592170459398140" />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<script type="text/javascript">window._p = '{"id":"app_starter_2023","no_branding":true,"import_export_csv":true,"custom_domain":true}';</script>
<script type="text/javascript">window.bubble_page_name = "boutique";</script>
<script type="text/javascript">window.__bubble_module_mode = false;</script>
<link type="text/css" href="/package/run_css/dad616f2473e17c6b68cb7534806945c32da8894454028015e8349ddf03d3282/toulouse-darts-acadmie/live/boutique/xfalse/xfalse/run.css" rel="stylesheet">
<script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['pre_run_js'] = Date.now();
</script>
<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/pre_run_jquery_js/dee903a9e36db713e4c86d0cdd96d921e37be0c1293ed8dee29e2e4d7713b9ff/pre_run_jquery.js"></script>
<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/run_js/d092a54e81bf6ba73b05c3babba90a58ebcc8729648ccca672682f6cc38a0a7c/xtrue/x33/run.js"></script>
<script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['post_run_js'] = Date.now();
</script>
<script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['pre_static_js'] = Date.now();
</script><script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/static_js/4445ee0906f6573d8635cb47a1f37e67a9a8ebac6b8c352835083e7821d9f28b/toulouse-darts-acadmie/live/boutique/xnull/xfalse/xfalse/xtrue/static.js"></script><script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['post_static_js'] = Date.now();
</script>
<script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['pre_dynamic_js'] = Date.now();
</script><script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/dynamic_js/3caac622add44d6ff59af4239e6de610bc31b01c2ffaa51afb9188ffac839f63/toulouse-darts-acadmie/live/boutique/xnull/xfalse/xtrue/fr_fr/xfalse/xfalse/dynamic.js"></script><script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['post_dynamic_js'] = Date.now();
</script>
<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_start_execution = Date.now();</script>
<!-- 1658328157117x953686184769617900 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/izitoast/1.4.0/css/iziToast.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/izitoast/1.4.0/js/iziToast.min.js" type="text/javascript"></script>
<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_end_execution = Date.now();</script>
<!-- custom page header -->
<title>Fléchettes pointe acier | Toulouse Darts Académie</title>

<meta name="description" content="Découvrez notre sélection de fléchettes à pointe acier (Steel Tip) adaptées aux joueurs débutants, confirmés et compétiteurs. Retrouvez des modèles conçus  ">

<meta name="description" content="Découvrez notre sélection de fléchettes à pointe acier (Steel Tip) adaptées aux joueurs débutants, confirmés et compétiteurs. Retrouvez des modèles conçus ">
<meta name="keywords" content="fléchettes pointe acier, steel tip darts, fléchettes compétition, fléchettes professionnelles, fléchettes tungsten, fléchettes sisal, achat fléchettes pointe acier, matériel darts, boutique fléchettes Toulouse, darts Toulouse, fléchettes précision, fléchettes sportives">

<link rel="canonical" href="https://toulousedartsacademie.fr/boutique/1778421050158x382592170459398140, 1778421180905x438148786603687940, 1778421274263x219088120438587400, 1778423469754x978327831524147200, 1778423525169x224184384025264130, 1778423598771x894240466268061700, 1778423671365x460580565082439700, 1778483156938x676973294625488900, 1778660607939x405932775946846200, 1778662340951x108653159847034880, 1780042043359x710144298641784800, 1780042174029x843067167150702600, 1780042416269x918936862045241300">

<meta name="robots" content="index, follow">
<meta http-equiv="Content-Language" content="fr">
<meta name="language" content="fr-FR">

<!-- Open Graph -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://toulousedartsacademie.fr/boutique/1778421050158x382592170459398140, 1778421180905x438148786603687940, 1778421274263x219088120438587400, 1778423469754x978327831524147200, 1778423525169x224184384025264130, 1778423598771x894240466268061700, 1778423671365x460580565082439700, 1778483156938x676973294625488900, 1778660607939x405932775946846200, 1778662340951x108653159847034880, 1780042043359x710144298641784800, 1780042174029x843067167150702600, 1780042416269x918936862045241300">
<meta property="og:title" content="Fléchettes pointe acier | Toulouse Darts Académie">
<meta property="og:description" content="Découvrez notre sélection de fléchettes à pointe acier (Steel Tip) adaptées aux joueurs débutants, confirmés et compétiteurs. Retrouvez des modèles conçus pour les cibles traditionnelles en sisal, offrant précision, équilibre et confort de jeu. Différents poids, grips et matériaux sont disponibles pour trouver les fléchettes qui correspondent parfaitement à votre style de lancer. Les adhérents Toulouse Darts Académie bénéficient d'avantages exclusifs sur les commandes groupées mensuelles.">
<meta property="og:image" content="//bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/f1778578444959x707987804807297400/target-luke-littler-90-swiss.jpg">
<meta property="og:site_name" content="Toulouse Darts Académie">
<meta property="og:locale" content="fr_FR">

<!-- Twitter / X -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Fléchettes pointe acier | Toulouse Darts Académie">
<meta name="twitter:description" content="Découvrez notre sélection de fléchettes à pointe acier (Steel Tip) adaptées aux joueurs débutants, confirmés et compétiteurs. Retrouvez des modèles conçus pour les cibles traditionnelles en sisal, offrant précision, équilibre et confort de jeu. Différents poids, grips et matériaux sont disponibles pour trouver les fléchettes qui correspondent parfaitement à votre style de lancer. Les adhérents Toulouse Darts Académie bénéficient d'avantages exclusifs sur les commandes groupées mensuelles."> 
<meta name="twitter:image"   content="//bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/f1778578444959x707987804807297400/target-luke-littler-90-swiss.jpg">

<!-- JSON-LD Boutique / Collection -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "CollectionPage",
  "@id": "https://toulousedartsacademie.fr/boutique/1778421050158x382592170459398140, 1778421180905x438148786603687940, 1778421274263x219088120438587400, 1778423469754x978327831524147200, 1778423525169x224184384025264130, 1778423598771x894240466268061700, 1778423671365x460580565082439700, 1778483156938x676973294625488900, 1778660607939x405932775946846200, 1778662340951x108653159847034880, 1780042043359x710144298641784800, 1780042174029x843067167150702600, 1780042416269x918936862045241300",
  "name": "Fléchettes pointe acier",
  "url": "https://toulousedartsacademie.fr/boutique/1778421050158x382592170459398140, 1778421180905x438148786603687940, 1778421274263x219088120438587400, 1778423469754x978327831524147200, 1778423525169x224184384025264130, 1778423598771x894240466268061700, 1778423671365x460580565082439700, 1778483156938x676973294625488900, 1778660607939x405932775946846200, 1778662340951x108653159847034880, 1780042043359x710144298641784800, 1780042174029x843067167150702600, 1780042416269x918936862045241300",
  "inLanguage": "fr-FR",
  "description": "Découvrez notre sélection de fléchettes à pointe acier (Steel Tip) adaptées aux joueurs débutants, confirmés et compétiteurs. Retrouvez des modèles conçus pour les cibles traditionnelles en sisal, offrant précision, équilibre et confort de jeu. Différents poids, grips et matériaux sont disponibles pour trouver les fléchettes qui correspondent parfaitement à votre style de lancer. Les adhérents Toulouse Darts Académie bénéficient d'avantages exclusifs sur les commandes groupées mensuelles.",
  "isPartOf": {
    "@type": "Store",
    "@id": "https://toulousedartsacademie.fr/boutiques",
    "name": "Boutique Toulouse Darts Académie",
    "url": "https://toulousedartsacademie.fr/boutiques"
  },
  "publisher": {
    "@type": "Organization",
    "@id": "https://toulousedartsacademie.fr/#organization",
    "name": "Toulouse Darts Académie",
    "url": "https://toulousedartsacademie.fr/"
  },
  "about": [
    {
      "@type": "Thing",
      "name": "Fléchettes sportives"
    },
    {
      "@type": "Thing",
      "name": "Cibles de fléchettes"
    },
    {
      "@type": "Thing",
      "name": "Accessoires de fléchettes"
    }
  ],
  "mainEntity": {
    "@type": "OfferCatalog",
    "name": "Cibles et accessoires de fléchettes",
    "itemListElement": [
      {
        "@type": "Offer",
        "name": "Cibles de fléchettes",
        "category": "SportingGoods",
        "availability": "https://schema.org/InStock",
        "priceCurrency": "EUR"
      },
      {
        "@type": "Offer",
        "name": "Accessoires de fléchettes",
        "category": "SportingGoods",
        "availability": "https://schema.org/InStock",
        "priceCurrency": "EUR"
      },
      {
        "@type": "Offer",
        "name": "Commande mensuelle adhérents",
        "description": "Commande groupée réservée aux adhérents Toulouse Darts Académie avec remise de 10%.",
        "availability": "https://schema.org/LimitedAvailability",
        "priceCurrency": "EUR"
      }
    ]
  }
}
</script>
<!-- custom app meta header -->
<!-- Open Graph -->
<meta property="og:type" content="website">
<meta property="og:title" content="Toulouse Darts Académie | Première académie de fléchettes en France">
<meta property="og:description" content="Club associatif d’intérêt général dédié à la formation, à la compétition et au développement des fléchettes sportives à Toulouse.">
<meta property="og:url" content="https://toulousedartsacademie.fr">
<meta property="og:site_name" content="Toulouse Darts Académie">
<meta property="og:image" content="https://bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/f1772461455250x237969645395305730/Toulouse%20darts%20acad%C3%A9mie.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:locale" content="fr_FR">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-EHTQT6YGC4"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-EHTQT6YGC4');
</script>
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Première académie de fléchettes en France – Toulouse">
<meta name="twitter:description" content="Formation, compétitions et développement des darts dans un cadre associatif et inclusif.">
<meta name="twitter:image" content="https://bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/f1772461455250x237969645395305730/Toulouse%20darts%20acad%C3%A9mie.png">

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": ["SportsOrganization", "NonprofitOrganization"],
  "name": "Toulouse Darts Académie",
  "alternateName": "Toulouse Darts",
  "url": "https://toulousedartsacademie.fr",
  "description": "Association d’intérêt général dédiée au développement, à la promotion et à la pratique des fléchettes sportives à Toulouse.",
  "foundingDate": "2026",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "72 Chemin Carrosse, Apt 1",
    "addressLocality": "Toulouse",
    "postalCode": "31400",
    "addressCountry": "FR"
  },
  "sport": "Darts",
  "areaServed": {
    "@type": "Country",
    "name": "France"
  }
}
</script>
</head>
<body><script type="text/javascript">
window.addEventListener('DOMContentLoaded', function () {
  if (window.appquery == null) {
    (function() {
    const html = `
      <div class="error-card">
        <div class="error-section">
          <div class="error-title">Your browser was unable to load some necessary resources</div>
          <div class="error-message">Contact your IT network administrator to allow access to:
    • d3dqmih97rcqmh.cloudfront.net
    • bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/
    • d1muf25xaso8hp.cloudfront.net</div>
        </div>
      </div>
    `

    const css = document.createElement('style')
    css.type = 'text/css'
    css.appendChild(
      document.createTextNode(`
      .error-overlay {
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.30);
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        position: fixed;
        inset: 0;
        z-index: 999999;
      }

      .error-card {
        width: 500px;
        margin: 40px;
        background: white;
        box-shadow: 0px 1px 2px rgba(0,0,0,0.10);
        border-radius: 8px;
        display: flex;
        flex-direction: column;
      }

      .error-section {
        padding: 40px;
        display: flex;
        flex-direction: column;
        gap: 12px;
      }

      .error-title {
        color: #1A1A1A;
        font-size: 18px;
        font-family: Arial, sans-serif;
        font-weight: 600;
        line-height: 28px;
      }

      .error-message {
        color: #525252;
        font-size: 14px;
        font-family: Arial, sans-serif;
        font-weight: 400;
        line-height: 20px;
        white-space: pre-wrap;
      }
    `)
    )
    document.head.appendChild(css)

    const container = document.createElement('div')
    container.className = 'error-overlay'
    container.innerHTML = html
    document.body.appendChild(container)
  })()
    httpRequest = new XMLHttpRequest();
httpRequest.open('POST', '/user/m', true);
httpRequest.setRequestHeader('Content-Type', 'application/json');
httpRequest.send(JSON.stringify({measures: {page_load_error: 1, url: document.location.href, errors: window.load_error_log}}));
  };
});
</script><script>
(function () {
  // Inject ripple CSS once
  if (!document.getElementById('ripple-style')) {
    const style = document.createElement("style");
    style.id = "ripple-style";
    style.innerHTML = `
      .ripple-circle {
        position: absolute;
        border-radius: 50%;
        transform: scale(0);
        animation: ripple-animation 600ms linear;
        background-color: var(--color_success_default);
        pointer-events: none;
      }
      @keyframes ripple-animation {
        to {
          transform: scale(4);
          opacity: 0;
        }
      }
    `;
    document.head.appendChild(style);
  }

  // Listen to all clicks
  document.addEventListener('click', function (e) {
    const id = e.target.closest('[id^="anim"]')?.id;
    if (!id) return;

    const target = document.getElementById(id);
    if (!target) return;

    // Ensure ripple container is ready
    target.style.position = 'relative';
    target.style.overflow = 'hidden';

    const rect = target.getBoundingClientRect();
    const size = Math.max(rect.width, rect.height);
    const ripple = document.createElement('span');
    ripple.classList.add('ripple-circle');
    ripple.style.width = ripple.style.height = size + 'px';
    ripple.style.left = (e.clientX - rect.left - size / 2) + 'px';
    ripple.style.top = (e.clientY - rect.top - size / 2) + 'px';
    ripple.style.zIndex = '999';

    target.appendChild(ripple);
    setTimeout(() => ripple.remove(), 600);
  });
})();
</script><script type="text/javascript">window.addEventListener('DOMContentLoaded', function () {if (window.appquery && window.app == null) {(function() {
    const html = `
      <div class="error-card">
        <div class="error-section">
          <div class="error-title">Your browser was unable to load the application</div>
          <div class="error-message">We&#39;ve been notified of the issue. Please try again in a few moments and make sure not to use ad-blockers.</div>
        </div>
      </div>
    `

    const css = document.createElement('style')
    css.type = 'text/css'
    css.appendChild(
      document.createTextNode(`
      .error-overlay {
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.30);
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        position: fixed;
        inset: 0;
        z-index: 999999;
      }

      .error-card {
        width: 500px;
        margin: 40px;
        background: white;
        box-shadow: 0px 1px 2px rgba(0,0,0,0.10);
        border-radius: 8px;
        display: flex;
        flex-direction: column;
      }

      .error-section {
        padding: 40px;
        display: flex;
        flex-direction: column;
        gap: 12px;
      }

      .error-title {
        color: #1A1A1A;
        font-size: 18px;
        font-family: Arial, sans-serif;
        font-weight: 600;
        line-height: 28px;
      }

      .error-message {
        color: #525252;
        font-size: 14px;
        font-family: Arial, sans-serif;
        font-weight: 400;
        line-height: 20px;
        white-space: pre-wrap;
      }
    `)
    )
    document.head.appendChild(css)

    const container = document.createElement('div')
    container.className = 'error-overlay'
    container.innerHTML = html
    document.body.appendChild(container)
  })()}});</script>
<img style="display: none;" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" />
</body>
</html>