@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800;900&family=Lora:ital,wght@0,600;1,400&display=swap');
    :root {
      --font-main:'Montserrat',sans-serif; --font-display:'Montserrat',sans-serif;
      --bg-app:#F7F5F0; --bg-card:#FFFFFF; --bg-subtle:#EEF0EC;
      --green-main:#3A7D44; --green-light:#E8F5E9;
      --orange-main:#D4661A; --orange-light:#FFF0E6;
      --purple-main:#5C4B8A; --purple-light:#EDE8F8;
      --blue-main:#3A7D44; --blue-light:#E8F5E9;
      --teal-main:#0A7A6A; --teal-light:#E0F5F2;
      /* AJOUT — teintes de texte par pilier (ratio ≥6.5:1 sur fond clair correspondant, voir analyse contraste) */
      --sport-text:#8A4310; --nutri-text:#235429; --hydra-text:#0F4A73; --zen-text:#3E3260;
      --text-primary:#1A1A1A; --text-secondary:#1A1A1A; --text-muted:#1A1A1A;
      --border:#DDD9D2;
      --fs-xl:22px; --fs-lg:18px; --fs-md:16px; --fs-sm:15px; --fs-xs:14px;
      /* DEMANDE UTILISATEUR — taille FIXE dédiée à la barre de navigation du
         bas, volontairement hors du système --fs-xl/lg/md/sm/xs modulé par
         le réglage A/A/A (js/components/nav.js::FONT_SIZES) : les libellés
         de nav ne doivent plus grandir avec ce réglage, pour que chaque mot
         (même le plus long, ex. "Bienestar", "Évolution") tienne toujours
         sur une seule ligne dans son bouton, quel que soit le réglage choisi. */
      /* CORRECTIF nav 50+ — base remontée de 10px à 11px, et désormais
         pilotée par le réglage A/a/A (voir components/nav.js::FONT_SIZES,
         clé `nav` : 10/11/12px). Le plafond de 12px en mode "grande police"
         garantit qu'aucun libellé, même le plus long en espagnol
         ("Nutrición", "Bienestar"), ne dépasse son bouton — le
         white-space:nowrap sur .nav-item span (plus bas) interdisant de
         toute façon tout passage sur 2 lignes. */
      --fs-nav:11px;
      --text-muted:#3A3A3A;
      --radius-card:20px; --radius-btn:16px; --radius-pill:50px;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html, body{height:100%;overflow:hidden;overscroll-behavior:none;position:fixed;width:100%}
    body{background:#E8E4DD;font-family:var(--font-main);color:var(--text-primary);padding:20px 0;min-height:100vh;font-weight:600}
    @media (min-width:600px){
      body{padding:30px 20px;display:flex;align-items:flex-start;justify-content:center}
      .app{max-width:520px;border-radius:32px}
      .score-pillars{gap:10px}
      .prog-days{gap:6px}
    }
    @media (min-width:900px){
      body{padding:40px}
      .app{max-width:600px}
    }
    .app{max-width:390px;margin:0 auto;background:var(--bg-app);min-height:820px;position:relative;overflow:hidden;border-radius:40px;box-shadow:0 30px 60px rgba(0,0,0,.18);border:5px solid #C8C2B8;padding-bottom:80px}

    /* Plein écran verrouillé sur smartphone réel (petit écran ou PWA installée) */
    @media (max-width:480px), (display-mode: standalone) {
      body{padding:0}
      .app{
        max-width:100%;
        width:100%;
        height:100vh;
        height:100dvh;
        min-height:100dvh;
        margin:0;
        border-radius:0;
        border:none;
        box-shadow:none;
        padding-bottom:0;
        display:flex;
        flex-direction:column;
        padding-top:env(safe-area-inset-top);
        padding-bottom:env(safe-area-inset-bottom);
      }
      .screen, .ob-screen{
        max-height:none;
        flex:1;
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
      }
      /* CORRECTIF — .nav est en position:absolute par-dessus le contenu
         (voir plus bas), et n'est visible que sur les écrans .screen (pas
         pendant l'onboarding, qui utilise .ob-screen). Sans cet espace
         réservé, le bas du contenu (ex. bouton "Démarrer" du Sport) se
         retrouve masqué derrière la barre de navigation — surtout visible
         sur Android, qui ne définit généralement pas de
         env(safe-area-inset-bottom) comme iOS. Sur desktop, ce même espace
         est réservé en dur via .app{padding-bottom:80px} plus haut.
         Sélecteur ".app .screen" (au lieu de ".screen") pour être sûr de
         l'emporter sur la règle ".screen{padding:20px}" définie plus bas
         dans ce fichier (même spécificité de classe sinon, donc l'ordre
         d'apparition déciderait — ".app .screen" est plus spécifique). */
      .app .screen{
        padding-bottom:calc(20px + 78px + env(safe-area-inset-bottom));
      }
      .app #scr-home{
        padding-bottom:calc(20px + 78px + env(safe-area-inset-bottom));
      }
    }

    /* TOP BAR */
    .top-bar{padding:18px 20px 0;display:flex;justify-content:space-between;align-items:center}
    .lang-selector{display:flex;gap:4px;background:var(--bg-subtle);padding:4px;border-radius:12px;border:1px solid var(--border)}
    .lang-btn{background:transparent;border:none;color:var(--text-muted);font-family:var(--font-main);font-size:var(--fs-xs);font-weight:800;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .2s}
    .lang-btn.active{background:var(--green-main);color:#fff;box-shadow:0 2px 8px rgba(58,125,68,.3)}
    .font-selector{display:flex;gap:3px;background:var(--bg-subtle);padding:3px;border-radius:10px;border:1px solid var(--border)}
    .font-btn{background:transparent;border:none;color:var(--text-muted);font-family:var(--font-main);font-weight:800;padding:5px 8px;border-radius:7px;cursor:pointer;transition:all .2s;line-height:1}
    .font-btn.active{background:var(--green-main);color:#fff}
    .amalva-logo{font-family:'Arial Rounded MT Bold',Arial,sans-serif;font-size:19px;color:var(--green-main);font-weight:600;letter-spacing:.5px}

    /* SCREENS */
    .screen{display:none;padding:20px;overflow-y:auto;max-height:710px}
    #scr-home{padding:0 20px 20px;}
    .screen.active{display:block}
    .screen::-webkit-scrollbar{width:4px}
    .screen::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}

    /* ONBOARDING */
    .ob-screen{display:none;overflow-y:auto;max-height:710px}
    .ob-screen.active{display:block}
    #scr-ob{padding:0}
    #ob0{padding:0;position:relative}
    .ob0-hero{position:relative;height:190px;background:url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAcFBQYFBAcGBgYIBwcICxILCwoKCxYPEA0SGhYbGhkWGRgcICgiHB4mHhgZIzAkJiorLS4tGyIyNTEsNSgsLSz/2wBDAQcICAsJCxULCxUsHRkdLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCz/wAARCAIIAuYDASIAAhEBAxEB/8QAHAAAAQUBAQEAAAAAAAAAAAAAAAECAwQFBgcI/8QAShAAAgEDAgUCAwYEBAQEBAQHAQIDAAQREiEFEzFBUSJhBnGBFCMyQpGhB1KxwRVi0fAkM3LhFoKS8UNTY6KDhJOyCCY0REVz0v/EABoBAAMBAQEBAAAAAAAAAAAAAAABAgMEBQb/xAAuEQACAgICAgIBAgYCAwEAAAAAAQIRAyESMQRBE1EiMmEFFCNxgfBCkaHB0fH/2gAMAwEAAhEDEQA/APVQmKdoFTaD4pQlc1m1EGjak0YqzpoK0WFFYLvTsGpwgz0pwSiwogCHripkJxUoHbFHL8ClY6IWX2pjIT2q1pI7UcrV0osCkV9qaUPirjREdRURXBp2KiERmjGDUuSKaxz2oAbnxQQGHQUhFIRQFkTqM1EVqwUzSaKpMkraDSFDVkx0nLp2KitpNJoq1y6QxGnYUVtJpNHtVnl0GP2p2Kirpo0e1WeX7UcuiworaKQx1a5dHK9qdhRU0UuirPK9qDF7UWKirywaCntVkxUcqnYUVdHtQUqzyjQYj4p2Kito9qNJqzyj4pOUaLCitpNLpIqxy6Tl0WIr4NLg1Py6UR0wK+k0aatCKl5VFhRV0ZpQhq0IT4p4hPiixUVBHSiOrgtz4pwt/aix0UxHThFV0W/tT1tz4pcgooiGn8jPatBbf2qQWvtU8iuJmiCniCtIW4FO5KjtS5D4mctv7VItvV7ljsKcEHip5D4lQR6e1PAz1FWQB4pTjxSsZX5dHKqfFGPakMrFD5pugg1aKA0mhaAIBkUerxU2gUvLoArMCfy1C0Z64q65wMVCWJoAraTSaTU+M9qTR7UWBDpNGmptFGiiwINJzTlTJ3qXl0aKYhyxJ7VNyUC9ahEZ7GpkBA60DInTAGnNJsAOpNWQdt6a2HxtSAEVwAVIxU+MjBkGPnVfRnYHFIICSfVQBaCRHuDTxbpjIGo9qrLBhdm3HanxPKr7g6fagCdIZGkXX+HxVxtCjdgKiibmjGkr75pTAVQg4Oe9Axsk8cXV856CqslwzNgZx7VBNbur/d5Ye3aoA8kT+rO3YmqUbJch87gHLKD71VcoV1blqlkZpTkg1CYmz0rSMTNsiaVycj0/Kozqyd6n5R96OX7VoqM9kCs6nY0FmPepxET2peSfFPQUyrg0aTVrknsKeLY46UWFMo6aNFXDCB2pCijtRYUU9PtRVnSPFFOxUXtB8Umg+Kuck0hiNefZ20U9JFOAAqyYfam8r2p2FEOkdqcFNP0e1Gg0AJuO1GvHal0kd6MGkAglXuKUyL2pNFNKUwEZ89DURzUuik00BRAVYmkMZzVjTS6KLCitoo0Yqzo9qNHtRYUVeXRy6tcv2o5dFhRV5dJy6t8sUnLp2FFXlnFJyzVrRRoosKKvK9qOXjtVop7UmgeKdioq8sUhjFWilIY9qdioq8ul0VY5ftQU9qYivoo0VNopeXQFEGil5dT8seaXQKYqKvLo0Va5dJy6LCitpNIU9qtcqjl07FRUMdJy6ucujlUWFFTlDxSiL2q3yhThEKdhRTENSLEPFWhGPFPEftSsKK6xe1TCMAbipAmKcEoCiLQPFKsS96nEdPWLegCARLTwgHarAhpwgFIZX0rS4GKsfZ6QxAUhkGkUaB4qbQKUADtQBCIiaXlVOMeKM+1ICDlU4Q4G4qTJBpGZjQA0IB4pCi+aCGNJpNIBCq9qbpBp+g0uigZFy8U0pU+ijRmlYFQx+abyqucr2peRnpRY6KXKNLyauiCni39qVgZ/J8UCE+K0xbgdRS8odlpgZggpwh81pcon8tKbdMbnFMRmiIU7lgDpV8xIO9NZVxtTAp6B4o5X+WrIYK2MDFSjSdwaKEUNAH5aXS3ULVt222wMeah5q9KdAQMr9VG/mlSaUPg6SKGxvgnFNAz0FVRNl+1yXO3Wpp50hX1HfxVSOblYwuBRI4n2bYVNFWNa5LjYAVWZQ7ZO5qYwqv5s/KhQAc6KpaEMFueoWlMQA3xU4lHTFNLf5RQKkVzGvtUbIncirB3P4RTeWpO+BTEViUGwWjUPFT8qMeDRy1/lFMRBr7dKQkHuTUzIvgVGUHjFAEeUHUU0lM7CpSq/OmZUdqpCZGdP8tFOJyfw0UyTaGD0P60uhTTAKkUgdq4zqE5IpTbgjapA3tin9e9OgsrG3x2pjQ+1XAKUx5ooLM4xe1NMdaJhphhFKgsocukMZ8VdMQpOVSGUjHTTH7Ve5NJyR8qAKWg+KNFXOTSGKgCpopdFWOXRy6YFfTSaas8s0cugCtpo01Y5ftSaPakBX0UmirGijRTAr6KXRU2j2pwX2pgV+X7UnJ9qtgAflp6qD2piKPJPikMR8VpiJfNBhSmiTL5Z8UnLrSNuvn9BTDbjspqgKHLo0YNWjCc9KQx0CK+mlCZ7VNox2pwA8UxWQcr2o5VWwopdFFCsqcmjk+1W9ApwQeKKGVBF7U4Q+1WxH7Uojp0Iq8n2peQauBMUaRQBV5G3SlEOO1WfpS7+KYECxe1SCOn70UAAUClGPFAFLp9qQWJpJpCntTwDTlHmgdkXK9qOUKsDSfFO0qfFKgsq6AO1HL9qtaBSGMGigsrcvbpRyz4qxyyKAh8UqGVzGfFNMftVsqvekCrnrSoLKnLz2o5Rq4QtJppUOyryvagRVa0imkLSoLK+gU8LUunxS6KdBZFgikyamKjvTfQPFFBZFrbtRlqeWUdqYZPanQWOXUacUGN2qHmnp0prO2aqhWSHlr1NRvOgHpFMKFj3NIIGPUGnSFbInfW1PVtxgGpOWqeM0hU/KmLYx8n8o+tM5fnFS4NKEzR0HZCFA7UoQeKm5e/agJnrSsKGAKBsKTAFTcoHvTDCc96VlUMBApGJNS8r2o0CiworlSaApHapmwOlMJpkiDYdKCV64pdOaNAoAjOD0WjR7VJ6VFRM7Z6GmA3QPFMMWelKzsfaoyzdzTSZNj+WfIo5Snrj9aiJNJjNVQrJSsIO5H0oqHTRRxFZuiMUaMVLil05rno3siGB2o1eBTygpuiihicxqXmtSafalx7UCDmMaQu3c0uk0FTQA3UfFJqPgU4g+KMUqGNyaQ5+dPxSYooBmfaj6U/FGKKAZj2owKfikxSodjdIpMCn4oIooLIyvgU0rUumkK0BZFpoxUmn2o0mgZFppQtS6aNFAiMCn49qXR70un3oAQKcbUmk+KeFI704A0xEQBFLmpN/FJpz2qkIQMp6ilIQ9AKUxmk5ZqhDNK/y0nLXxipdNGmmIi5YpeWKk0GjQaYhmgYpQvgUuk0uk0AJpNGDTsUaaAG6TRpqQLTtAoAixS1JoHmjSPNAEeKTSalwvegECgBmCO1AVqk1gdqOZ7CgBoXPWnBAaaXPypNZ80UFknLFBUD8wqLJPekxToVk2tRtnNHN9qhpc0UFknM9qXmjxUeaXIHvSGSBge1LjNRB8HanF2oAeVFJt2NMDE980uDSAUr70mwoANLilQxNQprGl0A9aCqjuaKAiwTSFP8ANipNh3NIW9hTAhKntvSiJj2qX1dv6Uctm70ARcrHUil9A6DVUvI804QgdqAINZ6AAUml2qxywKVRigCDk4GTRys7AVYOn50vbApAVuUoO43o5AbpkVOVVTk9aQuOwNAERgwOtIseKcxLHZacqtjc4pDALhelMJqUKO5pjlBtg0BZCz4GKiyznAqyFz2oWI6s9KYFcwvjeoyCp6ZrQ5RPU0oiUHpRsRm4Zu1O0KOpyavuI8VXdEPQ0WMrkgdBSEk9qVlAzvUZf2qkSwKFupAqNot9t6kEoHal5q4p7FormMjsabpbPTFTmQmoyS3ensnRHpPeilIoqhHQAUuKSlzWJoJikK06kooBumjTTqKVDsbpop1FFBY3FJin0UUAzFGkU+iigsZpFGkU+iigsj0igoKkxRRQWRaN6XRUuKTFKh2RhKOXmpKKKCyLl0cupaUUUHIh5dGjFTaRS6RRxDkQaKNFTaaXG1HEORBopwUgVLjbpS4p8RciHTSaDU9JpFPiKyIofNJpPipStGAO9Ogsi0GjSalyPFJ9KAI8GjSafvRg0wGaTS6KfilxQAzSKNIp+D4owaAGYpadg+KNJoENpMVJppNJoAZijFSaTRpNAEemgLT9NLg+aLAZik00/HvS4osCLRS6Kk00aaLAi0UaKl00mKLAj0UaKfRiiwGaaTS1PpcUWBHginDp3p2KMUAJnFJTqPpQMb8qME1IMeKQk+KBDRHmlEY8Uuo+1Jk+aBjsACgkDpUeaKQDuYPNNMnimlfFJjFMAMjGlDHvSbUBsdBSAdnwKcTgVGWJpNzSoY4tvuaQyY6UgQmnhD3NAxokJpQc9TTtKgbnNJqUHYUgFEakUuEUbgU0yDtUbEmmIkMyDYCgynHaocHxQc4oAk5uepp3NOO1VWyepzTSDTSCyd3PkfQVXck9zSUU0hWMIzTCKlINN3qhEemmlalIppFAiMikxUhFJQIjIxRT8CigDbxS4pcUYqCxuKMU7FGKAG0lPxRigBlLinYFGKAG4oxTtqNqAsbilxS0UUAmKKXaiigExRiloooLExRilozRQWJijFLmlooQ3FGKWiigG4paWiihib0tFHenQrEzRn2petJj3pbGGaNVGPejFPYhNVBOaXTS7UAN2pdIpaKADAoxRiigAoo70U6AKKKKACiiigQYowaN6M0DAijHvRRigBMHzSaTTsUUAJpNGDS0UWAmk0Y96M0b0WAYPmkwaUGj60gExRppc0E0AJikpTSUgCiiigAooooAN6N6WigBuKMClopjEwKDS0UgGHNGDT8gUavanYEeg0afenkk0lKwEwtGQOgpaTakMNRpuT5oooChNzRilpKQ6DAFIT4FLiigBhyaaQakpMVSYqIsUVOseeuKcEjHWiwor8skZxSCMsdhVwcsjpS7Y9IxRYFUwaRljUZj8Z/SrTMTtQGP8pNK2Oir9nYjOKPszkdKsl8HcGkMwx0NFsVFY2jnxSfY3HXFWRcAbYNI8hcYBwKdsKRAbfH5f3opWXB/H+9FAaNHvRS9qTqaogM0UUUAFFFFMAooooAKKKKACiiigAooooAKKKKACiiigAxRRSigBKKKKACijFGKACiiigAooooAKKKKACiiigAooooAKKKKACiikoAWikpe1IBKXNJRQAtGaKKBgKWkozSAWkozRQAUUdqWkAmKKKDQAlJTsUmKBiUUuKTFIANJS4ooASilxRigBKKWjFACUUuKSmAUUuKSgAooopABFJilopANopcUlAwpCM0tNlkSGJpJDpVRkmi62MTHms+741aWmQXVioyTnYCuf+I/i1bVFhVSnNOmNcFnc/8ASN/974ryD4t+JL5OIiZb5kABU6sAeMYGf61wy8lzfHF/2dkMCS5ZD1PjvxubLQ0V4gBQt92ARv8Ah38da5KH+IfFZL2HTxpk1nDK8asq/SvGm4/cGYsbn0gnbfH6Gov8RklkDQHAzuM7fQ1pHHNdsHOHSR9PcJ+PopLv7Feabhx0ntUIU7ZOVJOMeQcV2MM0dxEskTBkbof99K+R4eL8Qs7B+VI3KfGsI25xXd/BP8WOIwTxwT3P2mAEBopz6sez9c/OtYtrsylFPo+gMUU2GZJ4I5omDRyKGU+QRkU81qYjaTFOpKBAMA08OvimYpMUwJNQG+BTGkJpuKKAE1mmkkmn0mKYiMigin4pCtMQzTRTiKKLA0qTvRRVEhmkxS0UwExQBS0UgExQBS0UAHeiiigBO9LiiigAxSEUtHegBMUUtFACCg0d6KACl7UmKKAF7ikoooAWj60lFAC4oIoHSkoAXHSg9KM0ZzQAlBGKXOO1HWgBKKKKACilpKACiiigAooooAKKKKACiiikAUUYoxRYBRiloosYmKWiikAUUUlIBaSjvRQAGijtR9aBhRRQaKATFGKWiigsSiloxQA2lpaTFIBKWlpKAEopcUYoAbRTsUmMe9IQlFLiigY2iloxQMbWfxWeRUWKJNWTlm8CtLFVr1c27YHfJrHMm4NI0xtKSs8n+M79uHkLBGslxMRG7Hcknony7nt868W45cTTTXczuXjhOknH42Jxt4Gx+gr3P4k4W8onuC6faFSR42YelXOxb5hRt868Q4zEIQ9rJvbyyj73/NjYfLSd/c1w+LGmd2d6OMdisuWAL41EN+FR5P8ApUrTSm355bEZO5GxJ7D27/pTruBvtEuV/wCZKR/6QNv1NRSahaPbqdSjf5nIOa9ZbPNbaLNnxJ2V0Y+nB2p1lO/M5qEh3zpXsx/l9j4NZMP/ADtPYnB+u1avDk5bxxv+BnwT/Kc4z8wcUNJC5Nn1R/Brj4418Cxws5d7JuWCe6Eal/uPpXoFeP8A8AYytpxggaULR+nwfVn+pr2LAqI9Gj7GUU/AoKimSR0U8rSYoGNxSYp1FOxDKKdijFADDSZp5FJp9qAG4zRTsUUWIu0UUVqQFFFFABRRRQAUUUUAFFFFABRijNLSATaijGKTNABmgGijvQAZ3ozQetFABRRQetABSUtJ3oAWiiipsYUUtJRYBiijNFMABo8UUYpiCjpRR2oAKMUUb0AFFFFABRRRSsAooopWOgoooosdBRRRSsKCjNFFFhQmaCaDQKQBmjOaDSdKVgLmlpN6KLAU0ZpKMUWAZozRSY3pWAuc0ZNJRQAuaCaSjrQAZNGqjFJQAuTRSUmoUDodRVObithbXKW895bxTOcLG8gDE/I1aDA0k0+htNdjqSiimIKKKKBBRRRTAKrXcqIqIzANISFB74Gas0yRFdcMAfHtUSTapFxaTtnlXxxxqx4bJNZSXcSS3Ebssb9DgYYA+ScbV41xzlC2GJBJq1yHG4BJOCPoGPyxXQfxkRrmCW8XeM3+Ij/KRHiRfqQD/wC9edg3Edi5k/Ar6QCeuPxfTtn3ri8apR5L7PQ8mMoUn9FO9uWWaeF10lZSSB2JA2+m4+lZjXOl8dhmpLiTTI5kbMjMSRnoSckms+ST7w+K9KJ5ki0hHOBB69a0vtIlYBeobm/PyP2zWEJAD1xWzwuJXkQhg2SNJ7dd/wBqpkrs+mv4BW0g+E7+8dSPtF16T5AX/U16rk15X/AaOZeDcazI5tYrtYIUJ2BVPWR8ya9XxWMXaN5ri6GZNGTT8UmKqyBuTRvTsUYoAZminbUhG+1FgJSZpcUlFjEyaXNGKTFAAaKSigRdpaSlxWxmFFFFAhMUUtFACYpaKKAEopaKBiUUtJQAUUUUgFpO3SlooAT6UlKTSUAGNqKKKACijNFABRSUuaQBQaKKBhRRRTEAFOpKKADFLRRQAmKTFOpKAExRilzRQAlFKRvTaQDqTFBpKVDsWijFFSxhRRmkzSsBaSkoosBcjzRkUlJRYDtW1JmkopALmjNJRSGLmjNJRRYhaXOKbRRYxaO1JRSsAoozRmiwFpGzpOOvajNMkkWNSzEACnYUcv8AEXx3a/D9tPJLaTTMkYeMJjDknGM9sHr4/SvEfin+KHxJLPFJPfy2ZnUultbNoSNc4AJG7N3OTtXp/wDEaztrqyaWOPlzTHHLLf8AMO2G0jodhv37183cblnmaWyuInS4tZCqnqSxbcH59RXEpSnNxb0j0VCMcakltm1f/FMnFYZorqZpJ4EVw7HJ1YOd/wBK7X+GH8SLvhXHbXhl/eST8OvHEeJW1cl26MCegzsR0714gebb3FwmdRYlSR862OCvLPd2sEStJMXUKqjJJ1Cuj41FWjFzc9SPuEE0uarWUhks4WY+oopb543qxWiZzMXNGaSiixC/WlptG9OwF3qK4DtbShG0sVOD4OKlpKT2qGnWz5r/AIwRcrgKOp0ob4sI/wCYunX57Yry+dZG4Vb4cqQpc5H5u3+/fNe1fxmhNpeJb4BhlTGlhkAg7MPBGevua43j3DrU/C/Ar2KCOLn2pSXT+Z1dlJPvsK8nx5vHFRf2e5mSypP9jx6WM6ySTnvmotO9dldfC0nM13TfZUIzo06pSOx0/l/8xFQRcG4WHwyTsfLyY/YCvbhPkrR8/kag6OTK4ra4Cki3UciAsqkNpHcjoPmTgfWtG54ZYWxUtZa0b8wlatz4Xv4Phnj1tf23C7e4dMSRR3DF42I3BG/4h2py2iIZYqSbPqb+Hvw8/wAMfA/D7CdQt2VM9z//ALXOph9M4+ldNXnHwT/GDh3xLPFZcQtv8MvJW0RnXrhkb+UNsVJ7A9fNej5rHrRtz57CijNFFhYUUUmPelYwwKSlxRiiwEoxRiiixiFd6NNLQc0WAyilwaKdiHpfWr/hnQ/WpwQwyCCPauIikxWja38sGND7eD0rKPlP/ki3h+jp6KzrfiyOAJV0nyOlXo5Y5RlHDfKuqOSM+mYOLXY+iiitCQooooAKKKKACiiigBKKWkoGGaWkpaQCGkFKTSUALtSUfOilYBSd6WigBKWiik2MKKKMUrBBRmiimmAoo6UlLkE1QgyKM0tJ0oAMilpDR2oAMUdKWkNKwA9KTFL2pKVgFFFGalsYUUZpNVTYwpKM0hcClaGLRTdYo1DzSsKFoozSUWAuaTNJmilY6F1e1JqoopAIWNGo+KXFGKQ9CBj4pdRoAoxQGgzRqOKTFGN6LANVGqkwaMUrCgL1h/EfHYeDWTTSLrmIPKTye5rbbAFeIfxP47NJxSeO2kHp+6TPbA3PyBrDNkcVS7Z0+PjU5b6RyXHvjOWPjX2nIuJo5A8rsTgkb6B9K474l46L7jQlsLRhluZqaPDKcfuR5rNuJ8XGl8hUJ3PViDkk/P8AsKZw+Uzzyv2Xv7f7NOGCMfyZrPPJ/ijCubu6ilZdJXXvuCNjVvhUs4lR4mZZ1OoMDg7VocThjuLsk7hVCg1XihUIjKCrK2CQa7dcTj3yPef4V/xZmlurfgnHJTIJiI4LhjurdlY9wexr3NGyua+IEaS3dJo3KnUDkflbOQf1r7L+GuIHivwvwy/JBe5tkkbHTJG/75rDp0XJXs1s0ZoFLinZkJml3oxRj3oAKKKjnnitreSeeRYoolLu7nAUDcknxTsSPIP45WMt3dcHgtLd57mdmCqgyW6bY/fPauMl4zwvgXw7acOune74jamUpLBo5cJdsnSX2Zh0DAEDfGdjXTfG/H+K/E5N1FBJZcEUFLZGPKmvQersfxJF4HVtvmPI7+RoJWL8Ps2H+VSf3O9ebCKyzddWduTNKGNR9kF9xvhzSHRYs5JJLz3jOzHycAVly8WtN9PD4D/+M5ome3nJCaLd/BiBWqFwL23Us0MMkf8AOkakf0r1Ujy6RZ/xmIbfYYyPDSOR/WgcdVI1QWsSqjB0wWyp8g1k/byTkxQH5xik+1g//Ag//TrTYuKOjh+JS9y8gt4UL7kAkfXrXo9n/Hv4q5CxLLZyNEAmp7bUz42yTq6mvGY7zQQRBBt/9MVdtL7lzGQQwAk9dAqGikq6Ppz4A/jVB8ScSg4Txq1jsr2dtEU0RPKkfspB3UntuQem1er5r4x4BfLc/EXD3maOERTxyNMkeGQK4OrbqBivsm2uYL22S5tpkmglGpJEOVYHuDUGqZLRRR9aBhRTWkVe9M+0J70uSHTJabkeRUEs2V2qmxJNTyt6Hx+zTz70hYDuKy9ZHc0hcnvTEanMTyKKys0Uws5xJsVPHcb1jibHepY5968uzto3opulXoZcYIOD7VgwzHzWhBLnG9UpCcToILtxgMdQ96upKjDIOKxYH6VeibpvXXizyRzzxov5yNqUVFGdqmFd8HyOdqgxSUtIatkiZoyD3pGNQtWMp0WlZPtRVNmPmmc50OzVn8/7F/GX80Zqmt7j8Qz8qlW5jfo2D71aypkuDRP70ZqPV70hNVyFRJmioqM1LkFEmR5oz71ETTSaXIfEsClqoSfJpNbdmIpch8S3n3pNQFVec/mk57d8GjmPgWi/tSazVYXIz6hj3qQSI3RhRzsOJLzPIpRIKiyPNGoUc2LiTahil1VBqo10fIHEm1UmrFRF/ek1e9S5hxJdZpdftUBPuaTWw70uY+JY1UhaoDI1IHkz1o5hwLGqk1VAZgOv7U0XCk43FLkPiWNdBaogwYbHNGaXIOI/PvTc0fSo2kVTgsB9amxpEmaQsBUfMU/mH61GZUP5qLKom5nvijmtUIkj/mxTGuVX8K5NA6RZWRs771IJAeu1ZhuJSc6sfSkF1MvfP0qlZLSNfI87U0yxj84/Wszn8wYLEGkK0WLiaJuYQd3FKLiJjtIKyyMUmBTFRsg5GxzRv5rHWV4z6GI+VTx8QcbOoYfpRQGhvRVQXyt0AHzNP+1H+QfrSpgWM0lQfaf8n70faR/J+9FMBLyUxWzsu7BTj5185fF6TRX909y+p9R0D/J1Zvlk4+lfQvEZi9hNoU6wpK9968C+P7Mw29xJIW+0SaUx3KhdR+moj9K87yG1limen4i/pyZ5DxO6FxIzqMAOQP6Va4bayW/Abi7bYTOETP5m8D6ZJ+lX+G/Cz8QAuLhzBYI+JJiN2P8AKg7n+lUPiDi8ctzyLWMRWtsOXDH1x7nyfNegpKT4ROWUXH85FOd/umw25fGfYU21my2c5VvxDwarM+LTc+o+qmWgJmbHQnNdPo5vZqpMDqjboRtX17/D+aOL+HvBVx0tl2H+/Oa+NreUGZNW+lv28V9i/BkKQ/CXDo42DIYEZfkVFYv9Ro/0nSm9j/lagXyd0aqpXJ6Uuir4ox2XVvIj3I+YqRZUbo4NZ4SuJ+J/4h23CIA3DlS9JdozIr+lWXYg47is5zjD+7KjFtN+kd5xPi/D+D2pueI3sFpCPzyuFB+Xn6V5v8XfxQ+Hb+w+w2N6lwGcF9Vu7q2NwNO2rfBwdtu9eY8a+ObniF21xcQWskvQFo9ZHy1ZrAuvi+9ZNKNFGP8A6cYU/sKylGeRU1QlljF2jW+JPiL4lvpTK9xzY87faIUiOPYKc/rXHXfFW1n7UnKY9xup+tSy8UluMmV2Y+5qhO3OyDuDWmLEoKqMZzc3bGSGG47gN2IqqJ57RyFYj5VXmt5bdtUJ9P8AIen08U0XPM9LbEdjXRRBbZ7G6/8A6m2Af+eP0n/Q03/B+HyEcriYiPiaM/1FVD1yKaZCj57imPZqf+H7bAC8TUt3+72+m+aBwaK3f767LD/KNOfqayTcvnOTmpU4jKoILEqeoNLYbOm4dbNDMgjgaFNQdnJ1NIO3q6Y+Vew/wj+L04Zc3PC+IX/KtLjS9uJNkjlz6hn8obY+M14rwDjbRxT2rAmHIdAfyk9QPY9av23FW/xJdI9C9R5rNp2NOtn2Hzmx1yDuKBOe9eJfCvx9ecHjihkJurBdjCTug8oe3y6V7BwziFrxfh0d7ZSiWCToehB7gjsR4rOjpUky+JhjpTHYHem4oIpUVYxmOdqZT8UmmmiRmKMU/TRpqrFQ0UVIFoo5BxPOOYfNTQvnG9UNY7Gp4pK8tncbEL9K0bd+lYsEhyK0IJMEVFjN+B6vwuM1iQTdN60IZdquM6IlGzZifarAb3rLjuPerCT5713489HJPGy7mkJqAy4HWlEmR1ro+dMy4MczVC5pWbNQu1YTnZrGIxnwajaSkd6rO/vXO5G6RMZBTDKKrtLUTSbdaXIdF5bxoz6W28VMnEh+cfoaxWl671EZT5qlNoTgmdRHcxyj0sD7U/XXKC5ZTkMRVqHjE0ezYce9Wsv2Q8f0dAWpNVZ8HFoJdidB96tCQMMggir52LiS596TNMLUmaOQUONNakLUEilY6GmmkU7IpCQKVjoYGcfmqQSA7E4NRF1zSal8GiwosYJ6GlDsuxP61AraR6Wp/NU9SM07FRMJv8tBnH8p/Wo1w3Q0ujNOwpDxOncEU8OhGzCq5TFJiiw4k5bxUbaj3pnamkHzRYUP00YHmo8UhFKx0SagvQ70G5IFRYpNNAUOa6kYdcVCSSdzTytNK0xUNop2DRpqrFQ2jNO0mjTRYhtGNqXTRRYDCtKGZeh2p2mjTTsKASA7HY07HvTCtJuOhpoQ/FIV3pvMI6gGnCVD12qhUJpoDMnQ07Wnmml0zQFEiz/zD6ipRIh71Xyp6GjHigKLXUbV5z8c8Aivb6NpkPLiYu4z+JewJ+dd8uRXL/FTRxcw9XZQ5GfGwrg89f01Jdpnd4L/AKnH7PDPjTiksB5FjAIoFUhCRggf5R2FeXTa3l9RPWvbPiThsUii95etZc6TnGxJz8/FeY3vCS87mJSFztmn4WWPGqNfMwycrMNm1ggdlxUsLclWB61bXg85fSFyCetaafDkrzxoSAZXWMfMnH9673kRwLFL6Lnwb8GXvxFKZ0QrbQgM7EbE9h9T+2a+qfg60+yfDltZnJNupjyeuAe9N+HfhSy4B8Ow8MtoV0xDDHu52yx963be2FvPLjZZDr+uMH+grOm3yY3JVxQ/l+1Gj2qbTSOVRSzEBQMk1ZkYPxTxCDh3AbnmzvC0iFVMeNe/XT4OO/avm/4i+IjLbx8PtYo7WytyeVDGuAuepJ6sT3J3Ndz/ABQ+MOdeSW8EgIG2x6DxXjV3cGRySck1zY18kvkf+C8v4Lgv8kc90zE5NU2myetJK2ag712o46LCyb9amVge9U1YipRJTE0WJQClZ1xbBx79iOtWjLkUnWqRPRksZIT6skeaTnK461oyQau1U5rDO42PtTKTINYzUqSJ3qA2cwOxqaKzfPqJooq0aFhcLBG5C6nY7Cr9o2k6idyck1Rt7cIOm9XFGnpUGbdnU8J4gNo2O3SvTv4W/EDcL+J/8ImkzacS/wCXnosoG36jb9K8RtpzHKCDXU2fEZIooL6BiJbSRZkx2KnOP2rN6Liz6tKA9qYUpLK7iv7GC8hIaK4jWVCPDDI/rUzDeoejrRWK+1JpqYimGpAbpoxilNJmgQtFJmigZ5Ek3tVqGTJrLiY+avRMcV57OtGtC4xV6GWsiJjtirsLnG9ZMo2IZDtvV6OfA61jQy1aE23WkOjWS4OatxXBJ61ixyn61bilwetPkJxNeSfYb06OfbrWY82cb0JPhhvWiyOyPjVGuZc1Gz1AswI60M+1ac7IUaEkaq8hpzvUDtU2XQx232qBnNOcmoGJHWixUDE1GXxQWzUTbVViHls0ayOhqEsc9abzCDTAmaQ0+G9lgPocj2qAOTTWO+1OxG7bcaVhpmGD5FWRxO3J3JA84rmC2KlSXbeq5Co6hLmGX8EitT9XiuW5gJ64qeLiM9vsr618NTUgo6As1MIz1zWfDxqFiBKpQ+eorRR0kTUjBge4pphQlFOxTSKoQm1NI96U0lAg6dDSiaVfzmmkHtTcGgROt2R+Jc/KnrcRscHK/OqhyKQkUwL+M9DSEVTSRlPpapPtLfmUGgZP0pOtRC5TupFKbhMbAmkBIRTaj+0r3Uinc6Nu+PnTELqFLkU3Cnoc0mkUwHYHmg4HemHHmkJGKAJNvIpMr5qMuB2ppc9himIl1DzSF1HeoSxPU03FMRNzVHSm8/wKZigCgAMrGjWe9GKbTEP1A0ukHeoyKTB807Al0UaaYGYd6cH8inYBijcdKdqQ96UAHoaLChoZh3rG+JuEPxfh5MJIuYwdIH5x/L/pW5pp2gBdRwAOpPQVE4xnHjIvHOWOSlHtHlXw9bwcUtrnhl0uJrQmRFcYOk7MPof61xfGOF2sF5KsenAY9K9a43bcIk4w19amB71ozG0kc25B2OQDjONs1xfEOAWsrk6XT3V8/wBa5cPiSTbi9Hfl8/H1JNHn/wBmUXihAMdTWwtsraHXGtGV1z5ByK0R8MQxMStzIcnPqUGrEXCI0O8sjfLArsXjzfZyvzMS9ns3BfifhfF7SGSO5jimkwpgkYK4fGdOD16Hp1raGlxkEH5V4tYxJbsjRrpZDkN3B85rrbH4quLJNV0yyxKMlmOlgPnXR8LSPP8Ani3pHe4Fct8d8bXg/A5dLIhZfVJI2lUHue59hk1La/G3DLq1meJ5DLGhZYXTDSHHRfJNfP3xjxHiPFuKyXfxFxKGOXJ0WkTiUwj+XCnCn5nNcGaVv40+zsgnH82jmuMcRN3dyOHaTUc6iMZ+lYkjGrlxeW6kiCFm/wA0h/sKz3aads6T9BXVFUjlk7I3am054WQerAPimDrudq0JHbCkLU3LSHAGB2pxhfTshx5O1Mlia6cH96iKYPqdFHzpQ0P/AMwsfYVQi0jgneptIYVUQrnYH61ZR6TIaFMSmk5YUVKDkU1qQhFAFSqM1EDvU0dDGhh2bIrc4VK0NtLJjWqDUU/nHcfpWIyS5zGFb2JxVm2v5LEPIUKmPDSxEfjj/MR7jr+tRLZSR9O/wf4rDxT+F3CWhnE32YPbtvuulzgHwdJWu4LDGa+bv/4fuNvw348418N8zNtdRfaIhnbWncfNG/YV9DNIxrGWmdcNolZvFN1GoC7eaNR80rKJsmkzUQY+aNRoCiXVRUOo0UAePQN71bR8bZrPjbBG1W0PQ7Vws6UaML7jeraPjvWbG+TtVuN8Des2ijQjc+atRS+azUcA5qdJM9aloaZqRy56VOk29ZqTYFSrN5qWirNLn04TZrOE2/Wl52OlAzZjm2FT80EVkRT+TVmOX3qkyGiy71Az0rNkVC5ODVWAO+TUDMfnQWbtUZY00xAW36VE7E0pao2Yd6pMkQsTtSKaazDsaA2BVWSPz7U1m9qQsBTdJbpmiwF5ntTlkqBsqdyaVTjvTET6wDRrHmotQ69aTPcUwJS2rqalhuZYDmOVh7DpVXV5NLrIFUI24eMB8CQsjee1XEumYZVwwrlzJncE5pVmYfP51SEdWLkH8S/pUivG3Rq5VbmVG1LK2fc5qb/FJwPwpnziqA6bCj3prHwK5wcZu1/k/Sp4uOtn76IAdyp/tQK0azFj1NRNRDcx3KaonDD+lPPypgREe9Gph+Y04jFNNMQomYdQDTxMp65FQnakIpiLIKt0OaQiq2Md6cJXXvmgdk2D2NAlde+R71GJ/I/Snh1bof1oFZILj+YU9ZkI64+dRFPamlKAstbN0INIVqppKnbNPWaRe+fnTAlK4pMUguAdmGKkBVuhoAZS04ikxTEFGPejBooATTSEU6jHtQA3FJipAvtTnMdvbvcSkBEHfuaTdK2NK3SIyulNTFUT+ZiAP3qu3ErCHOq8jJHZAWrguP8AxG93dNpc6Qdt6xG4m7AjUf1qVOzsXi/bPQ774xt7cEW0es/zSHb9BXHcX+JLi/J+0TtIvZAcKPoNq5+ediSSxNU5JyO9F32bQxxh0izNcCVvwAeNulWrLi8qSLBcNzI2OFc9VPYHyPesY3NIZQ4wehrSEuO0Z5sayqmdUxVtxTNgaoWtyZII3J3ZQT8+h/pVoS16EXaPnZR4ui7EelUuI3glm5CnKRH1e7f9qfNdi2tJJj+RSwHyFc7HKwQamJY7k+T3rHPOlR2+Fi5Sc36NdbkDvVe94ZwvjOBe2qSP0Ei+hx9R/fNUw+epqWOYKw3rj5Ues4pqmYvFvgGKG3efhXNuXUZ+zyMNTf8ASdsn2rz6e/lYlEj5QBwRjBFezpc5xvXnv8RrCK24rDxGFAq3oPMA6cwdT9QQfnmrjJN0cebCkuSOPbW5yxzUsUIIyx0r3JpgZVTU1Ubi5eZ9CnC+PNbrZxMvz8Shthy7VAz/AMx3qsWeQcy6kPsud/0qOOBYVyzgE/U1KgXqsDOfLdKqiSEESvkjSo6KKtRoQPTEfqKcGn6AJGPYUEufxSk0xDxrzuAKeGxUIwDSg0CZcR6HbFQI1OdtqkVClt81LHIDVQtTo23p0BproZcNuO9Sy28vIAVxPZsdLEjLwMdg3yzse29VIX6VqWgMkiNG2iQek+GU9QRWMtFI2/4Dx6/4w2zyvpeOwkGP5mEQGP8AfivqLtXyP/CriP2L+LHBrn8Ilu2iYez5X+9fXDnBxUzWzpg9EZooNJkeaiixaKTUPNBcUUFi0UwvRRQrPGkcgdasIW81SS5t3UaX0ntmp1bIG+flXBdnSmX0k0+MVbjmBGKzI32q1Gy/Wihl5XIqeOQgjNU1bbrUqyCpoovrJttTll361TEpIxnanJJ71NDLwlpebtVTnfKnCT2pBZejm22NWYrjyazEfxUyvjfNAWa6zZXrTGc+dqpJN4NSltQ60DJGYVEXprNjvUZfB60xMcz00kY3zTdfvmmlgR1qkSx2BTGzS6vek1A1RIajgUoZsdaAQBTWIPegBxKkU0gY7UlJimhBgjxSE6ehoLY6UhUnvVoQvMOOmaQPqO4IpMEeKQsR1qiRxG9HypnMXwaUPtsM1Qh4Vj+YClJ0n1PmmaznxSMx7sKYrJOZ/lpjb7nNRFwDux+lPEgYbZzVE2Sw3DwPqjYqfnW5Z8VhnCpKeXJ0yehrnN/NNLHFOhXR2unI2phSuWhu54yMSMAPersfF7hManDD3FOh80bJXFJpNUE40jDeLf2NL/i6npGPqaAtF3FIVqkeLE/hiX9ahfidwW2CqPYU6FyRpYppBFZh4lcZ6r+lSx8UOfvI/wD006FaNBZHXoc/OplnB2YYrNPE4f5HFC8Rgb+YfSig5I1xhhkEGmlKpRTpJvHID8jVhZ2H4hmlRVjymKbgg08So3fB96UjNAAsrDrvUiyA+1RaaAMUwLGqjY1EGIp4OaAHjFLTRSigBy9a5f484obayS0jbBP4sV1MZGsZ6V5l8ZXBueISHsK5s8uo/Z2+JC5OT9HIzTktkmmiYDeoZWGsnxVZ5x2pJncyzNcZGM1WdsioWky3WnBsrVWQxMb0b00tvRkkbbnoB71omRLo1bBv+Fj+RP8A9xq+j1QtQqRBQdhhQfOO9W0kX+cfrXpxVKj5qb5SbE4kTJZSIvdT/v8Aass/hrXfDpjUM9qyp4jHnH4f6e1c+eN7O/wsiTcGRgjzT0YA1V1aZMVKQeorjZ6pbDenY1y/x4TLwKBjuY7gH9VIroFYgbdaxPiJJOLfD4jtImnuJbiNIo0GWd9WAAPnTh+pGOXcGjzW4mO6jtVeLeSrnGeE3nA+OXfC75VS7tJDHIFOoBh4PepRZiSOO9iUCKQ6HUf/AA5AMkfIjcfUdq7eSSX7nlU2SwAKnpiGfJFPbUepoDFRims+RSTIaGNTTQWNNzVokdmnCo804dKdgSg04nK1EKkHSpERk0K2DTX60zVg71QGjE2FzWtwti0oZTupGf1rEhbVBnwa1OFSFLpWXcj8S+R5rGfQIqcFmNh8aQTA4NtxBW/SWvs+WQcxiO5r4mum+zfFN9/knZv/ALga+zIpuZBE/wDMin9QKUlbOiHRYMlNLVEWNJmpoqyTNGajzRmnQrH66Ki1UUqHZ4Rb3SJGPtI0t+Uita2vIWhLMwAXuK4/WZvxMTjpWjYsjqIncpgda86UK2aRkdWsikDScjqCKnjkUDrvWDY8RhiUxo2rSdge9acbq6hs4zvikn9mqdmiJsnY1Ksx6GqMbkdBTxKD160FWakcy6cEU7WufSazkc42qZWYbmpoqy+jA9ak1+KohwR1wakViKkLLXM8U9JTmqysTUiHfegdlyOTBqbWP5qpA+9PRt/V0ooC4XyOtNJ8VEGB/CaQ7d6AHM+2wpofyKN/NNYGqQiQEHpvRnfpUJcrtS6sjvVEkpOaTIxUeo+KQSDOKAJMjrTWYUwkk0mnJ3NNAPyqr5oJBGaYV3pMHFWiR4A60hx5qMkjYUgzVIkkC70EEHrSBjSnfc1SExpGe+9MLFakzg9KCAaqyGhgbV1FKCoOwpCPFOVd+lUKhwbO+aQjvUg046UYBoTFREGP1p4BzknenKgoZQKuyaDYDJpNW+1IV6ZNM/PtTEShiATT1kYDdqjXAGO9JnOwoAm5+/k0GVR2qJTgE43pMqOoJNOgJi4anJy8darEk+wpNVOhFlRpOVbf2NTC8uUGBITnzvVDXjoalSbaimCLn2+60/8AMG3sKmh4rNHs+GH6VSWQMPFKQvbc0BbRsRcYhf8AHlD8s1bivIptkZWPjpXN6RSDKuNLEYpcUPmzquYPFKJF96wYOJzxbOOYo89avw8TtZTpLGM/5hSplKSNDngDYGk57HoMU1UDrlSCPal5TVJQ5HJLEnopP7V5h8TPpeVidya9PA0xSse0bGvG/iq8L3DqDtmuTMrmj0/D1CTObubghiAayP8AFeZxFrRFJ0AFm7DParrkkHPWuetbmOL4iu4XIVmCuuTjO2D/AGq4xtM1nKmjpUUkZzTjkVXS7BwqMGPgbmrMaTSdU0/Pr+lVGLfRE8kY9sQdMmrMFqztlhg//t9/n4FSRQJGQzEkjv3/AO1SmcqMRIAK68eKts8zyPK5rjDosLEFUALtQYVzkqaq865PRiPlSc66zvJIfka6kzzWi5y4x1Vh9aGUFcAZHg1WW5mH4i/1NSi6Y9x+lDpgtFeS0JOU6+D/AK1EdUR0uCp8HatFZieoBqZAr+kqMeDuKwlhT6O3H5k46lsyZJRHbSSfyKT+1b/8JoE/8T8NV0DGNJH3HQ6Dv896zeOWVvFwK4lWPQ50qNJON2A6frW//CmIH4pJ7xWzkfUqK5pQcZJHYsqyQckcH/Hv4a/w744ficSYivQGY4/NXnFhJIlvdom4aEyFexKHUD/UfU19K/x14N9t+EBeacmA9fFeAfDtgj2nG7ueMvDa8PckDr6mVdvfBNRjycYSjL06/wDhlkhcoyXtf/pnAq6hkyVO+/UVG4xShXtbl7d8NjBVx+ZSMqfqCKWTV3rrRyMg3NLgDrTvUSAO9RudLEVoQKDk0+mxjO56UZy21AhwqVTtUVPHShgMk61C3TNSud6iNMC3w3713g/NIp0/MbirVrIYOTeDpBIDIP8AIdjWTFK9vOkqfijYMPpW60StcXUKf8q5hMkXuGGR/p9KiXYfuUOOgD4s4kq7gyHHvkCvsaBdFvEv8qKP2FfHdjbycW+MbG3ALPey2ye/q0A/3r7IOCzEdM7UNaRrFhq6UooxR0qKKFooqOWeOFdUrqg9zQMcRvRWVPx2KNsRRtJ75wKKKFZ4GjrErMwzjb606O7LbkDft5pqRi9TWrgE9RUkXD40kb79XZBqx2A81wNr2Vs2LSS2MRcQRiYbhVO9THi7QykGDUmNu1YQuZH1LGxyvTBxmrEHEb1CGKA4PUrsfaseD7LUjpbS/guY1IDr5HXFW/SGBVgVrNgFu8LXEatEzD1KTt9Kek9voXDDV3PipUtmqZqrJ4qXmEjHWs+Js/hOamDORgAnHWrKstI51b1OsvbOKzxKfrViOZWXDDBHekx2XVlzU6uMVTjBwCpGPnUobJx3FToC2sgB6VIZR4yKqhgFwTvSKxBphZbD+Din6yTvVPWc08SkU6Cy3uKTX71AJs96cHyPekkFj2GaQMRtmmFjmlzv0qgBnbzRqNBPtQWA6CmABmY9aXBG5zTNfcDFOyW6GgQuok0pYdzTenXFJsapCY7YjrQqkHrTcY96UZ6Zq0yR2rFKGHXrTSKULkUwHBge1OwB+Ko8YPWlCg70AO9HinAg9qFUDtTgMdKVhQBfajSad6jShTiq5BxI+hprAk71KU3zSaatMhohxSgbe9PKU0tp2q7M2hFQCjIXYCk170o33qiRpI1HvSqpG4703vT85G1MQjHA65qMgmlKnO9KWx0qkJjRSg4GKTJNNHzqiSRTTgxHemZxQDvSGTLLhd8mnCT3qNcEb0aB5oAmDAjOd6QL3pEC5wRsamkAC7dqV0FCJK8eeXIy/I4qRLmc9ZXz/wBRqtSq5yN9qBmp9vkh4NezSyEqq6Rnya8b4zcc25c5zvXo3xXeix+HIoT+KUmQ/wBv2FeT3E3MlJ968+X5TbPb8ePDEl9kR3zTeCcAHEuF8e4msCSzWlxAgJXJEZVtWPqVJokkCRsxNeh/w64SsXwRM0wK/wCJyyStgZOnGlT+2RW8LSdGHkNaTONsY4okOvAbpjoP0FTtL2VcD5Yq5xHhR4ZxeSFIRaCT1qhYSMqHpk+e9Zs0mtyseWA/3ua64SUkmjyZxcW0xHnbPakErHuaqvLpOBjPzpVlJ6yY+QrVGbLqq5GcYHknFL6R1ljH/mqsmhjnlNIfferCRyn8FoaohsU4xtIp+WaYSw8/pUjR3IHqjVfnIBUTBh+J4B85x/rQKxyzkHqasxXRBGd6zmYA/wDMh+kmamgmgBHNbSDtqG4FA9Fzj85k4LHGDkNcJ89gTW1/DWQj4muNJxi0P/71rl/iGZojY22VZGDTB13DDoP6muq/hbEX4pxG47JAkefmxP8AauTI/wAz0cSrCzsfjmGXiPwXxC2LFsoCAfnXjF7wxPh/4EvLcjFxxFmdvaGFCf3dh+le+3MIns5YiMhxjFeK/wAVZobawkKYzdn7DbLnpCh1SN/5m2rzc1/zEYLp0/8Ar/bOjG18Dk+1Z5rbot3w7kkYu7Ff/wBSHOf1Un/0n2pphVgMsBSxiSOWK+gOJYiM/wDceCNqmuLdJHEkG0Ug1Kp/L5X6HavT6Z5rdqysyxwRkghnPSqOgu1aJsnI9qY0BjGFQlj7VomTZTYaBpFOSMhdRq3HYnHMmOkeKhuZV/CnQVViIAcmpR0qFTUw6CmwIpBvUTVNLUJoQDSM1t8JkNzbxQk/e2ren/NEx3/9LHPyNYtWrSaW0njuYSOZEdQz0PkH2PSpkrQz0v8Ag98Ez8T+K4fiScaLDhhZUJ6yzjOAPZQwJPnAr6EUYGK8u/hHfpb/AAldvGGa2lvWlgU/lDIpdfowxXbScYuG2TTGPbc0mzSOkbUkscIzI6oPc1nz8YRSVhQv7nYVkSTNIxLEsx7mmAmkOyea8nkbU0rfIHFV2dnOWJJ96GNMNImxpG9FB60UCs8aimFuvoVST3I6VFrfnlwQ2o7jzVNJi7ZbOakWXMgwMVx8TSycyyK4YjGOmBU6Xdw8YAO+arkOHxjNSosiHIXY96TSA10uLiOKPRIWjYetT5qaG9aP7xIhkdQR1FZK3ZiOht60Fuj9nUoBucdKxcDRM11nS5iPJJQ9SG2qwk8oj74XxWNDM6qxKkpmr8V0JerSKMbZGRUbRomW0uW5gyanklOPSceRVIXEcp0Bhq/KaicTpjWpFNbHZpCZ1wwOMVcj4gmRqJ19NqyJJJY4QWB0npTYJWIY4GRvvSasLOjWcKRzeh3DA1Orr11jB6GsC04mzNokUMvjFaMbCNg+fu281G12UnZoHJ3wceaCxUdKjjMkgLRzkKPyttmplkP4dOG/ahZBkHMw29WEmGKayzKctbo49qYZYS2GhZPkavmmFFkTqB03p+tWG3X51nPpD+ljj3pQzlvSM/KqQrL+H7DNMOsncYqITSJjIal5xYZxQFjztQCexNNEoNBkFMZKDkZNKACdqZ6QMlqVHBNMQ7oaXO9BKnfO9GM96dhQ7rUgWkVdhUmMUmxpAEUU4AE9KAtSKuDU2WkASl0e1SqBjanYo5D4kABFOABp7jPSmgYNUmS0NZKYBjrU+xpCgIq1Ihohb8NQMuTVrR2qNxjbFaxZlJFcLTjtTjjNMO9aJmbQ3GaToKfgmkZR0FVZNDQC256UY1GngYGKUnAwBTsKI9B7U7RTlIzQWJPTFOxURFcUCpNyaAAadiobkjpThk75pQgPepFi2/GPrRaChq/iqR1OMnanLBjfIodQSRmpsdEXz6U9VDEAb52pCh8irNlFqu4VI21An+tEnSsErdHG/wASLrHEltwfTGgUD6V5453rqvjm7Nz8QXDE9GwK5Q1wYv02e9LWvojS1l4nxG24fDnXcSCMfU9f717za2sVnZxWsK6YoUEaD2AwK8y/hpw5bz4knv3GVso8J/1tt/TNepttXZj0eX5ErlRwPxxwgrfJdxnlQTLmZgNgR1JPvtt3rknaOSNV5mhPyQxKXcj3ArtP4gyzxfZBbWQuZ5AVRpFLpHvvhOhbpue1cII+KyMyvfXkjk4ENoQoz4JGFHyGTWkGceUe1tdYzHw8xp/PcsI/260zeMfecRsYPZBrP70r8GMbA388MLd1llM0n6VKWsLMDkxhx/8AMkUID8ga6Ec7IObAfxcZuG/6EIH7CmGO1c4PEbp/ZhJVteKxtssZf2ijY/vgClNzM+4s7lR7SBasgqrZW/VAjf8AVG/9xTzbTKPRHCB8qmIkkHqsr0//AJg1GYSNxb8SQ/5Z6KCxNNyn4hAw8MuP6UsV3bxzYkVrVzsXGJYj8x1FKBcD8L8ZH/5gU8T3qDHO4iF8XECzp9cDP6UUFkXHlYPZ/doiBGK6G1IckbqfBx9N67/+FMRXg/EJyP8AmTqo/wDKv/evPr+7W74RalEjRYJnR1jbIVmAOw6gHHQ9xXo/8PeI8JT4fg4fb8RtZb7UzzQLKOYrE9NJ32GOlcc0/kPThL+ijt85BBYDIxnxXzT8W8Tb4w+ND9mQrZ2+be2T+WNScsfc4LGvpA7kq22diO9eH2Pwdd8L4vxPh7Y+3yaoIR3MTHDSj2wQPq3iubK445/LLuqQQUpx4L7OAtXEUoJHofY/KrEkDR5QH05yKsfEMcacYuDAAsCNojx/Ko0j9QM/WoI5w8Iz1AxXUnySkcjVOiGQzRrqU6gOoqL7dIBsBmppLgLVJ2VmJAxVJCI555JN2aqx61NIR0qA9a1QCr1qdelQrUwO1JjGyDIqA1YO4qvJsTQhDc1btl5o053NUdRNSwTGGQGmxnpX8IviF7HjUvw9cZMN6xeHP5JlG4+TKMfMCvZcV878Lka34pZcXtGCywyK+ewYbgn2IBFe7cD4/Z/EXBYOJ2W0cuzRk5MbDqp+X7gis2UmaBFJQzioy/ikOx5phNN1GmlvemJsVutFRlt6KBHhwAV8inxkastQZYIyVlD80dQOgP8AerCpBdQgRsySLuFbvXI39lk0as4DkekVI0ucKABVAzNqMbenFPEgVfJ81LiUmWwkTyDUcY71ZS4WNlIGoLWWJtT4I2p6zKSVBpOI7NRrl3cADCnerA4jLAAqAD3IzmsYSkHGalDu2wJIqHFDs3VaNlF0ythj0HQGpHnljdVSXTDJ75rGQ3PLDBW0jt2q9C4ktwsi/h33PSs3GiuRdtrxXUwTD0k9c96hlMkEhUgqRt86ntri0UASKojUY6bk/Or9pNFIrlIGk0rkA9TUcuPotbMyKQr6gcE962eG3iyPypMjPQ52BqoYYZFaQRtbsd8H8NLFFoJeGdJO5A2P/eiUlJDSaN8rIEAljLY6Mp61NHNFANEjsM7jvWVb3k8sau0ZZDtkHetGK9iMYTUDn8si71zStdmiphNcgOBHLhT36fpUmu4TCHfI6EZNVpLiGdzE0RQDocUsc0P2sYmbIG2rfenehl+JZ4oTyxGrdSSQTURuNWNQUse6jBpsdpbXM6sZHhIzq0jZqtI9tkRmGbYYEjGo+RJl8bKzyTwtpdj8jTebqGrAq19lnIAt9NyvXW22n9ajNm/qeV4wc4wgJzXRHJGtkODIc53HShTk4rQPD8RKUmB23DLVOW2kSXAUn3HStI5Iy6YOLQwOc9aeJMVGyEDNMHitE7JLQc59qmRs75qojb4PSplfFBRdU7Del1ZYVWVialiO+9SUi2tLnemg5pwGagpEiGpc7VB06U7O1BQ8mjFMB3qVBkU7omgVc0umlOxpC21VZNDWxgmqznrVhtwahYY3rWLM5RISKbpNSHr0pdNbWZcSI7DFJjvUmnekK1SYqGE0m9SaBmgjtTsniR9KUZNO0HvtTgufJquQuIzTtSiPNSBcdqkAwNyKXIKIdIFPA3zTsr1xSlgFG9FioDnPgU1mOrbegsM75p0jxWlg15MMjpGh21H/AEFJtRVscYubpCKM7kGrvDtPNlnLDTDGzE56bYFedcV43LczMXkbHZc4A+lWPg3i6F+MWROJZ7cOp9lJyP8A7gawzZGsbdHXjwLmk2cfx++F1xi4dd1Ln+tZcsoWM0kkgkupf+o1VuXH4c5PgVMI0kjtnLbZ6r/Ciz0fDd1dnrcXJA+SgD+5ruSB3FYvwdwl+B/ClnZzKRPpMsoPZ23I+mw+lbWfNdMUeVkdybOA/iavEUtrWS0upYoZjyyiDI1DfoNySPO21c7w6zvEiEi2Ek7sv47i8wQPko2r1y+RTwqV2i5ukghOgOO5PbGf3ri+LzcShuNCx2ducbLuTj9qcW06RlNKrZzL/a7diP8ABYhn/wCXcDf9RVaS7lQ5/wAJZD5WSJjWqbHi82WLWOCfxNGzf1NUruC7ttpeKQxnxBajNdMTlZmzcSmx60uox7JGf71V+2ox9V5xBfZYAP6VZkluAfTxO+b5RYqPmzj8V/xEe+itCCIzWjD1X98P+qNhSrJanZON3CH3DCnmeQ7Di84P/wBWLIp4ku8em/sJR/8AUjAP7imIaqyk5HGJGX2dv/8AmtCBLllGjiM5+YfH9KoCa5J9X+GH5ID/AEFXLeS6UgpDZMfaJl/uKYWO49byrwmOe5aOV2lVRKhyQoBOCe/TbPTevM3ukmu2klZnyxYIi5PXz2r1thLxLhd5YvCkT3MLRho5M4Y9Dhh5968VuWmhupIJ4zFJC5RojtpYHBBqHDbZ045/iono3w98ffEXB4wtu3OtlGVhvbnmxqP+o+pR8mqh8XfFXEeLcdkuLcLFG6iWOS3kDM22+JRuwU5GnYbdK8/u+bK4RpGYDfT+UfIf3rVsIo4+HWaCPWpk+03HUFwGwqA9hgHOPPtXLPCk1KW/9/udCy2mlo0Z+IDisIBAS4Ay46A+4/07VVSKWLIxkVP8V8MFhxmeW1JW1aTmW8inojZKg+NsgHvpNVIb4tpjuMxMTgOOhP8Ab5VUGpQUo9MwnFqVMZKJM7qaiOpRvtVi4F0oJjcOvnvWZJM+r15zWkdkErNk03BqISgdakWVT3qhkqjAp4FJGA/Q1OIGPakwIsVFMu1Xltj3FD22RjFKxWY/Q70oOTVyW0IOQKhELA4xVDRqcFu/s7kOfuyDnPyrqv4R8bltfiR+GFiba+jI09hIo1KfqAw/SuJ5LmLQo3Ndl/DOxRviiCRWH/ClppCPy4UgD6lhUCs9q1U0nFVnv40GApaq0l/K3TCikBo6jTGcL+JgPmayXuZm6yN9KgZyTuxPzNAWazXcKnd8/LeisYyUUAeafZM3bSSqRH1NMZ15ZuECxguVVBnYeavspt00zkgSnYN4poa0gCExk4JCg77VwqZr0UJWkk0uVI7Zx1pRMFQgirExWXAfAGrUTncjx4qERoThwy6d8HxWiYrI2J1ZzgYqaFlA6HPmnXNzHOkZMSI4z+EYBHanRWtxKmtI/Sdsk4FJvWyl+w3Wdewq0lyI13AJNVpYZLYfeKPV3BzTArSPhVJJ7ClSYF4cRZT6ZCD+1Xo5lnCNJt2JXasU2VwjeqM/OpmlkjZULEgCpcU+hpmg8yqxYFjv9Kmg4o8TgrgY8VSili5JJDENtnHQ00W0hXVG3pP5jtU0npjt+jdbjAmgJ5QDqevmiG6SePWXCS5wEx196x47z7JmMKHPcsOlPhlXUck57YqPjS6L5HUWUMkjBvtKu2clE7UX1w6SK8sxIG2O4rJt71Y8rEpQkY1A9ar290zzNHIpl5nXPtWPB3bL5Kjore9trhCGmkj3xudqnSGEKRDKjuOhJwTWALSIepbkxEbYffepnY2yJlua7jKkEgUuK9Maf2bDSNa40LKJT19W1XvtH3WuWTDY3w29Y63p5SExYYDJ5p/pUM90oC4ZWyd9PUGo4ORXKjb+2NlVR5FjJxtnGKvQ3skBXlNhfnXOrefaZMSAnwM4q1DdqSRqwRtpNKWPRSmbkl0ZGL6ix9zU0F2ywHJU57GuenuQGIJcr7bVJbcRQJ/L4zuc0vjfHQ+ezeWZXX7zQhPgU02oZSyMCB3rHa5dssWJHvU8N48QX1Eqe1Woyj0O0+y0Bg4NOIwM1LDLb3Kkj0EdTT5bV4wCCJEPRlrRZE3THx9jEJNTp71XG3zqZWyMd6tgi5E2R1qQVVjbAxU6Pgb1BaJTmgE9KZqDCnCkMNwetTxPg1BjfNKGxTEW2YEZxURbzTBITsaUnamgY4+xprLnrSZ2pck1SZLIyMmmN0qUimEZrVSM3EYKTfNOKmlGAKvkKhvzpNSj3pzEdKZgCqTJaF157UocgbCm7dqN6pEMdq8kig4IxnFM3o0ljuaZLJNSJ1bPyppnBOy0zlNQF+VUkiGO1E9ayfjHiAhmW1BwsSBQPpWoUPmuJ/iBcNFxot2liRx+mD+4rLKrcUdPjuuTMG7uxvvWXbcWm4XxKO9gOHTI36EEYIqCa5J6ms+eXNaqCapjc2naIOK/EECXUsywNA8hyU6qD5B8e3asWL4puLa7W4tkxOh1RyN+QjoQO5+dX7gBuoFUJEUZ9Kn6VvDHFKqMZ5Zt3Z7L8C/xaTiapZ/EDxxXDHC3QGlGPhx+U+/TzivTuZmvkdZ+S2QqjHtXpP8ADz+IPE0u7PgCWzcTWZxHDHkq8fkBjtpAyd+mDSlCtoyuz2jiPFBaWQtIua88/q0xKGYDtgdj3yem1YEPD3jZp5bJ0kY5Y3E2pj8+pra4iL61iY/4q0TYAEVvbrg+Nzv9T+lcxOeNsHmn4ukEQ6KYVkY/sBWMe7CetBe3UxwiIpI/l6CsG6nlDEtGuaddcWvSdBvw69zygp/aqEt4GHquFJ/SumJySIZblyf+WagN0w6xtQ9zJq+6mYnwozTftV+v5HI8sgrUgX7VC+zQsfpSjkHcQN+lA4hfdAu//SBUyXXGX/5YRffNMQsTICAsLj/y1oRRu4GbQuP8y1T5fHJB67ooD4OKT/D5TvcXbt/5yaBG7ax4ODbKhx2Iryz+JHCxZ/Fcd8mFXiKmVkzuJFwrH5HY/rXoNrHZW8iELKXU5D77VhfxJ4QnEOAxcZimzJw84ZT+aNmAJ+YOP1NUXB0zyh2yJJDv68V0NjleGwFsE8vSduhDnb96wY1wiNjP3x2PyzV/g9yXtZYScuh5i57g9f3x+tYZVaOlM6XjkCS27YlP/DoLTA2Dhd0JH1aucaW3a0jXQMqumRO7e4/32rZ4m7JYI9s6yzCYTSfykYPp9+pzWPcxoMOqAwvuEP5fauXCqVGk3bFtrlUQaWLMu2T3HvTpjBOPWFjbyOhqosUasZAWVB171WcAn0sa3S2ZNE81gwGQMjyKqSW0qdjU0d3PBsCSPBqRuIO3WMVpsRQE0sTdxWlacXIwsm481Ve6if8AFFULvD1VSDTpMDpEuY5FyGFBkBPUVzqXRTYCni9ep4k0bpkUdSKha5hU9QT7VjtcSPSKrMdyaOIJGnPJI7KioVjY+o53I8V338LrM2t5xnSDycRaD88nH6f0rzy1BZgrMdu5r1v4AKp8MsoUBxcPrYdXO2CfptUt+hnTu1Rk0OaZuR4qQAmo2OKHcAbVXacHPscGix0PZgKKrNLvRSsKOJh4mYp/RHExjUxguurO2/X3qhK7zPkZIHQefen3MQt7XnojpBI2lC+5z3370c5/sxEpVWQDSoxnNckEl+SNJt9MsqZoIGtisac0DLOAWHy8UgWSTmc8qScAHO+1ZzOJuUujSz7HBwM+aesMyXDJrBA75zV8aIbbLyGJIsurMy9PFMe+KjWJNSHbQO1QrCU5mqUaGp9pHbpDp0l2zuwPWhpAi6t/bywaXiwnY5yRTxcJJHmECFAcah1P1qpdxCOHaJoz796pxs7oFLkIOwqVBNWi7NVriNG9CMP82vP609ikq5I9Q/eqKxRldQk1ADJBOKeqOCzIx5fmlxQWX5Zlht0QDSpG4G+qo1uRJIpCbINlNVzqMe/UdMd6b9o0lANvfzSUR2XxLDLrJjwW6561Opt4rbQia5DvrJ6e1Yk9weZsaVbh9OM0/jHyNOaYg9dBHTFWIZY49VxL94xGw6aTWVzRIBqOPenJPjKk5FDhaFyNVeIAqzPpcE7KanDrOqmMlCu4UnIrnxMNRq1HcjoSQKl466KUjeeGe7wwcekZOo706Z2Qxs0ZUAdQKyf8REahYxqHTOd6uQXiFBqZlI6b7Vnxkiky3EpbD5xvsTVi3kHPMZyDjrVRb3Pplxhu6moJp1BwzYIO1CTZV0dALmC1wjRCZ26ljsPlTmS1Vecx5YPRM965ozPqyDkHuabJcszDLHaksL+x8zqo5AwV43AHTfergDPBq1A46GuPgu5NeFJB+da9txI4wxIcd6UsUl0UpJmqs3JGphuP3rWtOJsiKMBlPUVhCeO4GM+o771JCjndDpA8ms3FNfkWpNdHTi4spPUykewqaB7GRycad+5rmTM6L5HfFEdz6Ce5qPibWmarJ+x1zxQvsmkH2NV5FMTaWrEiuzoUFiGB65rdtr6CaALPucdazqWPvZaan+wgkFP1705rQ4Dw+tTTBHLnBQ5+VaqcX0xNNEq70uneozmI6SN6NbVXfQiTB71Mq7b1DE2T6qV7pU2xS30HRNp1bUmjHaq7XAyCKlS4BXrvVbQrQ/HhaUoMdKFlyMA5I8U8S9iBj3otjIjGuOopnL8EGpmGTsu1N0itEyGiEpmk5e+5qblE0mgdM1opENEJUDpTcHxUpCrQEZugrRMhohx5pc+BUphK7sce1NKDO1UmS0R4Jo0ipNBNJy8d6qyGhgXPeuT/AIg8La54PHfRjU9ocPj+Q/6H+tddjwKSSNZY3jkQMjgqynoQeooascXxZ8+zPgkVUkauh+Lvh2bgHFGjILW0mWhkP5l8H3Fc449WK1i7GyCQ5qs65zU8vp2piKSema2Rmym0IA1McCuy/hHZ3Un8SLG4tgEis0knuJJNgsWkqfqSwA9zXPrbxxK1zcOAqDOT0Hyrvv4P8YsOHcWv7q+AtYLqJbeGdydiG1HI6AH07noQPeicqi2KMbkkencU41yUVLgLCWGzEcwEe4G6/UVhcUuZp7YPHb86IjaS3bUp/Stjj0kDuhiMchmGUcYKhfIPc1xtxa3PDHM9hK1u53IzlG+dc+PasnLp0UZZWOoCI58HrWZcBCSJY2TNaU/xIJPRxXh+CP8A4sXSmxX9ncjFpexv/wDSnxn966UcrMXTGp+6u2i+dWFtOKY1R3JYdtQx/WtledAeavCY5G7MgrOnkvJ5i88EsKdcAGqJIM8aj7hv/MKQ3XEV3kjOfPWpHv4Y9ooGcju+aaOJyHdol/SmIF4pdId4z+lWouKyN+K3c/SqrcXnA9CIv/lqE8TvZOr4HstMDdW4jdMumgfOn3lh/jXA73hwbT9rgaOP2bYr/wDcBWAlzIWDEMx963+FzvKBlSGpjWjxGJWU6HXSyS+oHqDggj9RVa0leG7Rk3IyCPI7iu1/iJw2Hh/xhzIFCLxCIXLKOiyZIbHzIzj/ADVxgQRz6/5ZN/lQ1Z0J2jeiulaIEepSNjUTkFNP5c7Cs1Zjayso3TPSrPPV1ypyK5ZY+LLsa6gE+DVVkwdqnZ8moyapARkkUgkINPO9M05NUICUbqKQwodwacI6XlDzVWKiIxAdDTQuDUxjA70aQPenYDV2qVD2pm1KGwalgXbf8QHmvVvgQ/8A8vF8bPO5H0AH9q8ntFkmuI4okLySMERR1ZjsBXtnCLJeFcJtrIEHkoAxHdupP6k1nIVGizhe2TUMkmobnFNeZR7mq7yK34mIHsM1mVQSNvjO/Wq00mJU0nOpTrz2I6Y85/tTJZFDghCNK6deeu+d/FV5XLo2xx0pbe2PSdIdJIc9aKiZTIx0sgUH8TMFBop84i4s5Ga8lktSU1BWAkRBkqGwRkD2rLgV0uF5ofSdz7iujliEdvI9nAJWkyoV85jU9vG2+/tWYmW4nBbSwtJHEvRX3bPg9vlXJiyKnSNpwbe2SFVmtWfUpRSNMY/5mcHfHilSz4jci2tkiJeZi0aKy9fffb61tWRj4LaxwiLVduQo1Ywn8xJ7nbbxWDcJHbkM8vN5wLvqODuf3Peox5XOTS/wOWNRimyWaymgk+z3KNHJjcZB6HyNqiaUQABgE8IOtTxPA0A5bMAvoBZtycbbdhVQhm3nUEjbPQ10R32YNV0aEUjX1u3odgg1OeukdMnwKpRR6meMOqFc4DdzVhCyw3UUblYnVc46nBHeq0ly1xpD4UKca8ZPypx9g/Q5tMUPMRxOrL6xgjQalVkgTWC2ruM7VWWZIIxyCzKxwdY71Zc2ssoQxuZGOHWNsL9DVNCTJVn1oCAADv8AKkR1DmTSCy/oKhZoba4EfLkGkeuNm3U/OiUHXlCWRhscdamirJg32yJlZY+bnKuowT7Gq3qTqpHzqNZUhYekkg1fOLlQyZG2cGn0CIjICmAo+lRqx1dKspaPoLt0HXBqNtGQqjehNARlsHenxSAN5p4tWc9RnxUTRPE+SCFPQ1VpgW42QOGYEgdBVhLnmKQVAx0rOVz2O1Tp6o2I3NS4lI1UeM6fUMY3AFSTW8c66o5WDgdGHWsWKYhtmI81bhu5AwBJ2O1Q4NdFJmhZhJsQy6xjP4etWmXh5wiZVjtuetZcFwRNJKDjrSLIDIjtsM9alxbd2VeiTUqSMBuQdqtwzL12BpLW0gMxnlYSR9cZxU/2Xh0zs8cskOei9QKbmugSJLeT78EvgVoQSyGTSgJHXJPWucDPHIFJ3BrSh4gYhjOD0qZw+ilI341fGHljXJ2ApxyvpwMnp71ipeBmAJO/fvV+G6XnrEz6kA2rFxaLTsuIrmYIzYGM5rSjITSEfPnNUH9I5hHpx1qISsBlXJDdM1H6i06OkgvbiH8OSoHWrMXGCSWHqPvXN23EpEcZY6ferHplLPE5wTkisniV/kjRTfo6FeIQXo+9ASQdD2qQW7sNUZDr7VzsbFmJViCBsD3q7DezwqjDUAetHBx/Qxqd/qNd7aVE1YOKpSMQ+CKltuKS6sSNqQ9jU7NbSydQh99s1MZyi/yRTSl0U9YwMjek75q81m8i5jQEec1D9neBzriLY9tq2jkizNwaIVlZJNQzUyzyNuFzmjnx9GUD6VG8++lDke1V36F17NBJmJC6cVJkFt/3rJWdkOQatQ3oK5frRxaGpIuEb9DTdOB2p0MyyjC9alMY75NNSrsdX0VioJ3pcHHpGkVKVCnY4pDkjz86tMhohK49zTdO+9T4PgUhQYrRMhoixTcCptIpNAqrJohIHvSaalKimEpzRHqGsrq098ZxmhzUe2Li2Z/F+D2fG+GyWd3HlG3DD8SHsw968V+IPhy74DxJra5AZSMxSqPTIvke/kdq96KnHSuU+N7uwW0j4feIrFxzPUPw+MHsabnxNMWNzfE8OnX74jxUsKaUyRua2L3gjDM8OXjb9RVNodAz4FdMZprRnLG4vZkXkgnclh9xbglV7M/k/LoK27aQQcIjiEgbHUD8vQn55yDWHcofs0kY6mMf3zTZLxjNHOu0coAKjoMDH+/lWjVqjKMuLstRfEvFOFXLGwvZYI85MYOUPzU7Vt2X8Tp0wvELJX8yW7aM/NTt+hFcXc5EjZqmx3rVRTRjLbPWbb4q+HuKkL9tW1kb8s6aP36fvUtzwCwuk5sckE4O+qI/3FeOlqWKeSBtUUjxt5Riv9KOH0Z8T01+G3Fs5FnfXERHbJx+1NF/8QW50/anlHu2f61wsXxNxmAYTiU5Hhjq/rVhfjHjA/FNFJ/1Qj+1HFi4ncJxzjCfjt4pPmimpR8R3y/j4ZAf/wAMf61w6/GvEh1htG//AAyP70H40vz/AP21r9Fb/WimLizuh8UXA/8A8VHn2Qf607/xbeD8PCkz/wBI/wBa4E/GV/2htR/5T/rUTfF3FD0MC/JP+9FMOB6AfjC/J24bCPcj/SnLxrid5/LCp6iJNP715yfijix6TovyjFVrjjXErpSst7MVPYNpH7U6Y+B2Hx1cWQ4ZZxfaFm4hHMZCiHPLjIwdR8k429q424QH1rusgzSWNvJO0uiJ5AiF30rqwPJ9veoxJywUJyh6HxST3Rqo0hHfWoPfGDUQZlOVODSsajJqwJhcberY+1ODhuhzVUnxTCDnrUOC9BZfzR9apCRx+Y0vPkHcfpU8GOy7ue9J9ap/aZPb9KQ3Eh7/ALU+LFZe2pCaoGaQ/mNNLE9STT4gXTKi9WFRtdAfhGfnVWnIupsU+KEeg/w04W019Jxm5HogzHAD3cj1MPkP3NelFpXUmOJ2HspNeO8O+LuMcOghtrPiEtvDCMIiKNI+mK2l+M5biYS35e5JGlkM0iIw7+kEVzZFkvSNYqD7Z3s7vHjmDQW6ajjP61EXbG4P6V59LxeyuXZOXDBAfyJEScf9TZNS2t1b2lsHhvruY52hjmOQPfpU7raBxXpnbtJ2qAaBFcHWwMYDKvYgnH7GuU/8W3caNrtokVfwpO7a2H/Vjc1o8J+JbO7vFS5Js+bGYm5hGMHuD0296zytqNpDhFOVGlfOFiEj6i7NsqaQMY3OSQPFFSS8QtYQksyxyaxiMhA7aRtvgEb43+gorhXkTXSOh4V7ZUnhaRSwGJT6UI/l7/6VLwy4XVruVSedNozIgXHjfr+ppgn5sYLatuu1TwyKuc6TkZ3Fcj6ouOnZfXlzRFZYUYuWGpMYyR57Vz3FIrWxuVikgV3O0IZMxx/53/mO2y/U9hWzEWMYRVUBsMW7jxUS2FzIZivND4YhvyHJ7g+1Z4pfHK2zWa5I5y7hgDyyiJIkbLBEbYHbp4Ge1Jw/RciSFwwaVcKI99LA9x71oTcKmkha3WHUVbJYHGSenWq6sHuY47ZUgmtxkSqmkvjfLHvXoxyXHRy8N7Ks0UkNu6PmKZHCuufUpFUSuVbJdZtX4cbY960Bf3F20lxMqFEOpyVA6DAFV7tdbrcxy4eQes6v61042/ZjOKT0VYC8emXJAVuvWpXmWUB+Xlc5JGxp0duyQFg6FcHIBzkeaEMQYrIjBCB6QenvWtpkONE02q4gS4dhkDSfT6sdialt5FizHLqKKcb+krmqSvJHcHJIwp3z2NT2k7EiNkjcNsWbqR7mk0T0TzyocpoAAPpyN6W3bSmTt7VAyqYguotoyR5xURlGBp2xU0VZoLcFXxvg9aWTSz/dDRLjI32aqocuuc70obUAOjDoaKAmic5DyYHkA71NHIzNhW2/laqfNUOX04Yjf2NLGwA1Lk06sEWZrSTTrRMjuRUUTEA7796mSdk0lT86LkqsqyAfiHakr6ZQ1YiCGxgHzVkKDjJC4qt9oDEA1KcMlN2CHywcqFir6875FNhbbB6U+Dpht1IwarENHMUOSOx8ihfTGy61ywYBBhRViG59GrYgHcVlh8vU6krGR5ocUKzUaGCUPKGYNpBwO1UuYVcnGcHFMtrn7O4dssvgHrQgMrl1fGTstJKh2XzIyBGG+sbGrkMxjKO2+etVIJwwCvhyoxjFXE9YI05Ws2WjUtL4LhOqnt2q2wjYqQceAOxrGtmCllKDPvV6NxIFGNBHmsHGno0TJZQ4yx7063vdBIzuKmScMdEi5NV5LBhLqixpNNNPUh79GpFeiaEqwGobg1pRyMYVxICCOhrnjFLDEM746EUsN5JoHqI36VDxKX6RqVdm5HcLHcBcABtxnzV43EbrhguR3FYyTR3UYDrh/NOiKQ7SZJPSs3CylI3reSVFJhn+hqwOJXSkc9Ay+wrGSSHSCrFT86s/aZEIBOQffasZQ30aqZcnS3vvVFIEfuDUJsLmMEcslfI71DJDn1LsTvsetKl/cRoFWRgAe9aR5JVFilTf5DChBwdj4pBlem9XVmjvT94FV8fiHeoJ7doN9yD3xW8Z3p9mbj7QkVwYzkZVh4rRhv0lASR2Vz3PSslWz8venYUHJU/MGrcUyVJo3QrnoM+9Lhh71kJcGNg8JOroQehq9FxCFhiQGNvbeppovkmWc+RijGe9CsWGVbINIXCsFLKGbJC9zjrStIdDZXWGJpJCQijJIBP7CmNNGLkQZxIRqx7U5mk5qgY0EEN7N2/vWTe3yyaoyDqRDnbcHpn9BXneV5nxPTN8eJSWzSeQIQv5m6Z7mo45CeZKY1LgDIBwDt5PuaxLviyoscqsWBbSuW2Axvt9ajHHLaKM6p8IPU5J2GO23f271wT82bdpWaqEUjpSArKrsAW2GT1rzD4smil43IHecKDkpKmwP+U9xXYPxpZUSRCC4IcoOuCMDt16/Ouf43Zvx9JWsppXnM2hog45YwMdxtg114fOcslZFSNMMYwuvZygu0bCL+EDFUbmGOViygCq1zJLacxTGxKMVY4OM/Os8z8UnYtFHHGgGdUsgQY/qa9yMW9oyyzgtSIOJ2bQMWHQisTGFaM/gJ1D281uXVjxy89C8lts6gGwPrsKx3suIRF1uIFLIcExHVn6D+1d2Nutnl5EruJRlYFcHqO9VG61PcpJFJiVGjPXDLiqrFc/iB+tbo52NNJSmmmqJFzSE00sPNN1E9ATQBJqo1Uiwyudozv5qQWdxnHL/U0AMzRqpzW069Y/3pvJmz+Dr70AGqjNKIJz+T96eLWY42xSA6v4Lv4OEw3d1MEDTARK7kBQOp/t+lTcVsOB8StxNFdR29y25aPdWJ8j/SuXjsjkYy39q0rfh5kJUFyT/J1Brgn4/wDUeVSaZ0RyfjxozL/hd1w8jmqCjHCupyD9OoPsaotXWD4djDM8syalGSWkEjA+NI6H51nzcG1lTHbsiMdKblmY+57n2FdMcq6ZEofRgk0m9bk3AlGAiSIFOGZjkk+AKYOAljj1Ljdix2FaLJFkcWYv1pK2jwVUY5LFQMk0v+EwpglTgjOSafJCoxNqUI7dEJ+lbyWEaDKJn5jrT/s6ADZi3c9qOQUYItpj0jb9KkWxmIyVwPJrbZljjYCNy4xp8VNBHdsOZIFQDfxS5AYAsiSBrGT0qzHw9o01vE7D/LWtoXR64YSzPnXp/bbbFTRwxOpGYwemASppcgoyY4zHusL6v8zAVbhe91DCRhfJfNOlsnCu8M5Gncq25qW0iImRnRnyRnlMFZh9ds/OiwonAkO4kTH/AFU1ZnuGMLPEUiJOZE9OfGcZNLqu1P3kcTheu2CB9Klm4b9rhE8auqgZ1MFIP6YNSMitlOhiWxj8quf6EEU+IWlrKkkkaxb5HNi9LfUbf0pOH2Vw9wUhjaYgZITqB8qTiVtxGzQP9mYx59SupXFGrGaZ4o8OWiS3Bc5YFcKx/mHaiuaW5lX8gQ/yo1FZvDBu2h/I0d7JctHaQp+abfONwKkh0nTrJ9s96oMvOmMrsREmw/0oe4dn1gAKuwUdAK8XhrR0qRuRTogcEax0223q0kskod2kJBAyudh4AFc/HfZm1ZAPYCry30rx5dgMsAB0rnniZtGaNk2peN3SNjpIU4bJ+o602ewS+g+zOvLAXIBGMY9XUf0qO1ltyrOzkOehAP8AWr+I2n1j8OO2231rmcnFm6SZR/wext4ZuUvMjDgjQnVuxOrbGfNVOJ8Ejm4dcMtmYEOSqvAvNLn8JWRNip32I/SurtY4TAycgSs7ekucBc9/+1QGX7BHIdLJMXxkA+kex6Hr0oh5M09dlPGmjzjhnBbi9vY+HrG3McgMQCwTyWx0x3roh8EokKxPeRalIacA6cbbEM2ATjoPck1rx2rcMudKtoRcOYMhWYnoWI3bJ7dKrcb4XPxm2E+gsVkxrIOWJO7E5wOu/wAgK65eXKUlTpGCxKK2rZynGeESW90IYFln0DD/AHZDI3dTjY+cjzUo4Qiuv24x25YA8qNxqU+43x8q6niCXNoz/wCGXKR3Dxrp5hZJGVcAlc7aSB07gVx18ObM8iIsepjkKNKnHVhnpk9q7cGWWWKMMmOMH0PfhMjOZrWVZUjOCB+ICsgoVZhggA43FaUU0gjAQPlSMHya01nEzyWt7EjzEDRoT1SHG3qHSunk49mPBS60YMey1KmDuR0q7c/Y/sUdtFEftEbHmTashj4HtVApy32YmqTszlGmNnQjLDoemKbEWCYqym509AfNMIKNiWMr7irTECzlWq2SslqcfiG9VwqclsHP9qRCdDKdjjajsYqFSd6lOlRkE1XC7lsHencwp2x86dCLkMpGwFSgO2wA9v8ASqaSggHvVqKbC7neoaKHNbKG/koEOH/ECPNSxSCQb5PiknPKAYKaVvoKGS2jxgsSGHtTbb7uQM3UdKlgnVs6twe1K9ruWjbV3wad+mA8yESFwN6fFeyI5w2x7VWkWSKMM6FQe9RBtQ2NFJhZspdktkH5ir9tO1wmkECRemTisCKXxuRVyO42ORhs9aiUClI3IrsiXRMPvBVyKZwMkek9s1iGXnRgkesDFJaXbq+C526Vm4WWpUdJzUOApyD2qB7cxuGyCp6VWW55oVTgMOjVoRQG5j/GMf0NZ/o7L7IgzIm2akkM0wDICaRxJbOUcZHY+1PjdHIw+kDxTv2godaSFWKyZGPNaVvcq33bsCp6VmzQGQqyP86j0PEQ24ApOKmNNo3udobCtjHSpgRLkttnrisMXDHr2qzBdsPT1ztWfxtGnKzUVIkwRnHkVML6S1bTkSIezCs8SHBXJU+9SpIjgCQbeaXG+9hddGiqWt0q6NMbE5OT1qG5tnilICNp6A1XKJEofmqq+SaYfiSCCPSJGkDDoqk/WhKSf47G6fZLh4jg9R5FPjCSNqwAc96ry8atniDtG6gjOp2Cg1yXFf4jWtlO8Nlbidl2Lk+kHwPNbRjOeorZEkod9HocTshHL9OR0YYqYXmpQrQqZFYBiDjA815ivxre3lusjTSQAjZeXpP0NZ9zxHiF7G4mu7iRDuQXwP0pfyuaUKk0n9lfLCLtHpd/xi14fHpuJ4VD6s7D1E9Dgb/M1y3E+KpzC8SriRSxBOG1eCR5Hc/vWBaWdzHBqYBW662UD9vFV5+KW1tcJE86kYJZlYafYgjv7VzL+ERcuU5NlvynVJUWIHuOaCzs6bsgCn0b/LcfpViFRBm5kGshtW6rGnzIyST0FZkfxFYSIFU62bqGOO/0FU24w96xS0V0uOwiHM9PnJ2HzrtX8PxVTRh8zOnPEuY5lkRrkjAVVcKNt8t7fKqtze3VwHkSaRDpwihwVJB6EAZwPOd6wtHHLsaJpbaKNckEk6tvIGR+tQf4fNlNXEyVLYPLXI+taYvBwY3cUJ55svzq3oe5t5LyTSA3MfC4HYDGAP3qWG2SVRPII1XfSujOo9hkjOB7CktrV4BotxJcKSdUsp3Hj6ewpLj7Q7hbgiM6NgGJyPfFdHH0iVL2xsjKfXPlkJxgAgjHTA74/SsaW5cSN9ktZChO7BDhR5BxjfwBWn9pSVtTOAYzpOoYP0FI18oiyJGlXsmds+c1XGhOVmNPwiedl1KgDfiDYOPAO2Koz/DSKjvMsUYUgEqnWuga4dF1hdTE5ZAu31pwmk4ih5trBGi/gV1LA7+Ke0TpnNRfB8M8RkSJhGF1ZO2f9mqMvw2GGUt2ffcKOldrLeomlbuYAJsWxgEnwoqtPxKHSrW8SSFuut8Y98CmpSE1E5GP4dj1KHUDJ2A/1xT5OFwQNgxqikbMTsP9a6HiBNw5eCZiFGtkSNV0+BqO5rLubd0VZsO7/iGtteQaak37IaSM54IEwFIcn8JHemiJll9aq4G+CfarTxh4y2vS2+c7nHtVZSiEbDGOpJAq0QV7sDP4NPy706Cz1KHA1bdG2xV4xq+GYaAT0G4qhcL980QyUU9u9P8AYA1xRksdDMPy5pYH5rkMqhTnAFIlozzBBH6QcZxjNXgYLdiZPUVHy3/tihghi8Phit2Z39YGdOcnHmnRLPOFVmKwp+IIQu1Qx3Woty49bH8xpZbiZYcLAiAnVqzqP6dKzaZaaNMQn7PgTRxRqVAiiOdj16bfvmqNxmAK3OccpgqgSdPfb28VVaUyHNxduzdAqb4/tUICjIaMvv8AjYnp7gVml9lNl2fiEcYRoy0xA2HT/wBh+9NtXukbU8+AT+FVDjPYb1c4ZYQzXCwKqyzSfhCKWPyAHU/p861LjgN7b3cloOHkzINpJjsB/N2VRUfJFPiUoSasxtM1xG+FYrqwT0GfFLBZKNRf1on42B/31Pat9eGWlk0dl/w19JoySkxdQfc7ACnXNnMLNWMkUCRvpQRx4jXz8yc9etWsifQnCuzMltJ1jSU2OoOCCBLuvz8/Tas2ezmkmKLoiVCSCTk1uPw+9ubxHt5yJI0wGUDCD9ajuOHPaRtNeTGSViBqGApHgKKpMhoypbdRIkQuERwfVv1NE0MdtpLyBmbrqywH1HetNbSKa8ilKpbyLGRlt0kx3yOhqpLPxC1WJp4JIraSTDFxlD/sVVkkQhRX1ox0MNyEICnyKimMcNuGmUNnZSuxrStbuOWSRYoZgc+gxjIxjx/3qAyASAS2r3C5w7FgGA/yjz7UrGR27xXSRFgq6Gw6lsOyn36fWoZoYVkdY5ljc/hBJyB8/wDtV23htvscsU0JcEkLIgxjuMg9D7bU+WSN+W8M62wVcE/ze+cdfbalex0ULa6uBIis4Zv+Xvhhj5irptNYePKxNnYgg6T7g71kcSuJ4LiOZrmK4Vhp1Jj54O1IOLGUhmijTSOgJGr/AL0naEa1q/2aUm65kelSvMikBIPY4Pb2qzLxa6WJYrwtKuM6ZPScdiDWC/EYjFpmViR0byfelmuLOdY+VIysuxLnI+tHe2O6Jn+zLMzi2N4rfzAqV/TrRWaZngJCSsu/VSQT/wBqKLIs7SAAookfYHJ9qrzzhpWWN9UY3zjGahmvXlLJCuNW1IYeSoMjAN3HivNUa2zZyJLaKWV1KrgE9T0FaM84hYqrxuMb4GMVnRToighiQTsPNMlvedKgmIVAdwopSi5McZUjatLvVgFsqO1a0XF9XoT1OBuxPbxXONxVpEMSxxKg/AQgUge9LFfGGLKKCT5rmnh5do3jkrVnZW185BcuFOBha3IpYbq1CTAOoGdzjHfrXAW19JIxYRhRjG3atNOJsLVl5gyNhvXn5fHd6OuGVHQmG2nZ3lkZRIw6LvgAjr8qrvC0iFV1zOyaI5S2cHoNh0wBVGPia8uKOaQhEGP1qR+IQTyrG5VgFxqjGktWfCSZfKLLlxw9L3gjwcPCWl5NLzPRKMS4BU537/tvXOcG4AnFMzS2rR28T6JH1gKx7KMndtjW/ZOtvbmKQFFVxKVjbJ6+OnvWnLNw9I9csIaKB8hpW1FnY7BR0Gf6VsvInjTiiXjjLbOVu4o5klsrPh0FgsDh5p2uMg42GW6H6VkxcNnjuEhWWPVO2hbgMdCx49TZx/vevQortPsscRt44UyQWKAAjr0x2J2qae8W4FwhlwkmlplDahgDfAPQ4HatYea4qqIeGMn2edTfD6TTyC1vrWKLP3X2iYK0g6Z22BJB2PTasl4JbWaSGeMqyMVYMMYI613Ml1PxS6SzhtrR4I3wjtCpVUOMEjGdRJ/rVu8MNlY3N46x3kcs4khhMqgJMMgkEknoMnbHTrXdDyZKoyMJ4IvaOAubCezIF0VjdgGERPr0noSO313pI9LDSfUD271cuOI3N2ksssEJVmw7mMElj3Ldc++az0C6+5r0I21+RxySvQFeVKQPw04orDI2xW5DbcN4jAIoJis+MrzD+1Y8mYZHimjw6HSR71bTRJBzSvTYCmEtKck5A80+WPXup28UnJdU2YEe1CoYnQZB2qVW2q+LGxi+H4btrlnupXIMOMKqg4+ZP7VmsNO/alFqXQ5Jx7LEchQDBxVlrgYw2d6zC7KPanxShjpb6GhxFZMso5p0DAq4snMGCcGs5VKympOYygHG2etDjYWaCzGFSrsJAeqt0pJEWVSiYUj1LgftVZzzIVc9c4qW31axkHpSqtgQxllY5OauRzAqpIyahkjDT/dkZPao0fQ+Pen2BrwzNrUscHpU0+QAcAHPWstZG2Q7jqDWta3CSqEkAZgOhrNqtlrYiSstwoL746VqQzvCmpcgN3rOa1DXIlgKse65q5GzGNomXHz7Gok0ykaUF3zIyj7/ANqqajGxU7YptthWOWGauLbifK7DHfxWdqLL2yO2nKvkkkVoJPqbfBBpsPDdVvJgEmMZB879Ks2kPJiDx7vjDBlzWU8sDSMGBtNcLXBOhc6fmat2djJCI7rIx1G2cVbt7eUzGOTScbkYxVs5ed1UASYwqg4AwO3auCXl3+KZ0rF7KT2xds+T1bbNZdxxGC1ST71HCPoJ1YAbxW2YlWIuz65EBYhPVrOPHmuNgtL66gkvZoEtJpD6ZNK6YlB3b3b5Z371p4+dNPk+hywl+XiTzWcgySiYMpVGOM9Bgb9s1FavGA99NFpeUaFackZA6bDxRYiKHhz3vLLRSlnTVsZN/wARx0O3z+lc7xriym2SWH06mYKv/wAsbdB9ajJneSTxYv8ALL4rHHlIdeX1tz50cmaaRShYNjTt0A7VytxGTARFEtuOuA25NdHYcLwRdXsTAN6lRR6ie2T2/rV97bEgaeOKGMj0omzJj5b172J8YpdnmzTm7Zz/AAewljsxczpPcO2yQ+oEr3Ysegz+tSuvxWLgrHbQxRHogYKB4J33rbm4ly0bmTCJQCFQHJ29hv8ArTYHWZo5YNOkerLnAz5x3rRNvbJpdIx7jhfxJeArc3tvEjjSR/YbGtKy+G7q2gCycSt5MDJ9A2H6jNXEe0iVmnn1IWy2XyCT71TnvYYZT9nRYVJ2RuuP1p8n0g4rtjpeF2IjcXM3MPZAqkH9KjS1ENowshBaw6slVwHk+ZxTmnhKB5btWI20qpOD7+ahmvojEqFXkYDJOAm3gCjsNImHDoUmE8l3MsjAYxKz/wBTgfpUE1za25kjjkm0qPU5G5Pz6VLKNEEYilMEjj8RQFl98g4HzrNkiuINSLLFKoOWMuTk+2BSqxt0MvviOOGPTBHOxIxkdWHnf+1Z/wDjdxK7cxHK7DDOcdOpArRW0hYCS4di5GMKmnT7Z7VMbSxW31lWUHcDAGB/WqVIh2/ZjPxG6lDHShCkepV3Ptk1LFLdtCJHt45NI2DbfXarcc1hG8fIs+YXO2mMsQR/T61HxG9NsuqPh808h3YN6VH1Gxqr9Cr3ZRuRePLraJYCQBpGGLeNqe6391oEsjqWBz0X6VJa8QmaBWewgjLDBImUH5b0254lCGXmWbJlcrllIP1Haj2L/JkyR26yGNptbkadOc4FTwJFaRMBBnQuco3q696g+2zSFwAjhhkAKMAVC9xdyQNodEJXJxtj5VTV6JToJZ3kkdnjdtQA2wTge9Nurq7naKFUVNShQDsv0qa3vYowrO6swG2On/erCC3upYG1eld9RbGCDS69DWzPSKQTC3kj13C5yhGoH/Srf+DBg1wZEXC5KE5K094Ua5uJVkmYH0s5YYYeQKu2vBYYJkVVN5LKMFVJAB69u1JtgkZ0lowQu+lxtkAgt9aY9o7aVgjCFt9XUn61rycIccQKrE8SFdwWByO+3eni4touHfZoE1qw9ZjQBEbPT/Mf2pcmuilG+znpL5Y4RAjAMrY1KfU5+Y7VQPNLlWUYB64z9c+KtX+lJ0ZlZlxkNgLt8hQrLzjE5UxSLgMBn5VqjJlJoG9Khx6j0U9aI4iHMZzhc1pw26RIqSKrktpwNzmr1pw+2ubmUnnMo2wi9+1ZzmkrZcYOTpGJFbFtgFGf1rsuEfw54hxHhf2y6lWxtyduYpBI/mx4/c1rcL4dBwm7jmWyht5MYjNywkkB/mCDv866HiHGrTltd3V200cAEaRbZ1dySdtR/avNyeVKTrGjvx+PFK5sybSxT4fhSz4cIbRZFJlnuHAnnGOu2Sie3f3qpIsicIuILm4sJVuJBMqJqJwP8u2w8k/PNZ3FOO281zJdWkcpK/nlbOM9z5+QrnZriW6kE7xyMZdxJIMFx0yB2Hirhib2yJZVHSNe1vbGC3k0RmZzlIldcKq9clRu5+ew96nk4zzoI45Q8zKCkTRgKUXvsev9azpAYtre3AVRjc+pj/vtWnwcW4gU3UWohiQnTI+db8UtmHJvRWV7eKYvKj4dc6tOlgelIDbywqhge4U7HHpOP+o9KuXpS9LGO5jSHTp5QGAB53z+1ZHoWIhv+WvpJI269hVJ2S0Q2lsF4k6i8LrvpSP7zC+C2wp97DbQcua2kZ9JBClCVQeau27cP4bKebcK7OAQyYO3b2+lX5ry0iVk4bFiKQhNUvdcbkL13/pVXsmjEN9cwzp9ma1nZ12ZXORj+YeaqXUd1FZyXF1LGI5G1hIQN26Z9utWOIPFLIkcCRxSQE4ljIAJ8DHUVCiQzyf8RZG4YKdZRyhz/NjvVL7JHfa1hjjaGWGNzuTGw3+Y81hSlkkLxudRYkAjZhVe6tmFzI0QYqD0PUfOmLHJhXJx86OhNkk7i4jUBQhzuo2Hzqm2zEA5x4q0+HXDdfIqu7IHOY8bdAe9CdiFcmSMYbJ7g0xFdTkrsPNGRhTpOOuBVibTOzvDEYk7AnIFF0AyIJLIRLLywB1xmiolhZydulFS1+4WdlEpgXWqGQ+e1RzLrjACtzCcnvmnwPK4zI5Oo9O1XI5hGwIA1jbPiuC6Zp2Zr5WaOFVOfFT3No1voZict0BG4q9caFuVlRQGH5iMk1UjCzXIPrdicnUc4FCnewqiSOyQ2pkldlBGQFGTTrO0M0qs+oQoN9utWLq4DwtAgxjBODRPxForNOVKAijGFG5NZ8pMvQXlxGrERjSg2CqAP1Peq8lyIo0xIMtud84rMmlk3O7u1SFRNqxEyOoyeuCKv40uxcmapvcR6y2fHtVq0uOZMqkg4Gfn7VkJGJAuSwQDLCp2kVdIiQop76tzWMoLpGsZM66wv4xJK0rtyzj5k+K1ouIW7t92rLn8pXOMdN/3rhUvmhGFVSx6Z7e9aNrdkLllOW269a4p4PZ1QyHQXauswEiSIpVQv3gwRnx52zUn2Y21pM0iAsxxpEgO3bJz/wC9ZVvfM82mfKpF6cHsO9XLWSK7macBGVWXTG/5s9/71i4uJomm9G1ZWtvHw0HiEXI0IQWLhAQRgDIyVOnA6bZrM+I43tY4DJFZmNkV0jRPWg7jLb56b7VfjhluVMQ5YaN9TENuT7nvtRb82aV5mCo6R4ALFkfBOCw9h0FZwyOMuTNJRtUji2szFFJPgFNjiToSfn1NSWnBLafg888aXc90oyIYkyEGfxHbJGM10acTHFr6Wa/4fHcRQ2jrFGXDFmxgMM/m/wBK0YpL+H4bteHNHFEk8Op2H3ZQYO2cd8L5Jya9X+alFJPv+5x/Am39Hn9pZszsEKg7kBhvU/E3E9tDI6q8inSXz6mHv/rXQX3whftd67R5r2bSrzSKVbL/AJ8EHOB0HnesriNubawVbhTFdtO0bQvswAHXHzI3rvh5EJ6i7OaWKUe0c8QNRI29qBGzuqr+NmwKl+zyPciFI2aUtpCAZYnxjzW5w7hBs76aW9uLaD7HHrcseaEcnCqQOrddvaqnkUFZEIuTMSa5HP0jeJRy1+Q/3n61WcHU4j1Mo3GeuK054ODanVLq7QqcBnhXSfGwOQKpX0f2Ywsjq4Zcgo2QauMk9IUk0V0RmGUOrytIAAxNPimAfmAeruKsNyZsMcgnxVkDA4MXTfzSpJqCrpBA33prQtCwxkxt+E0zGljvQgNThn2Z5WiuVARwcE59Pyp88YtSGgmDxsSAc7jHYis6KYh1Pg1eP2e4ZQ5wwGzKelDqhkiXCqocKm/cjoajusyoJgoyOukfvT7IS2t4ZDHDNHgqyOAQVOxxnocdD2rUyZ5Lxra2SCCIiVY1OQqthcZO57VhKaiy1G0YkQ1MDnpV2APrVgcYO1Pj4e0lwkwXETkhgNypquVli2Ksq5IBI2p81LSCmtl6eR449a4B1YJU1Zgug0TK2rJ7+aq2kMk0hghjaWRxgIBkk1NbWsobQYm9LBHz+Uk4GazlKKWy4xb6LUUoOAOprdsY/tEMQVgulvUSOpzsP0rKMVu3E2s43jjRMjmsdmwPb9q6bgogtx9nlf8A4hVVxEFy2T3Pjb+lcPkZlGHJHVixNypmzDbxxo+lWjzjO1RXTxxSDCagoxmprnia20YimzzcaiB1xWNccQE6pAZPR1IPQ77Z818y8s5zv0enxSVGlHeoAzY1jvnvUkwimgBJYlRgbbb1jOhtbF2ldQgGdjuMkVVbjDLGrRTLy8+rbfH+tV8cn+UGSpJakWuP8WtuG8Du3cuOUv3SjcEkgD+vWvNPh694r8WfEsVlcylUXYBXIOheoz8q6z4p4nzOBJHH95JcMSi740KDlj8m80v8NbKKCye+e2P2m4dlEpTGAOoB7En+levimvH8WU5L8vRlKLyZYxT0aHHbmOC25CEkY22xt22rmrl7W0jgurqJSp2iiH5j2J8AEde/QVtfFd/Z2Fw9xdBrgxnDQQn1dPzE9vlvXCcW4tZXc9xJzJXmRgVjcejQOmMfX5Vf8N8STjGU0yPJy7aR1ttLz5nuJJHlWMlRGowJM/mJ7DfFU7jiMMdy7RyAZ9KKxwiDbbrv86umE2HALf7xbVZowzgtobLDtnfbtXKz8IabEUI+3PIxCurDp32P9a97ElLZw5W46NZ7qOS3YSwxqofSHA3PzI/2aqzTyJDyo5QrOcBiFJb2Hj9KIOFTW9o8N9LDpGGXkMX0HA2JPpp0fDElKkRSOFXSjE6NWe+R/at1SMXbHm4uhDyIVAkYBSScAecnG+ari2mRwFDsdWztIMD2HtV6xgubeUK1tB/kLNqY/qdu9Wr639afa7kQhRhYUfSG+gGaV0OrM51ERdSMyOvqGcjNNt0EUQnlX0DsRgn5+1Tw2liXM0Rldl6N6yB/6u1ElrFOrnMod9l2A2/XNOxUVHulvLhfvcRb7Z2GPNXI4ygDXF4kcBwNQRm/QDvUtpwK0t3UvdTZbYqsYAI77mr63D21tJJbhYoISQdO+R7sf3xUSl6RSj7ZlaFuNZgtb2RELZkmBQFfOTioLi3+9LSXEKqoA0EkgfPH+taE96Lm30LIrK3Qs/oI7/TFZssam91i8hPMPojVdQX6Zx+tCbE0hqQ6YcR3ciw5OCikDHsSaqR/4dbogAuGz3YGtdolMGZJ2LYwoY4BHsBiojbW6w8tbfVL1wX2H1qkxNGcphuGZUCAAHfxVK6sGMMjSKG/lYjP12q/JDFbKObbklj2GrA8ZpjcQtIRpSJUOrG/b33q7oiipY2lqbdNMihi+GL7Y+QFRXPD5OYY44oxr/FgnIHsK0bUQsDdcvKatw4xnzg1Se7mtFaCEKrtljKD1Gc9T0NJARwfDwiMfMiMgG7Lqwcf2q1Nw8recyWNYVdfR1Ixjt2qWyuDHDI2t3Mpzhwck53O1bP2WzmtSY4WZB4UFvnk9KlyfspRXoxrbhl1xJ45JZTy4xlEACjc+K0buX/BUS2Ekch3b8ecA/L55qQfZ4UZ5SZpdOB6vREp8npn2rn+I3aG4LrGZNWxKjBoWxvRa4nxCdXFvDKJNQ3KDf6beKy5As2iGH7tIzkKfzN/MT5q/YXdmyzSz2jPcIMRaUGGx2/1qOYz38ckht1i0AAhAUAGemOnmnddiaswpSlyrwPG4kTYKBv/AO1VrThtzJcLGIZWVM/hUk10ksrWcCYVNzl5FYatIqWTi8cKFoZy0cn4kUbn5n/tV89aI4/YvC47SQMsxH2hhhVAwx+RHyq1PdwWTSsWWInJEYGTnt7D9z8q5mbiclzcE5CKucImwHv71V+2IqkTKXONjnpWMsXJ2zWOXitGxxH4j+2XhljUxptpVM4GPfqT7mrUNs17awTzyBEuJiupm2THU6eprnTcNeyIkKctV/Lmum4W3I5heQLIseMk+o57L4+lS4KCSjoFNybsj4hC0i/cRcuCPZAxw2O7N7n/AH0q5DbcOsmtpr2Y3EQI+7QaV9gW6/QVk36qt6IoZmiBPrikOoq3jNaF9xi2ispIWsEluIwI45ix0xeWCnq3uaUm1SQlttsl4rxKwsZJ0ht5o0ulwrONTRjqcDtnz1rIgmuLyPmgO8aHlsT09tqYL0NKJJNV62PSznYfSplu+RLzGjEjupjMYOnTnYEHoSKbXFaC7Y82bXFn9pgRQi7ai3U+Md6xpbMzzqEYL/PqbAU5/cVonhksMtxatMyy27BRhvT0zVS8tcPBhSHlOk5O2rYf3qotemJonS24da2cxupRLKoBjEY2PzPbeo4fiCQI7aSoHTkgDSPrUMly9nBdWbwLEy6onVlBYnPcn3FUIleCNtiDIP2oW7bE9Ex4pK7Z9Oonrp3FSC8la4ebn4kxs5H4sDpVSOPS2SufbFTRgG3kd4zoB/GOzdhVydEpWQmWWS9a4B++bq3SmYyQrEbdAam5TyRLsxc/hwOlbdl8I8TvkWS6RLGH+Z9nYewqJziu2OMJS6RzjwLg7kj+lVJF0Ej8QFd83w9wm2mijlEsg6tI8gx+1EtrbK7G04ehhB2YDc/Wso5kU8LXZwELTkgLCT/5c1r8N4TNxaflM4tkUZYv/Yea6GaMPEDGghbxS2kMhiBEn3mcksanJmVWtMccavZhT/DN9BcOkWiSMHActjNFdIvEJrO6doXAZhg5AIorm+fL9IrhjMeKQllGdhVhWCyjLZz+1V7VVERmbcDYCnNMobUVx4FaPsxLkoiW51cwyIBsKbJeLHCxRQjHYYqrFcjrpxSuweRXEex6Cp4/Y7HJNyRzNZDE4z5q8julviLSHY5wRnaljs7dUBnYDO+nxUqtbSSh1RhoGFyaiUkykiWFLiKNiXi1v01AZFIYmSOR5pc6ugXqBUtvNZQuHlUSy+OuKqXV7FO7hCQg7AVltvo00kQvNG8btywcEaV6ZqsZRK4AXQ67Bc5p7zXMzACRFToAi4p9vHHFPokUufbrWukiLsh1kN6jk5rVibluqktqC5GB3oLw27MscURZxu5GSPl7097sQJEEOGU7kDc+1ZSfLpGsdDVmlbZn9Tnf5Vo2lwEIXVlB0Ud6z7h3vJdcax26sBsBTYfQ+GbJ6aj2rNxTRadM6IXUkVwBFlAWycbfPNalsEeLSqMvMbQqaiBg981ybXscJb71nzjGTnNaNrxslF9SgowKjGR7k1yZMTrR0QyJPZ0lvY2LXpmRANG7sWyWPTAPTfcVenRryWSONBHO+5LDTqGR6c+w2rnIeJSRwkl+WjEkqNy2e1W4OJcqQIXOEXOAfP8AsVyyhO7N1OJHxxpbaxNvZACNo9Ezn8RYglfkOtXZeCNdpLLcjVJDJGFkPXIQA79TjGw81o215Ezi4lhiLqugM25UmppJ3u4/vcLGH2Zcjcnal884pKKr7ZSxp22UY1meG6mtbeOLMzOksOCfUMsS3Vs5HT5Vy3xFb2lnwO1tuHwPLGW5s9yy7ltwOmwB3wDvtXZX0lxaTcnhzrgx8uGPTqz3JIHyP60XljeX9nIYDC85j0tJI3LTXjBJA643xkbZrTx/KcJqUun/ALszy4eUWkeW3loIgFLLIdKM2k/hJHQ+4qukIkTlnIB6H3rvr/g4Xg8XCrW0e8u+XnmuFCKAcvp3znONzWPd8E4xBYjh0t3btZQPz1ZJAYkJ2ZmbHUdMdT2r3sXlRnHs82eCSfRyKLiTSdvJ8VsRWzpZLPLAIoW/AWwC/uudz8+latvYrDzIuCcLk4rfKcPcsmpI9s5CdB82P0qpc8Gu2gEtxc2bXhY62fiEZJHjSehHz+lbfMpfsZ/E0UZUblqIckZzjvVWVH0ElCD8qluoLzh8qrcRNF/KeoPuCNj9KfBO8kcuGywGVHk+P0rRPVozr0ylHG7HVtpHWtCztjO4iQ5lb8CgElz2Ue5pFijkTmOxDEgAL475re4dwqG65jrHLHCY1CohMhLb7k7aemfqKyzZlCNsvHjc3SI+H8La8tyiQKjRoRLIZMkOWwoI7HYjA+ddVwngBS1knkVFWeIRNBkjxvnxkZqjEqWVrFax2+h4N2PVgSc/Sg/ELu/IRXBP4j0wM4r5/wAjPly2sfR62LFDHXLsvmzmN+s88qSzRp/ywAFLAY39qjsuCD/DsXQE7mQFMHC4z579TVWwM73rQT6JESTlyAkjJxk5PsB+9acVxMdMa5MaOQmlcDyK5ZZckVSZuowe6L9t8NwCcSF3SNWLRIpwIyRuQerA+9PPwraT3CyiNmcMrglgi+npkfWqdy940hENwmllBzuPVncDuT89qsR3UtsQkryz6iVODp/euZzz3fM1UYdUWZvhxEuGuWdI3dR6gAdx1xnp86cOH2HDnkuUkYyKDqbJIPfr5NQRX9vH9ysrzE5YmV+Zgg7+21YnGOLGRZ44WyTExXfcsBmnyyzfC9C/GKsq/FPF1gt1aNyQcg6up9q5eD4hkilmmO6FAGVm2x/261V45c/adECRsZlGp3LbAEdMdvnWRcm3jgijSWQyOoDZXYt4Ht0r2/G8aCxpM8rNmlztHbWfxFNKVlaWPlkEBzhiOnY7E74qC7vLqB0sZUkinRyRGQukEqMb9MnvXJWSyRXNu0kebZtLD1YAOTuPPQ10PF47aFZGle4meNA51KAoVtgCT1PTcfSqeGMJKKKjOU1Z0Hw7aDidrd6sNiFbfU22j0l8g+CRkn2NRPewcH4faxjickNtDHhWVsFhq6gf5iSc9cCq9rdjhvwJILViJ7pt426mPYLjxsQT864n4k4hcTXUNmuVRFiUoP5wMZx2rXDg+TI76OjJl+OCrs2eP/FlteSmVrBLU6ApDtq9IB3Ce+a5ngHFrSHij3RtOZKB9zGT6Q2c5x7dhWfxaAx8RmJJZWYkH281f+EOHrxHiIyiMlv99MzD0hFOcbfzHavY4Rx4/wBjzecp5P3PQYbeOTh8E/E3ja5uWDMtwxVo0JO/nJOfoPlV+8sJFRSj2sFoy4ARSS48/wDvWNdX8ELPxjislvdzxHItYQNOWPpU7ds5qFPiPi3FGMkUKpB1WIIB8z1+Xzrmx8nu9HRNx69l6M2tqUto3aaTIOonCjxt0qeVrsyAxh2YbFj6Ix/T9apR2nEJZNU8Ji9Jl5kh0KANyeu2Nt/p1qCfj0Np6Edr59jr0YA+WT+/9K6tN6MOls1nmit5NEQiW4AODrGs/I4P61XaxeUo8aBpGz/McnqSTtSNdxR28dxfp9kilw0aSHMr+6r/AHJoXjVvEfRbPIJTjVKdX7jO3tQr9CtexYYTl0lvIy2cBUJOP0p9rYTrIwSV3Vd8suB+tNvL1bS1hMkg15OUUBFz7AdvnWbJfzXEOoSR8xmz6XIxT2xWkbssmUVJLnJHRFUb/M1h8UsIbtg9wk6uv4ctpRPkorMk4xEty8CqZZMAF2OBn598UyX4higmKvA1xsQ2+APpRxrYnK9Fl+HPDblVI0PjSMnt9asWPD5I5BrdIkK6dWoFvmKy7a5jvpcLLk9kJ/DViRZbSfYKqSDfuBt796OXqxV7Rfuri0sm0iZWZjg62yzfWqi8ZtxIwV2GfSFyAP8AvXOXEkjTGMKGKnG/c/WqM15LIQpUB0J6981SiS5nZz8bikRwGiYxjIVDg9P3rKaReLQuZVZHIJTHXI7dOlc6A9o6TSqrqSTpB6HpW1bvqjiLKyqykqT5PU4FN6BOx0Im5IlkkD8s4ABIGMbkdq2LG4sY4PtTzNcyIPUWGNPjFZkfCLm8dI2uGjhI9K4wxHsD0+tbr8JsuH2kMUEbudWWGMk/OpbKSIY5JL+6BLmxtxhvVjU58YxWleJHwu31iJbiSTJILk/U7+PapVuYbqGNktQsi7lSoBOPNVJUvrnOgRWyDOoJucfOoKM6C/umYPLJHDACdEYQbDqSRjptUF5c2U95CrSa1I1FUwBudsmrt1aWsgijeVWk0ZbqFbHc4/pVKcW1nBJdPDCGH/LwhyT5qm1ehejJminlvlW1R+Yu2VOQu/f2rVvL7lWcUVxJJNI2QA508sDbYfrWTwvil6Z7mdGX7zI3XVv7ZqrcX00k0jFkklK41aewOappt0xJpLRfZC0DsMAYxjtgbiqTSoGVk09MEY296rQX5iUKVYljnPzpzMszlHYenGNI6GmlRLdlaJwJWxnFPlt3lQOqBY84Jz/almnW3OhI8v8AmNVmurnlYzhW8CrZBo2lnGYZAJUMqqHGO/kfSrlnJIlwHZdCpGxJQ+skeGPQ/Ksa2keORW3DDxWnfPPGFd4PswmQSQqgwpU+PFc8m06+zVK1Y9762MK6/UVGyqN8+9Ne+a6t/tMkY0xKfSo/Ee2T3rNuIHgvGgldSVAyVORkjP8AervDbQyqwNxGqAhWRjjUDtkeaU3FR5Dim3xI7LnT3MUEQBklbSN9Iyf6VoWfEH4PePeCO2uJbY6YkkGtGY7avcAZ9qxjzbeUll0vGdweoIptzcyXDiVgBqJ/CMAe1OUeevQovjv2aj3H2285k0ccYYnUYhoG/fwMdqlNnBAnMeWSaOT/AJUo/CD7+9ZqK72YlZsNqxoxuRj8X9q6DgcTM44ZdyRRwX6kANuY3/K3sT/SsMsuEbXo0guT2ZfHLqW54zLdcpFfIzgfiI6t8zTZIlmm1ow0nGPart3Y3c3HJbKWIQzRnlop32A2+ecfvVriPDo50aezh+zIlssnL3yz4GevfqfpUxzRgox/Ypwcm5Ga9pL9kDqoKpLjI7HFWLLhdxfW1xCqEc+dSCQQAB1augm4CttbWHOjkYS45gQ5w2O4/vXR2Qt7eONruNebGDgDYJ7D2rgn5yf6NnRDx97JuFfDlhZ2cdvb6BPgZlZfUT7Z6VV4tw1pRJG8xK9M53xRxDj1laM0hOGII69K5a44+1zqZiyxMcAk4rDH8knyOjLkxxXEdd8At1V2E0soj7LWaweBQwlkVAfSG3oPGHV20SEEjTpqpcsbiIIHIOc79K9Jc3qR58uL3EHmDyHSxYE5Iq3PJGLWNUZgW657VQtoYkuUEjnI7Z2Y1Dd3Cw3ciA7K2BvnFHFSlSMro0JHACq2CQOuetFY63+5D+pe1FP4mTyRYe70QiNOg71A0rZyTk010QW+t5AN/Svcmq0khLACuiMUZWaIlzCQp3NWrMssQL9U6ZrOSZYCDgF/B7VYW8JUnqTUSi/Q0y7PMNt85p9vcBXznOPNZss2lRvue9EcxEZz1qPj0PkaUl22GeKImRts+1NtMA5dyrHcqRUFrcty+WrYB704rplGpiQOpNTVaKsuvlHydIB3GKkWVBMZBnYYqvavEhZ2JYHzUU9+WfCgBfas+Lbou0izLPpfURgkbUkMrklR+HG5Jqj9p5rL4G29Wo3AkGce+KpwpDsstcF2REJwCMhT/Worl5p5jjIA2CinFBhWUqqg9O5PmraMgw2kMQMVnaj0PsqtA9u6LKyyO2+lTkD51Kk7xOSxCgdhSFMyahhdqhmgkWN3UNJj9qO+x9dGgt2ZEDO/Ube1XrKca9Ycn/fesGC1uZIS4dABvpJ3NbVhLLYWUjAAmRcEYrLLFJUi4t3s1kvnjtXjjk/H+Infv1FavD+KO0apKyv00LnGr5+1cWLkhD1yT3rUsJvuS4Yas4+VcmTAmtnRDK7O3e4Q3Ch4lk2CkjbSfGatvxp3Yqp5cbH8ROy+1clFPLIynm40b5+m9XbK6ETScyX7sDI04Ofl4rz5+OvZ1xy2bPIgltnBLwLIDGdGwYN/MT3O5qP/AAezjsyLecw2YBHLJ5gcd2KnYt48VBBeQIwVGL75LO3Q4/fxV9MpAiiPTOyrq0n0qvXp2zip5TjpMtJMqXEFrJwo8JUiwgkk1xCFnBKAZ1Ox/Me+c48VyPFbuThU4is4IobXIzJHhnl8kuwJP9vFdbeM0kqIIpJSSCSRhVG5O/c7CspvhiKbnXt3J/xB1OtqykensM9h7V2+NnUN5HowzY3JVHs4q64l9tjMZZkBfVyzjBPQHbbP0qThsKwNNLcxuZEOiOMg+p++fYAH9q7bhfw27IJ7iwtPu2DKscOllH16/M5roJ+G2J4rDPJpma3BVI3GBqYjLZHUn3rpyfxTHD8IrRhHw5S/KTOW/wDB8kjqxfEeQSoX1YPXH0rqIeHQ20UKRqwih6JnIb5juaddcRGQMEGI7AHB/SsW84+zoFXJUt0zkgeDXjZM2fyUk2dscePFtGlcvBMs6RooZgSxVf1OaybWxisJEdNEs4Y5kIzpQ74UY69s9u1U5+MLDbsYWLFxpwBnbP8Av9Kifjj8lkjYNkAZ/CCBVQxZIql7Bzi9mldX8eZdbEO3qABxv3+mBWZcfE45pOwycKF6L7AVzHG+KM4fOMkACsmG5Q2M8jvIZkZNAHTBJyT+1ejh8JONyOPL5LuonqHDfiCEWpaZAzlQiHwT1/ar/wDikdwVbnRCCP8AJj8WRXj9vxWcDKyEAHHtmrMfHHjJGdR96cv4bu0KPma2erzylbdjCsRV1GRq6NnJz461nRcOVZYpp5mlGllbTkbnoPp5715/F8T3KxnDDA7+TVu1+LZ5SOZkovULtqqP5HLBOiv5uEns1rmxsYxIQCyHOstKCzsBtt4B/WuYu7aMxQN9qwwOoqIipGfBPWtaW/iuIWKriXSQTj9vpVJYPtF1C4lVVJALSDIUdOn++tdeJOPbMclT6E4XOkUJluIzJb2s+UCnc5Byc+wBNXF4g/Ewkazh9w8jSLuuk+kb9sY9u1IskNnZXNtHFbyqh1F3GQMAgkD5VQjtH+zO9oJfs2NMUkgOSDuz4A3G2fbIrSlJtshXHR2NjK3EJpUj5YVtRzgasAKMD2AUD6+9cYbMx8Qu5br0JaT4Z8b5bcbfIE+21a/C+NNwpJ54hzXnh5SrnBRBjvjGScE+1U5VueJWnD+FrC6yPLz5HK/83URklup7D6VWL+m39G85KaX2ZfxZwu5guI5vszIl0qhAq7asDCg+cYzXQcD4fD8P/DJ5TEXMwd55gPTlQQqD5ZP9fFdZx2xR4LSeRSTaD0RgDCHG/wA9xXM38j3NvHziIwRlIw2AVx1xXPDz/nxqP/Y5Ylhm5HOi2SJZoXuFmC4Ylc6A43xk9SPar/wmVmlP3SJDCv3jOdmznr7AAk1FNbNfc2MIQsbamIGce5qEyC2llTXqSVWUxAn1DG52+ldkcnLXs51NJo6M3K3nD72WVmlhlkES5ABZVGfooOBtWbwmOC5cvy2hijc+ojeTA/CAe2Rua51+MPFYxQxlmYkszZ76tv7V0Ju4orVZHuC0qYTSe225rujFxRDkpM0uK2DcSghuDIHmAwTMcjfx4qjZ8NmguZbOdo1Ker052AGxxVU8VkOmOPmKmc4xn+tQ8T4rFfXpeMaDgKxOxOPlWi6ozb3Zd4wyz26aUAZQQrA4GwyT71hNcOYBDHiKY/d6tWRuN2zUsl00ZMZCM0n4Qxzp9/0qpHdW8EurCvpyqIP6n3NNOiXsvGytLSKGKLVcyYGuTJ056kgd6qu0PLIEMZkJHrI6+wFSW9+uHExzp9Xy7YFUVxMt0WPqX8Hb9/lSTfsbr0WzFuiW49TZAON896lPE2W1+yXbBiSMYP4feqUVxpCZxpC4PzqrOGlvA2slOp3o4p9hddG5eW6u8U0UgwrZyT+L61j38Myy85Ydidmxt8sU4XzctYs5BOBU/wBsmKKhIwp/fzSUnETplnhnBeYrycQ0EOp0BjuvfOKvy3draNojGt2IGr29hWQ3EJWAjMgwDvv28VSMspujryCNxnxUuTfYckujov8AEWa8WctkKO/mrsPEWmikRnJ0kjUTjfvXMJJI80QjGFXr7+9aJMUcQZnLAtnA7+1ZudFo22vmC4twMMhByOvQCq9xxuW0tnWMc6Vz1Y40/KsiS6eWHUG0AnAx2qFpQQEGdkAz1NEZP2U2RXd3NoEksg1FcAKcb1jXTytjMhbJyRqzvVu8lJCZGMLjeiO2D8vP5t9h2rqg62zCW+h1lbzKokAbljrg4xnvV26u7cQrArD78YOfyHzVxDptJIw+GKaQcftXOTxs94FkyXU4ahPkxv8AFG0tov2YtGEfUSVYjBC1lTvJCW1YHYbbGtG2LiKTS+GRMqreemarHh0l/cIgmj5j4z1OPJ2oTrsGr6M6BHnuFEaZz1/1q1IyWsoYES46kHAzWhPDBwyx+zxXC6n3eQkZb2A7CqdrLDzllFuLjJwUboTSlK1dDUadCRSSiYOyhQPUFAwPrWrHdHilmnDFh1XAkMpnZtljxuvy71n3M9wya2JWMekKBtnFNsJZLW4W/VdfKYLoP4WyOh9q5ZrlG/fr+5tF8XXojvltlv5TG8jIWyCQBmr9rYo/3eTz+SJURh1Oen6b1qX1tBptOMTRw3CgH/g0XQqHyxHUZ/WqkUCG4sbyOZkbBedifw4PUfMdqweflBV/r+i/jqWzO4us0dxcLcMDNzC+B7+P9Kp27RS2pVpCuHBK6fpmtiV1lnurq1Tmu51K0gyQM9h8qn4bw+3uICzvynu8xuGHpDdmq/mUMf5EOPKWh/D4oOJmWOVjGbeLTbhQN8dM1FYJDLcEcqWQ7LJcA7Ix6YH+tadpwyCM2qrIpmiJ5gDYEhzsKmKTxXE6xrGY5yGZEGMEdMfKuB+Qk5KL/wB/3Ztx0my3eg3jxTNa/ZruLEfOLZLAdCfem3dwYJzp66NQYjf3/vVC/vJoLVNekXJO+ncgefnWbxDiM00kLF8MiYJ8n2rmx4ZTr6HLIlZuwcR+z28xjm5p0+hzud+30qrf8WkLJiUsNOcn+Y9cVzs140KLChwuxpHvBPlw2NK4FdUfFUXyMnmdUW4pvtkxDSgnPqZu2e9V7zS0gUS61DZGRpz71QuUkEsZQsu2cjvSBLqeQnVkZ2ycmu6MEt2ZXYSQgtqM/MYnJx2pWu9KAAuM9Mmp1iZE5bOqnq2OtMvIbeQAxHbSBv2NbKSemS9FR7shAFPuN6rGYyaW75wc0s9uVYYIKpsGqHEixSMBkH05I71uor0ZNiG6G48Giq2jQuqQdT0orXiibNGSQvL7L0psAeS6AXJqM5eUIDjtWvFyOG25aI8y4YdT2rGT4qgSKq28onkeb0AdM1btLWS7mSKIAJ1ZjUFms9/c4lzg7k1oO7wukcJCqh3I71lNvotJdi3trHFcKjsMDoB3qvdTqJ0ggiwv5jV67IkYSMMtjcntTYpogoHLB98VlGWhtbFhgU4y2lF6kdTUN3cmWQArpQbAd6dcXmjaNOtRWcD3UuuVtKjuaEv+TF+yJXlHI0qcBRWRJcOXCg7kV0N4llbWRZEeWVtgx6fpWOlkbZVeUEu/4RiqxtbY2qJLfSiAsx2qVLoCb09KZcQKIcRq7zdT4FUosncnFXxT2JujXS7ZzgHpU8V22oKCcHas2Fk1AM2M05rgI+hcnHes3BMakawJd8FjpFWDJJLCUU4T9M1mwzjlnSelSpOGGg7msZRNUzShWNURUB1jq2atu7yRSKGYADArPjmWFNGFYnfI7VLz5ACAfxdKwlFlpjwpLFpWU5I2qxFKLfmlSMPjTjoKrRvpOsjLZ770TMbiTb0nqTUtXoaZoRXelCoJ9e7k96uRuBEdB+7Hf3rEdSgTD5J67VajfTbkSSlQTuBWUor0axkaEF1iddLKArDc1sWnFUbY5YjIUlsquRjOO9cnbIvNaTLShgdh2qW1uCiY2SNTux7+1Z5MSZccjR3ttfMpCS4yABqX8vitH7WFnZnZQEAXmOdRA+feuJseJqkxZVUIOinoT2JrVtuMRsACVdgScr1J+tedk8dnZHKjem403LMWp3XIETBdiM43I81WlnUaJlkY3DMqFlG2rf6eKanEUmmzExiSIZK6cZ+g2qveot4BHIyQrGC2tD0ORklR1rnWNLVUaczK4zxIAZiznOgS6tmHfb51y8nEJ0umljZT5ycDwa2J0lWCQK6zxR+lhpAznODWFBZQxCYX2uFgQEB2JOep22GPFev48IJUcGWUpSIoeJTwXAzIQMlguNs74qpPfGNjzihVWOFU4YkjP/p96o8Rmng4pIIpApDFVKnbx3q5acKuY+FjiV5KkYDfZ7RX3EjDfPyGevTNel8cYpSfs5VKT0ilLdSXsUL3JCLHHpA7tgmkN+ZrG6jKhNo8YGNg1UpLieS5zchjpPcdDneprOJ7tZwNmwCi9yNQAH7108FFbMrbYskzQWUduXHLkPP0jz0Gf0p/D0FxPJNMjG3gHNlAOMgHAXPuSBU7fD99PxSK1aNguoRtIB6VAOCfoc1sLwBo4vsLOv2bXzZpk8L0H0B/Wsp5YRXe2VHFJvoybKx+2o9xPcRWNqWOCwJyf5UUbsf6d6JpFs5mgiRiqH8ylT9R2rpo+B/4m1tdPKLC0tYsrGVyUIPpQdyfzMayeF8EufiTi0n+HibkxAc64k9WkZ/Ecf0rJZoytt6X/guWFqkltlJZmJ1A4J8Vo2Tg2zRnDMxxv2pb2wSwtrhRZ3D8tyFuJAVDBTjOkZG/zqgquLMT62TmnEYBxn3Pt2pamrQU4OmbmmEWscggRRGhjc95M+f9aa3FYWZgJZomEJTSGAQb7BR4ArmUuriOQxTyFE14bbpvU3Erm1uLqSa3jS2UYVEXLLgDGcnc560fBumHy6tGmt3G3FhFzQq3ZMZnlP4dWDk+CP712nCxLxFV5iQva2LsseNyA2CdXsTivNVtJbu/i5UuDqUFsZCN2z9a9G4JY31vwqaOMgAHnltHfABX5Hf5Vxecoxgqezp8Zttmhxq5THLhZzC5CjI3UkYP0zXM3skX2gQghBGpVnAzuf8AWlu+IPLzNILQg4LN1B9/lXK3nGikjhH9ROkuNxgVz+L40ukGbLsu3PHEtXlt4JBGjHLY71iy8ZcMEgQRSAENKPxafnWemJrtsOdYB696tcyFYhA0K6QuAxBznvXuwwwx+rPOc2yKSXAjWEMI9Qyc9gasXPERcl/5R0z5qlIkk0h0KCidlHQUnLWNWXTluuxzj6V0pqiU2aFtfztbSM79BgH271B9sTLAajnpT2s3fgf2rWcNJyyh29yf6VcueC2nD4LnXK0yF9MBxuVx1qecbNKZWtVNwjXTrJygGVGUjeQAYBz23qOS2aBQ0rxCV9OE1bjIznH962TwmG1t5xbKCjBVBY51HHqP67Uy64bHxX4nMl0wMRRZpCnpwFXdR8yMAVks6tv0Ph/2Z8EsawNHNEFkKlT5JpXuAtuiBD/mx3rTOu3mtHls4Z93CI49O4HqOOuO3yqGaJJRckqUYBVAA6b0lmTYOLRkyK7KFXAbqRUkdtJBGG/K5OT5xVlLY/aFjIJkcgYAyT9KZcOGijdZiyoG2xspLdM9z3NbPJekRWrK8caAo4B1ZHyGafeW8kd7JGuspq237VLFEdKbgoCNWPn1q9xfh0z8eu1hyYYQAG6Ywvf3/wBazeRKWxqNozorORJTE0UivjfUMHcbVPbWkRZlc+np16VoQQP9qcgMAQNs7H07k56mn29nE4lV2dVwdOldyf8ASsXmLWMpy2rRo6IQEIyB8sU0qkcKmTJYbAZ2G9W5AICqH1sOrZ7UOYLkaWzpA9IA8b1PNjaInEbR6VwuCGJ7ACq0jBQWQ/L61O2GGkHCMNsjck1AtqQyKH1A5JGOgFXFibfRVks1dTcT50KcKB+bzUwk+55ko0qnfHbwK00hhfgVxcSNrlEqwx77Rjqdv996y2U/ZgJMMRtv0ArWOTlr6JceIlxxeGNAsaHUU9AIqpbRyLci6uFwhOcds1Ki27ScyRgCm+KoXd+91OiKNEaHZQevzrpi/SJb9s0G4gskjnQDqGCaSzluTHKqOI1O7lRgn6+KzrfUQRjLknAqx9obS0WM7YJHen+wkx+RNG7A6yp2pzMEjUpsvYjzVOABWcKTg9hVrRqZQMtj8h7ilPRcR9nHLNbPCXYlPvAO2O9aXBYJeJXKcOtXEEszEtM264A6Y/vUlwv2aSzla05IKct0caSxGx2q/bXTWV3cW84SyEqggMoHTcD615eXM3F8V/v/ALOqMUnsa8MvDLuW04hGJOZEwUBiVbHQjFZnG+KDinDbRbLhyWYPoco2Q2Og/wDetg8Zlt5lmszGzOCmuQaj0337CqQtYBGYsEI/qLddP1rHHkpqc1v/AH0VJ2uMWXLDiUCtZxJZrI8KLEJHX8RHers9hy5nj1xuZG5u34QM7ioLaezeBRO+gQghVA6nzVaeYKzFpx6gR17VySTlL8dD5a2V7m0tjx9+VNJHbABlOD6j3wfFXBe/8WSp2Vf/AGqnzAuoSyKyqPSucHNUftUiTSGNkBJ7mujg5qn6RlyraHcQcx3BlZjzW3bJrNF2kkupm1N0qxLcTurmRt22yN81mlFiQt+YdR7ea78UFVMwk9ksuZHYBhjzVdpgq8sHAHWojL92Sm5NQPkxaipGf3rrjD7M2zTjmxAoLaiRkDPSnQTkppRjrU7j2rMtny5DKRjoR2qeXVzQ0bYIOfnScEnQcy7K2RqRcN3GahebDDUduhFSZ5gBGCceoDtVMjVlME6j18UopEWM5yq7YYuPBodlaJQo0nOTToJRpWGTTo6j0gnPzoliIcuD6CMA1r7EVpkDxKAMEE0U6ZhpRV3OM0Vqm6A04o7XWHAbPvVaeQKzMpySdqk1KoCAb1EmztlQawX2Ms2jvHak6/U/7UqyevJfJ8UyQM0apGmCeuKhWIQuC7gN4pUmM0J5pBp1HbxSicKoLbZqm0uo5O4FN54lYDpip4BZpnS8atkYz0qTmsGVUUHPasvnliFBwBViOVdYAYg+ahwKs0rm7lgdY9CsxGwPanSSCeNWZsyLWRJciO4yxLnyaqzXsnM2zgnoKFivofI1ZGlkL6W3YYIFU542hiCtGVZu5otpZclkBBqKe6mnnCuScdKuMWnRLYgOZE36VczysFcMx3qjFG7zMMGtC2dbaTLAOcY3onoIoswSwizYkerNMgkyx0bk0huIzHp0AD2pLWZA7ORt0FY12zQuLIUUb5Y9anE7EqOw6kVUTlsdWrHfFNeRtuWGGetRVjs0WmKsNDZqzA+sF38bGs63WMRkF/WakN2wVU7CspR9IpOjQD6UJZwzHpUCFmfDNgntTY2LDVkClGlWJ6kd6zqiuVmhHnQIY20HG+O9VpbeRdOpiIlPSi2kUvvkk9TVuRUIwSWUdKz3FmnaCe9C8MjhGArHUVU7/WpbPiaRqCkAWMHofVVJ4FuWDNEQV2ABxSKn2V2UthyMFTvik4xqmVydnUcOvHkuMLqVWP4R0/etZQksSgwat9Pqbf8A6veuXtbyW2j9RVwe2e/mtO34ssgWVfu9PVAD9d68/Ljd2jqhNVsbe8KvnV24cpRkCtI64XUTnTt8qqtZS38rPbhzdRNCkvOAwdxuR8hvWnLxiB5N1xsAOozj+lXbCW2mJmXTz3Qk5X0gjbHuem9Ssk4K2iuEZPTOUk4LY3t/fSpaSmBbgR6l3RiW6gEDAz2Bq18QQw8S4hY2LSvapZKWj5YGlznfbsdh+tdB9qinSMO6yuHL6mAPL69B86dPZxG7V447aOUgBXIwAx6kY6f61f8AMNSTfroPiVNI5f8Aw5p44r2/LR2sUjxraogIX1AgAnbHck79KZwDgcTcWuuIJYyR+l1WItqAcOMNk9ts11jQJcFIVmM0UeVJI6tnJJ9875pr3H2MQhCImb8Rb8qjO/zyamXlS4uK9j+KN2yhb/C9xawJM08npDvLlt7iVycbeFH9alsoxa8OaO6Uvcy7kPgNk5337b1Xm4zPNB9nhjYt6wsndmG+3fpWRNfy3k0MTkuQGZ2J6jqKSjlyfrE5Rj+k6GxsYruY3M0ght4AYkUDeTI3I98k1DccYk4ZwyG3+H7dUt5bj7MGRMDPTJJ6nckn2pllxRbez0gku2FGTsN/FXrKzslhtpH5KxRZCBB1JOWYjyazcuLue19FxfLUezlpIeJXk9zfTySpZ8zlRvI2wQZBz2xuKw7G9fnSXYCzyqVggXl+hcDY+NgM/ua9A4hYz3U0kVjCptwP/iLjCDt+u/6Vi3vABLDDHFH9lwMlVk0rk41Ek+Rt8q78PkwaqWrMMuKV6OPuoI7tnCzB1UltYz6iTk4J/YVDa8Iu+Jy3D8Ogdo4BzJAT/wAsA9TW1ffDz2dwJRMt0skgCQKDp1EgdepxnsK63h/wpL8OyXEjSRMHQa485Gc9x3xtXbPyo44XF/2OaPjylLaKkVlbcL4ess9xz76bSW0DqOw+f96j/wDE6xYsJ5CplIKMG/3tVD4h45Lb2QtxKEluZ8AodSIq/iP6/wBK5OW2acPdq8uGYlSfHT6ZNcuPxVl/PKayy8HUDpbziVnBbX1p9niecOMzgEEg9gM7da8+uBpuGRFd8kHAO3WumhtWaKRcCRtnmZjuN9h/U/pWWLS4uOLcuC3eWaTOmOMZz716PixjitJnNmbmkVoxJr1LGqj3PWp5lJkVTk4A3Y9KjSPRJypA66CdS99VNvEnkto7rSVhXp/b611Ps5SOa6VQFi1BW3Jz1osIFW4LTlQrEBUbIL79NulWeC8GXiBbmPoRFLMdgfp9SK0rm1jnkRzAzujCMLuCE/m/XNTLJGP4IuMHXItcX5VxbfZ7aLTFBNnBJwwxnOf2qa5YuLaUhFCDo66hsKkS3d0GHCLkFh11ADGKlmiiFmRqZmAbYjO2N6875EqRv27Kds6taKrboWI6dB5/WtArHDFrEYdumM7hay1n+yiKVAArLqIPTvUE3GWmgOrO57dqHCU3ronkl2aZvFw2FUkjrjofaq8cqkso2kldSSx996y3vRmNd2L7A1GJVBZM7hiNz48VssOiXMuXVxKl60kbLlj6dP5V/wBadchr6CS2tYzHEHzBDnOGbdsfPTWS92GxKSNR7VsCGWOL7twWVoyCncEZ2/XFXJcKslO7G8L4dL/igil2QRqzZ6ZJ6V0giMi3EzOoFwcnB3bod/G4FR2c8SOrqgHpDHPQbbVUiv8ARbSO5XCHYDqT/pXn5Jzyu0dEUoqhl3pBMYACoTlv5j/pVN7osAd1A7/KoLm/LAk5Oob+1UvtqySLG+Dg5AzXVjxOtmUp7Lv2rUpAO4GCaZDMVlBOcOcAYoRI2lIEZCnelVll0lmXQWIAH5QO+a0pdBsdcXB5isMMe2OlMhRzG7kMwC7kdsmmcoQwiaGZZVGSQucqa0Xkkj4LFFy9pPvDgbsxGF37/wDeiT4pJDSu7Iri5SPgsFoECySO07EdSPwqP61j3BDsZATgnBA65q3fq/MMUeMxEKe+Mdv1zWXOv2YtMrFiG0gf1rbDFJGc22xTcpvGEGk7Fh/WoYoUWRSTuDjPamOjS/eRMcEY0471ZtNLoSWBZcbYxg10v8VozI+W8ZZWG3mklAEmrUIkYbn+UVZkLOsoILIm57VUuTlcahjHpJ3xRGVh0S2LWSIWJkYjIA/m9/atPh7L9uiu5I+ckRwFDacN1Bz12NYqpdtAjKqvkYGBgnHWtPhtwOHmXSqujLgh9yprPNbi6NIypqzbvbu7uneSYRSiU5Z2bJA9h2qC5aB3t31mcxjEhbBK/KqK3n2e25xXKsSp22PmoXlLWzzWuplO7ADcCuKGB+jZzsuXFyljLghZoGOwPUD51Ya4jubTAV4wOrg5wPFc6l6J42Em6/0rUhvkHCWttKqxBwwG5Bqp4Gq1shT2X+dbLEIk1SLIMCRhjBqtxU2yXEIglLog9ZPc1nJczCIRZ289xVe8JaIgSHOe9EMFS7E8loe8peWSbVnxVOOZjIc9ScmmxllUhznI7VOlsrRpNqIU9Rjeu1RUezJskjlZX0knT1zUd1Hyp0ZWDa9jmkurkCTCjSoAAqLmmZDllyOxpqL7FYkcGCzHZBvnzUevUZMnJx9BUzSF15ePTnbFR6QSSo7bmtF+5JM4gjj+6csx6kikilDZVtmAyDUIjBVfVhvFCbyAfvSpUBcEiphtWDQuiUErlNJyW7GqkvUjxUBuGTABxihQvoRpzxg/gKFT0GN/1qvKjIoxkA1HzsoCPqKeJtahaVNASJCDlhjVnGD2FFRpMRk5ye9FJ2Ikkb7442qSNMj51XdwWzS8/Smxqq0MtG65RIXrjGaz2jaSQsWySe5pZZDjHQmoAr9Sf3qoxodltldVAXGKmuJ44bNY1UBzuWqraBZbhY2fSD1NScRh5Fzywda49Jo472NdFeOYgnzV+35hXLLnxVSKAKOZJsBUxv1ddC+nHelNX0CJ5o9snGr2pqRFcErvUIdi40nNXATy+uSah2hio5J0qQKJIVt5xIzZyKFESLlutQzkTjTqx4pJABvCrFkAxTEnc5brmqrZi9BG1XrWUGzeHQASfxVbiktBdj4hLOSsYyQMmnJqVTnbFS2ga1BfO7DFQSTAEgbk1l29D6RILhkG42NTpeErudqoGRcb51CoxKSx2p8LFyo2FukJwBUkrnKEYC9/NZMMhLYFSPMwkGDWbx7HyNdrgqvp6CpYZ9K6mbJ8Vn28jSMemMVM/oAVfUTWTgui0/ZfiuS7E4GSdgKma6dVIY4rKE4UgD8VSJI0kuWOw81DxlKRofaJNS7tntmpHkUSdS5A32qu1zqwBvjvQs5TJU4Y7ZrPiVyL0d2YyGCMHG2rP9qWG/eNyHYqG2OB2qFLmKNCoOWPU1GrQlssxzWTgn6NFJmh9oJRyvrYnOrG4FWbfiLQxIiNpXJyzDJrIA5sgaP/AJY6ljTxdmAEhGZNwceKzeJPRop1s20vCkjhiYyDlVx1HXfxV2TjnNnjbblLsqlts+/16VxCXr3NwkSYXmMBqdsYrQmuI4hIuvVK7YDKfQoHcec1M/GVqxrM/R1ttx2S2VjFNoc5JGcawe1VPtyXd27XUsgtwhIKKCTjoMHpk1gQT/gcqNLgjU52H0qtd8RaS3GJF+4OFz1PyrOPjflot5tbNa5uirBGDxaULIc9Ce//AHqhDKYmUs4LhAAPI75rNbiBKLrBOlcb/OmXMwRYZIGYmQZkz+U/7xXVHDSowlkT2anOmjRi2opGxyw3FKnGpVVo0YaEbYA9axJbwqGAdymN/c1HayBtbE5wMitFgVWzL5Gno7/hXxO8EhLnWSMDJ6Crz8RgvrtleRUgER1SdTnt/v3rzyK4Yg4YCrEN2wRgDnO2RXLLwo8uS7N4+TJKmepcH4rYLYIptwZQNHNiUFzk+TuPpVa5Md/Z3Bj5oCoxO41gg5A/beuHsr+dAiRHDA5BPatccRkhDRrPpRycqTk79cVhk8dx6OmOe1syePcN+1abO3i13NmijIOdTNktj2yTW7Z/D2eHpY3MoaZeXLIka4UEZbTnpsP3NW7S5iN2XgTW8o5aO25G9WLq/ht7hoUcq4GDgbHfrnzWc82RpQXoqMYJuTKV3wC0lB/w+DQHUFgQTqcdTWFNZw8DlkW0ndrgxO00xx0xsi499zXSMZFgkMczESHUoB3JPasq74fNaWRVoVnvLlNaQMuFU52LHr9KWDJLqTCST2keeXYllu3IDKzZZgeoHk1p2MUNz8OTRu8hWKdWJ07lc4OB9a6yT4el4lZRwyvHDeN6ribOxA3OfGPFZ3D1gF1KyujQKMZdT1B22+lem/LjkjS7Rx/A4yt+yhDHawW8aBCLmBnUrkYGSCAfcf3q3bJdkzyzq5YkAahk6farX2ITxTzJGHSLMjuygZOcZP60yOaZ4vuwWAYJpHcnx+lYSycrG1WitLKISwUKQeq9iO9RxO05LAMFTIJ9iPNLd2sqidtUcfIxlC2W38VTMM0UTQ51SSIJMA7gdq0gk0ZNNMr30qvqh0hlxgOvisy6RrV44iCMjJFX5pDarKj4do/T896hmLoY50RJGLEMCM9s134/xoylsgRFWAO2diT8qmsbZJ+NJCwBDksCD7UtwVF0yJEyqAW6YyMZ2q5wezeLjdpcxo7ZGuPAyCuD/Q5FEp1BvrQox/KjLs5IpA9qYkYSA4ZhkqwGxH9K6zgFjHc8OW3aRftOcKucnPTY+O1ZvBfh6GcSXAZkmhyZImII/Xzv0ret0gtQBF6peVoYqevfb/SuLzMylcYM1xQa2yigKc2ORiiQpy8jqSCScj61lXUU8BJkiaMRDJ1dR2zit9niltIpmKK0Hqdm6Ng5GfrgVy3FrmaS8liaYyGUnUfIO/8AWl41zkOaSVlZ7pLi4KqTpXceMjuaPsrQyCdoW0jcbZyasXNsbewtrCKBjLgzTPn8IJ2Ht0FW7Vl08tkYiRdJOcHPvXoOairj0Y8d7L9vGbnhMry6Ea3f1PnJcEDCjH61gWUQe2lvJnCxRNhVYEiRifw4rrILON7YrFiNGkUsrHOPTjFRW1hGxtIzEHEGoxqM/iJ647/OuCPkRjyOh47oocLsZrh5mXEdscDQBsO5H6VtQXAiCARgaZC/qAIRV2Xr0q1Hw9rSQ20OpokdmJJAbpv86nurONrOC2WPW5T7zV1xnOc/KuTJ5HOX7HRGDXRgcSt7aDhQeOKV5pXP3rbDOTjb396xxalYbaADmTzMWdAPwg9N66LiaCW4hjYloFCjQPzYO9ZkqC3508ZAnuHOT+VF/lH0rrxZfxMMkFZhcufUTGAIh6WJYac/OoHQmKVPTknOpe9X+JMsUa60kilZQIxjSoHnHvVbgtu11xOCAgiGRxrJ6dd9/lXoqX48zla/Kh09o8bRxuCWkTUVHZcdTWUkYaZUwxEhC7DJ+nvXSfEDiOe6kjVi05zIV/ImcBfYdBWVZWhm4nDDrMa8wDOM4A67U8WS4cmEo/lSI7O2uQrgHaNcsCPw5OBv5P8AanyqweQrpJ1BF09Aa25bBV+HoltdhM5mkVj6io2X6daxWnSa9URjHLBwmMAH2ojk520VJcVRBOr3NwkIJCIQD/erBhnijNzFPyItRVAp6geaqCVob1uYSCzY/SpjEsjxq2rlp6jjoa06ozi9kOUSbd0YO2WLLgfQVPIYElTJIPcDpUc9s0is2kE5yABUbYjuPWEx4xTasTFMhGsMd1O1ExEyavwgdae6CX7yPOk7EU2f0hlA2Y7+1KiRixiMK7NsTsKmnuSkRdMF8jGe1UZ5G5eSelEbt9lBYZ1Nt9Krje2BGUMjEu+4GompLeWONCBnPk1KwRVOrqR0HaqcEhN4GYDR3BGwFadodFlJBz9R3wKaZgCMjYdh3qaNY4Q7t6w59K9yKckKYMsikMTsqjYVNpCorNLzGVUUgdCas3S4KNDEVUDB3zv5pot3kbK4YjsNqsOZFh0sQQdyPFS31RS6KLIx3BySahmh0sACM1owvH1kGoDbfYVEIYubrYqy5Pmmp0KivgLpdVwD1Gak5IE8bBvQdzSyWwDDRlgeg8VMiAwdN1P6U3IVEbKiDbOc0UrZP5SaKkRXf0EAmmht6KK1XQCTAn1A7VGjaTkmiiqXQE0bK0gIWntdaJN11Y6ZooqatjIprh5h6tvaoFB1dKKKtKgLlvG4bJ6VK9y0cmhelFFY9vYyZvWq771HnU2COlFFJCHIFdcEZNC5RTtg0UUgLEdwUjBZc0xbeS7lYxAbb0UVPW0VH8nTKrKyMc9RTAWxnvRRWqIJopGJAAyatOoL5O2BRRWcuxomjYKmF71McBA5OCOlFFZS7LQyNkjy53J80+KRy+VXOfNFFDQ0T6mz+ICpMELnNFFZDEGo7Kc5qbCxDLHNFFSykNacKPxkA+Kh5ml9XMOT2ooqkkOxftaIc6AHHRgKV7rUiYHfoaKKbihWxn2sHUpIGD1qpNcbk5ziiiqjFWQ2yNbjXFJljsRsaTnMxRR0Jooq6QrHtJn046tg0+NgI3I2zRRUtaBDlyI2I6narkDaEjXGSaKKiRaLvPAVVUaGO2e5pyRycwJqAYbnUcUUVzvRqtlm3vriCL0vgqG0+B5q9b3rzyLMMaojlsjJb6UUVz5Irs1g30a3DuKSsWPKiKpnUQMMT861YkuDK0866Lgod+vbqPpRRXkeQlGTSO/A3JbKS2Ny1vcLzEQMeVGznt+Zj9KoxfD5TVJDKzWzBldmUb9gfbqKKKzWaa6NHBEk1vFbQQ/ZxzI4tLSZ/OxOy471elsvsUM8xl0ySa52bTjSg6Ko7E9KKKbk7SM0lbOT4NE3GeH31zPy1QSBTkYzgHYDv1qy7ra293cSQq6xyLGihQuWI6/IeKKK9PI/6zh6tf8Ao5VqCZifYIr3ic9ozcqYSAN6cqRnPXyauRxWjcdcTBVtobj7QsYwA+EOAB33xRRXVJvq/REIr/yaE/DLrj98jXV6zySsNJMY1AY9QAHYD+tW1UWUdryYUt4bYsqxdz1AJPfziiivNnkk2oPo1lFLZSlt5ri5ivkRIpR6WCjAbbr881DPz9M6TR7szFJMb58UUVpCTbozlHVkDLPBaXEU5VYiF1rjdh5rOEaR3TtGI5pJPvC8gHoXoAB5NFFduN6sxlp0W+IaNRhtkcsZApCjJfAwB8s5qrKnKka3hjLugJkk7DHX5DtRRVw6SBqy5w68ZA6kZYMJNWfbGK0YeKrAF5ajV1yR1oornyY4yk7HGbXQr8TTn8wjXIzZXO+nyapzcQmjwV3TOSfPzooojiimU5Mja6ku5S5ABcY29qrmV4pFYE612UEdM0UVSSTpENvsr8Z/4xlyczKyLnqQoG/tWpY2cdnzPvxJoJ5ZU+kZG5x5PSiiqySagoroS/VZGvCDxRWQMRqbLHOFwN9/IFT8H4O8V3OSUeMsRHIBtnyCd98miiuXJmnGLino3jBaZHxSKE3n2cSGFIsKjAZwAMVnPyLY6oUWC+Y6TKV1KU8r4NFFdvjbSMJupM564SS64k8s0ikKC2rzVb7W4bAPoOMjPWiivXil0csuzQtZIQNZdhkYPfPyqlxCGTJcn0gjGO9FFJaY1tFuzzcRDDHIGMHpT5n58kcOwVfT4J96KKn/AJDXRDNw9HLFFJx2LbVA6NG0URACgeoiiirTBopS6ixOdvFW41BVVeLDhc5I/EO1FFU+iUKeUAAmeYTkkmpLgLHHoMxeQnJVfwj696KKj2CI0mkiGU33x0/apOceXpbBB3x4oopNIYSyqRuBmqUly5cYwVHaiiqgkKy3BcvlVkyEzvp2rV4nKYrSKK2hWOJjqOBu3jNFFYZFUkWm6ZkiW5hY6QQT12ooorTT9EbP/9k=") center top/cover no-repeat}
    .ob0-overlay{position:absolute;inset:0;background:rgba(255,255,255,0.30)}
    .ob0-brand-wrap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}
    .ob0-content{padding:16px 20px 18px;background:#fff;text-align:center}



    .ob-step:not(#ob0){padding:16px 20px 20px}
    .ob-step{display:none}
    .ob-step.active{display:block}
    .ob-progress{display:flex;gap:6px;justify-content:center;margin-bottom:14px}
    .ob-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .3s}
    .ob-dot.active{background:var(--green-main);width:24px;border-radius:4px}
    .ob-hero{text-align:center;margin-bottom:26px}
    .ob-emoji{font-size:52px;margin-bottom:10px;display:block}
    .ob-title{font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:8px}
    .ob-sub{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.65}
    .ob-q{font-size:var(--fs-md);font-weight:800;color:var(--text-primary);margin-bottom:8px}
    .ob-opts{display:flex;flex-direction:column;gap:8px}
    .ob-opt{background:var(--bg-card);border:2px solid var(--border);border-radius:16px;padding:11px 14px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s;font-size:var(--fs-sm);font-weight:700;color:var(--text-secondary)}
    .ob-opt:hover{border-color:var(--green-main);background:var(--green-light)}
    .ob-opt.sel{border-color:var(--green-main);background:var(--green-light);color:var(--green-main)}
    .ob-icon{font-size:22px;width:34px;text-align:center;flex-shrink:0}
    .ob-txt{flex:1}
    .ob-txt small{display:block;font-size:var(--fs-xs);font-weight:600;color:var(--text-muted);margin-top:2px}
    .ob-opts.g2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .ob-opts.g2 .ob-opt{flex-direction:column;text-align:center;padding:12px 8px}
    .ob-opts.g2 .ob-icon{width:auto;font-size:28px}
    .ob-row{display:flex;gap:10px;margin-bottom:12px}
    .ob-grp{flex:1}
    .ob-grp label{font-size:var(--fs-xs);font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:6px}
    .ob-inp{width:100%;background:var(--bg-card);border:2px solid var(--border);border-radius:14px;padding:14px 16px;font-size:max(var(--fs-md),16px);font-weight:700;font-family:var(--font-main);color:var(--text-primary);outline:none}
    .ob-inp:focus{border-color:var(--green-main)}
    .ob-imc{font-size:var(--fs-xs);color:var(--text-muted);font-weight:700;min-height:20px;margin-top:8px}

    /* PAGE HEADER */
    .page-header{margin-bottom:18px;text-align:center}
    .page-header .eyebrow{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin-bottom:4px}
    .page-header h2{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:600;color:var(--text-primary)}
    #scr-about .page-header h2{font-family:var(--font-main);font-size:var(--fs-lg);font-weight:700}
    .ph-row{display:flex;align-items:flex-start;justify-content:space-between}

    /* SCORE CARD */
    .score-card{background:linear-gradient(135deg,#2D5A34,#1E3D24);border-radius:var(--radius-card);padding:20px 18px 16px;margin-bottom:14px;color:#fff;position:relative;overflow:hidden}
    .score-card::before{content:'';position:absolute;top:-30px;right:-30px;width:120px;height:120px;background:rgba(255,255,255,.04);border-radius:50%}
    .score-row{display:flex;align-items:center;justify-content:space-between}
    .score-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:rgba(255,255,255,.65);margin-bottom:6px}
    .score-num{font-family:var(--font-display);font-size:52px;font-weight:600;line-height:1;color:#fff}
    .score-num span{font-size:20px;color:rgba(255,255,255,.6)}
    .score-status{font-size:var(--fs-sm);font-weight:600;color:rgba(255,255,255,.85);margin-top:4px}
    .score-pillars{display:flex;gap:6px;margin-top:14px}
    .p-chip{flex:1;background:rgba(255,255,255,.1);border-radius:10px;padding:8px 4px;text-align:center}
    .p-chip .pi{font-size:16px;display:block;margin-bottom:2px}
    .p-chip .pv{font-size:var(--fs-xs);font-weight:800;color:#fff}
    .p-chip .pl{font-size:var(--fs-xs);color:rgba(255,255,255,.55);font-weight:600;display:block;margin-top:1px}
    /* AJOUT — teinte distincte par pilier (identification immédiate, cf. palette validée) */
    .p-chip.p-sport{background:rgba(212,102,26,.25)}
    .p-chip.p-nutri{background:rgba(58,125,68,.3)}
    .p-chip.p-hydra{background:rgba(58,125,68,.3)}
    .p-chip.p-zen{background:rgba(92,75,138,.3)}

    /* ÂGE AMALVA */
    .age-card{background:linear-gradient(135deg,#09594F,#062E2A);border-radius:var(--radius-card);padding:18px;margin-bottom:14px;color:#fff;position:relative;overflow:hidden}
    .age-card::before{content:'';position:absolute;top:-20px;right:-20px;width:100px;height:100px;background:rgba(255,255,255,.04);border-radius:50%}
    .age-head{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:rgba(255,255,255,.55);margin-bottom:14px;display:flex;align-items:center;gap:6px}
    .age-row{display:flex;align-items:center;justify-content:space-around;margin-bottom:10px}
    .age-block{text-align:center}
    .age-lbl{font-size:var(--fs-xs);font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
    .age-n{font-family:var(--font-display);font-size:40px;font-weight:600;line-height:1}
    .age-n.real{color:rgba(255,255,255,.65)}
    .age-n.lgv{color:#5DFFC4}
    .age-u{font-size:var(--fs-xs);color:rgba(255,255,255,.5)}
    .age-arrow{font-size:22px;color:rgba(255,255,255,.25)}
    .age-delta{display:inline-flex;align-items:center;gap:5px;background:rgba(93,255,196,.12);border:1px solid rgba(93,255,196,.3);border-radius:20px;padding:4px 14px;font-size:var(--fs-xs);font-weight:800;color:#5DFFC4;margin:0 auto;display:flex;width:fit-content}
    .age-factors{display:flex;gap:6px;margin-top:12px}
    .age-f{flex:1;background:rgba(255,255,255,.08);border-radius:8px;padding:7px 4px;text-align:center}
    .age-f .af-i{font-size:14px;display:block;margin-bottom:2px}
    .age-f .af-v{font-size:var(--fs-xs);font-weight:800;color:rgba(255,255,255,.9)}
    .age-f .af-l{font-size:var(--fs-xs);color:rgba(255,255,255,.4);display:block;margin-top:1px;font-weight:600}

    /* PROGRAMME */
    .prog-card{background:var(--bg-card);border-radius:var(--radius-card);padding:16px 18px;margin-bottom:14px;border:1px solid var(--border)}
    .prog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
    .prog-title{font-size:var(--fs-sm);font-weight:800;color:var(--text-primary)}
    .prog-badge{font-size:var(--fs-xs);font-weight:800;background:var(--green-light);color:var(--green-main);border-radius:8px;padding:4px 10px}
    .prog-days{display:flex;gap:4px;padding-bottom:4px;scrollbar-width:none;justify-content:center;width:100%;box-sizing:border-box}
    .prog-days::-webkit-scrollbar{display:none}
    .prog-day{width:38px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;border-radius:12px;border:1px solid var(--border);background:var(--bg-subtle);cursor:pointer;transition:all .2s}
    .prog-day.today{background:var(--green-main);border-color:var(--green-main)}
    .pd-name{font-size:var(--fs-xs);font-weight:800;color:var(--text-muted)}
    .prog-day.today .pd-name{color:rgba(255,255,255,.8)}
    .pd-icon{font-size:18px}
    .pd-dot{width:6px;height:6px;border-radius:50%;background:var(--border)}
    .prog-day.today .pd-dot{background:rgba(255,255,255,.5)}
    .prog-today{margin-top:12px;padding:11px 14px;background:var(--green-light);border-radius:14px;border-left:4px solid var(--green-main)}
    .pt-lbl{font-size:var(--fs-xs);font-weight:800;color:var(--green-main);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px}
    .pt-txt{font-size:var(--fs-sm);font-weight:700;color:var(--text-primary)}

    /* STAT CARDS */
    .hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
    .stat-card{background:var(--bg-card);border-radius:var(--radius-card);padding:16px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.05)}
    .stat-card .lbl{font-size:var(--fs-xs);font-weight:700;color:var(--text-muted);margin-bottom:4px}
    .stat-card .val{font-size:22px;font-weight:900;line-height:1.1}
    .stat-card .sub{font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px}
    .stat-card.sp .val{color:var(--green-main)}
    .stat-card.nu .val{color:var(--orange-main)}
    .stat-card.wa .val{color:var(--blue-main)}
    .pill-btn{margin-top:10px;display:inline-flex;align-items:center;gap:5px;background:var(--green-light);color:var(--green-main);border:1px solid rgba(58,125,68,.2);border-radius:var(--radius-pill);padding:7px 14px;font-size:var(--fs-xs);font-weight:800;cursor:pointer;font-family:var(--font-main);transition:all .2s;width:100%;justify-content:center}
    .pill-btn:hover{background:var(--green-main);color:#fff}
    .pill-btn.blue{background:var(--blue-light);color:var(--blue-main);border-color:rgba(58,125,68,.2)}
    .pill-btn.blue:hover{background:var(--blue-main);color:#fff}
    .pill-btn.orange{background:var(--orange-light);color:var(--orange-main);border-color:rgba(212,102,26,.2)}
    .pill-btn.orange:hover{background:var(--orange-main);color:#fff}
    .prog-bar{height:6px;background:var(--bg-subtle);border-radius:3px;margin-top:8px;overflow:hidden}
    .prog-fill{height:100%;border-radius:3px;background:var(--green-main);transition:width .4s ease}

    /* COACH */
    .coach{background:linear-gradient(135deg,#2D5A34,#1E3D24);border-radius:var(--radius-card);padding:18px;margin-bottom:14px;position:relative;overflow:hidden}
    .coach::before{content:'';position:absolute;top:-20px;right:-20px;width:100px;height:100px;background:rgba(255,255,255,.04);border-radius:50%}
    .coach.orange{background:linear-gradient(135deg,#8B3A0E,#5C2505)}
    .coach.purple{background:linear-gradient(135deg,#3A2D66,#251D45)}
    .coach.blue{background:linear-gradient(135deg,#2D5A34,#1E3D24)}
    .coach-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
    .pulse{width:9px;height:9px;background:#6FCF7A;border-radius:50%;animation:pulse 1.8s infinite}
    @keyframes pulse{0%,100%{transform:scale(.9);opacity:.6}50%{transform:scale(1.2);opacity:1}}
    .coach-lbl{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#6FCF7A}
    .coach-msg{font-size:var(--fs-sm);line-height:1.55;color:#E8F5E9;font-weight:600}
    .coach.orange .coach-lbl{color:#FFBD7A}
    .coach.orange .coach-msg{color:#FFF0E6}
    .coach.purple .coach-lbl{color:#C4B0FF}
    .coach.purple .coach-msg{color:#EDE8F8}
    .coach.blue .coach-lbl{color:#6FCF7A}
    .coach.blue .coach-msg{color:#E8F5E9}

    /* SUB TABS */
    .sub-sel{display:flex;gap:5px;margin-bottom:16px;padding-bottom:4px;scrollbar-width:none;justify-content:center;flex-wrap:nowrap}
    .sub-sel::-webkit-scrollbar{display:none}
    .sub-tab{background:var(--bg-card);border:2px solid var(--border);padding:8px 4px;border-radius:14px;font-size:var(--fs-xs);font-weight:800;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .2s;font-family:var(--font-main);flex:1;text-align:center;line-height:1.4}
    .zen-tab{flex:1 1 100% !important;padding:10px 18px;font-size:var(--fs-md);border:2px solid #2c2250 !important}
    .zen-tab i{font-size:24px;margin-bottom:2px;display:inline-block}
    .zen-tab.ag,.zen-tab.ao,.zen-tab.ap{background:#2c2250 !important;color:#fff !important;border-color:#2c2250 !important}
    .sub-tab.ag{background:var(--green-light);color:var(--green-main);border-color:var(--green-main)}
    .sub-tab.ao{background:var(--orange-light);color:var(--orange-main);border-color:var(--orange-main)}
    .sub-tab.ap{background:var(--purple-light);color:var(--purple-main);border-color:var(--purple-main)}

    /* ITEM CARDS */
    .item-card{background:var(--bg-card);border-radius:var(--radius-card);padding:18px;margin-bottom:12px;border:1px solid var(--border);box-shadow:0 2px 10px rgba(0,0,0,.04)}
    /* [v7 fix] Carte repas cliquable dans son ensemble (voir components/nutrition.js) */
    .item-card-clickable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
    .item-card-clickable:active{transform:scale(.98)}
    .item-card-clickable:focus-visible{outline:3px solid var(--orange-main);outline-offset:2px}
    .card-top{display:flex;align-items:flex-start;gap:14px}
    .card-icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
    .ci-sp{background:var(--green-light)}
    .ci-nu{background:var(--orange-light)}
    .ci-ze{background:var(--purple-light)}
    .card-info{flex:1;min-width:0;overflow-wrap:break-word}
    /* Les lignes d'ingrédients (nom + poids, ex. "Flocons d'avoine (78 g)")
       utilisent des espaces insécables pour ne jamais être coupées sur un
       nom COURT. Problème (juillet 2026, régime végétarien) : un nom plus
       long (ex. "Fromage blanc + amandes (ou whey) (63 g)") devient alors
       un seul "mot" insécable géant. Avec overflow-wrap:normal, ce mot ne
       peut jamais se couper : il déborde de .card-info (flex:1;min-width:0)
       ET force la taille min-content du flex-item au-delà de la largeur de
       la carte, ce qui pousse toute la page en débordement horizontal (le
       symptôme "l'écran navigue de gauche à droite" sur mobile).
       overflow-wrap:anywhere (et non overflow-wrap:break-word — piège CSS
       classique en flexbox : break-word ne modifie PAS le calcul de taille
       min-content, donc ne résout pas le débordement, seulement l'affichage
       visuel) répare les deux à la fois : la coupure ne se déclenche QUE si
       le mot ne rentre pas, donc les noms courts restent sur une seule
       ligne comme avant, et les rares noms trop longs se coupent proprement
       sur mobile plutôt que de faire déborder toute la page. */
    .card-info .ingredient-line{overflow-wrap:anywhere;word-break:normal}
    .card-title{font-size:var(--fs-md);font-weight:800;color:var(--text-primary);line-height:1.2;margin-bottom:3px}
    .card-meta{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.4;margin-top:8px}
    .card-badge{font-size:var(--fs-xs);font-weight:800;padding:8px 14px;border-radius:12px;border:none;cursor:pointer;font-family:var(--font-main);white-space:nowrap;flex-shrink:0}
    .bs{background:var(--green-light);color:var(--green-main)}
    .bn{background:var(--orange-light);color:var(--orange-main)}
    .bn.logged{background:var(--bg-subtle);color:var(--text-muted);cursor:default}
    /* [v7 fix] Indice visuel : le badge du PROCHAIN repas à enregistrer
       "respire" légèrement pour attirer l'œil vers la zone cliquable. */
    .bn.bn-next{animation:bnPulse 1.8s ease-in-out infinite}
    @keyframes bnPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,140,0,.45)}50%{box-shadow:0 0 0 7px rgba(255,140,0,0)}}
    /* [v7 fix] Bandeau d'aide au-dessus des cartes repas */
    .nutri-hint{display:flex;align-items:center;gap:8px;background:#B8500F;color:#fff;font-weight:700;font-size:var(--fs-sm);padding:10px 14px;border-radius:12px;margin-bottom:10px;line-height:1.4;box-shadow:0 4px 14px rgba(184,80,15,.35)}
    .bz{background:var(--purple-light);color:var(--purple-main)}
    .tip{margin-top:14px;padding:12px 14px;border-radius:12px;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5;font-weight:600}
    .tp-sp{background:var(--green-light);border-left:4px solid var(--green-main)}
    .tp-nu{background:var(--orange-light);border-left:4px solid var(--orange-main)}
    .tp-ze{background:var(--purple-light);border-left:4px solid var(--purple-main)}
    .lvl-tag{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:700;padding:3px 10px;border-radius:8px;margin-top:6px}

    /* AMÉLIORATION UX seniors — remplace l'ancienne ligne en font-size:var(--fs-xs)
       (fixe, ignorait le réglage d'accessibilité A/A/A) et le petit champ
       numérique à taper (54px de large) par une checkbox agrandie et un
       stepper +/- à boutons larges (40px, cibles tactiles confortables). */
    .ex-config-row{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:var(--fs-sm);flex-wrap:wrap}
    .ex-check-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;color:var(--text-secondary)}
    .ex-check-label input[type=checkbox]{width:24px;height:24px;accent-color:var(--green-main);cursor:pointer;flex-shrink:0}
    .ex-sets-stepper{display:flex;align-items:center;gap:10px;margin-left:auto}
    .ex-sets-lbl{color:var(--text-muted);font-weight:700}
    .ex-sets-btn{width:40px;height:40px;border-radius:10px;border:1.5px solid var(--border);background:var(--bg-subtle);color:var(--text-primary);font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;font-family:var(--font-main)}
    .ex-sets-btn:active{background:var(--green-light);border-color:var(--green-main)}
    .ex-sets-val{min-width:26px;text-align:center;font-weight:800;font-size:var(--fs-md);color:var(--text-primary)}
    .ex-sets-val.is-default{color:var(--text-muted);font-weight:700}
    .lb{background:#E8F5E9;color:#2E7D32}
    .li{background:#FFF3E0;color:#E65100}
    .timer-chip{display:inline-flex;align-items:center;gap:5px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:10px;padding:5px 12px;font-size:var(--fs-xs);font-weight:700;color:var(--text-secondary);margin-top:10px}

    /* BUTTONS */
    .btn{width:100%;border:none;border-radius:var(--radius-btn);padding:18px;font-size:var(--fs-md);font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;font-family:var(--font-main);transition:all .2s;letter-spacing:.2px}
    .btn:active{transform:scale(.98)}
    .btn-gr{background:var(--green-main);color:#fff;box-shadow:0 6px 20px rgba(58,125,68,.35)}
    .btn-or{background:var(--orange-main);color:#fff;box-shadow:0 6px 20px rgba(212,102,26,.35)}
    .btn-pu{background:var(--purple-main);color:#fff;box-shadow:0 6px 20px rgba(92,75,138,.35)}
    .btn-te{background:var(--teal-main);color:#fff;box-shadow:0 6px 20px rgba(10,122,106,.35)}
    .btn-sec{background:var(--bg-card);color:var(--green-main);border:2px solid var(--green-main);box-shadow:none}
    .btn-sec:hover{background:var(--green-light)}
    .sec-lbl{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin:18px 0 10px}
    .divider{height:1px;background:var(--border);margin:14px 0}

    /* WATER */
    .water-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
    .glass{width:34px;height:34px;border-radius:10px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;background:var(--bg-card);transition:all .2s}
    .glass.filled{background:var(--blue-light);border-color:var(--blue-main)}

    /* PROFIL BADGE */
    .profil-badge{display:inline-flex;align-items:center;gap:5px;background:var(--green-light);border:1px solid rgba(58,125,68,.2);border-radius:20px;padding:7px 14px;font-size:14px;font-weight:800;color:var(--green-main);cursor:pointer;white-space:nowrap}
    .profil-badge.is-compact{padding:7px 9px}
    .profil-badge.is-compact #pb-txt{display:none}

    /* ═══ NOUVEL ÉCRAN ACCUEIL ═══════════════════════════════ */
    /* Hero */
    .home-hero{position:relative;min-height:280px;background:linear-gradient(160deg,#1E3D24 0%,#2D5A34 45%,#4A8A55 80%,#6AAE78 100%);overflow:hidden;margin:-20px -20px 0;padding:0}
    .home-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.04) 0%,rgba(0,0,0,.22) 100%)}
    .home-hero-content{position:relative;z-index:2;padding:40px 22px 28px}
    .home-logo-wrap{display:flex;align-items:center;gap:10px;margin-bottom:18px;justify-content:center}
    .home-brand{font-family:var(--font-display);font-size:28px;font-weight:600;color:#fff;letter-spacing:.3px}
    .home-hero-pitch{font-size:var(--fs-xs);font-weight:600;color:rgba(255,255,255,.92);line-height:1.55;margin-bottom:18px;text-align:left}
    .home-hero-photo{display:block;width:100%;height:auto;border-radius:14px;margin-bottom:4px}
    .home-guar-card{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start}
    .home-guar-icon{font-size:28px;flex-shrink:0;line-height:1}
    .home-guar-title{font-size:var(--fs-xs);font-weight:800;color:#fff;margin-bottom:4px}
    .home-guar-body{font-size:var(--fs-xs);color:rgba(255,255,255,.88);line-height:1.5;font-weight:600;text-align:left;max-width:250px}
    /* Salutation */
    .home-greet-bar{display:flex;flex-direction:column;padding:18px 0 14px;border-bottom:1px solid var(--border);margin-bottom:16px}
    .profil-badge-row{display:flex;justify-content:flex-end;margin-bottom:10px}
    .home-date{font-size:var(--fs-xs);font-weight:700;color:var(--text-muted);text-transform:capitalize;margin-bottom:3px}
    .home-greet-title{font-size:var(--fs-lg);font-weight:800;color:var(--text-primary);margin-bottom:4px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .home-greet-sub{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.4;max-width:240px}
    /* Section card */
    .home-section-card{background:var(--bg-card);border-radius:var(--radius-card);padding:16px;margin-bottom:16px;border:1px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,.04)}
    /* [demande utilisateur] Halo pulsé synchronisé au message de bienvenue
       (dashboard.js::syncWelcomeHighlight) — attire l'œil sur "Programme du
       jour" pendant que l'audio dit d'y cliquer. */
    .home-section-card.prog-welcome-pulse{border-color:var(--green-main);animation:progWelcomePulse 1.6s ease-in-out infinite}
    @keyframes progWelcomePulse{
      0%,100%{box-shadow:0 2px 12px rgba(0,0,0,.04),0 0 0 0 rgba(58,125,68,.45)}
      50%{box-shadow:0 2px 12px rgba(0,0,0,.04),0 0 0 9px rgba(58,125,68,0)}
    }
    /* Public 50+ : certain·e·s désactivent les animations au niveau système
       (fatigue visuelle, vestibulaire...). On garde le repère (bordure
       verte fixe) sans le mouvement. */
    @media (prefers-reduced-motion: reduce){
      .home-section-card.prog-welcome-pulse{animation:none;box-shadow:0 2px 12px rgba(0,0,0,.04),0 0 0 3px rgba(58,125,68,.35)}
    }
    .home-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
    .home-section-title{display:flex;align-items:center;gap:7px;font-size:var(--fs-sm);font-weight:800;color:var(--text-primary)}
    .home-see-all{font-size:var(--fs-xs);font-weight:700;color:var(--green-main);cursor:pointer;white-space:nowrap}
    /* Programme items */
    /* [demande utilisateur] Rangées plates (juste un padding + un trait de
       séparation 1px) -> chaque rangée devient une petite carte surélevée
       (fond légèrement contrasté + ombre portée), pour plus de contraste
       sur l'accueil sans changer la structure ni les icônes. */
    .home-prog-item{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;background:var(--bg-subtle);border-radius:14px;border:4px solid var(--green-main);box-shadow:0 2px 6px rgba(0,0,0,.06);margin-bottom:10px;transition:transform .15s ease,box-shadow .15s ease}
    .home-prog-item:last-child{margin-bottom:0}
    .home-prog-item:active{transform:scale(.97);box-shadow:0 1px 3px rgba(0,0,0,.08)}
    /* Les traits de séparation d'origine deviennent inutiles : chaque
       rangée porte désormais sa propre ombre + son propre espacement. */
    .home-prog-divider{display:none}
    .home-prog-ico{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .sp-ico{background:var(--orange-light);color:var(--orange-main)}
    .nu-ico{background:#e8f5e9;color:var(--green-main)}
    .ze-ico{background:var(--purple-light);color:var(--purple-main)}
    .wa-ico{background:var(--blue-light);color:var(--blue-main)}
    /* AJOUT — carte hydratation en bleu (distinct du vert des 3 cartes
       "Votre programme du jour") : l'hydratation agit sur place (+/-) au
       lieu d'ouvrir un écran, la couleur porte cette différence de nature
       sans avoir à lire le titre. Couleurs scopées à .hydra-card (valeurs
       en dur, PAS les variables --blue-main/--blue-light : ces variables
       sont partagées avec des éléments sans rapport — bouton "Enregistrer
       mon poids", bouton export, tuile KPI "Score hydratation" — et sont
       d'ailleurs mappées sur le vert Amalva par un héritage historique, pas
       sur un vrai bleu). */
    .hydra-card{position:relative}
    /* Spécificité (.home-v2 .program-card.hydra-card) volontairement égale
       à .home-v2 .program-card ci-dessous + une classe : sans ça, la règle
       de base (fond/bordure vert, définie plus loin dans la feuille) gagne
       malgré l'ordre d'apparition, la spécificité l'emportant sur la source. */
    .home-v2 .program-card.hydra-card{background:#E6F1FB;border:2px solid #185FA5}
    .hydra-card .home-prog-name{color:#042C53}
    .hydra-card .home-prog-sub{color:#185FA5}
    .hydra-card .wa-ico{background:#fff;color:#185FA5}
    .hydra-card .add-badge{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:#185FA5;color:#fff;display:flex;align-items:center;justify-content:center;border:3px solid var(--bg-card);box-shadow:0 2px 6px rgba(0,0,0,.2);z-index:1}
    .hydra-card .add-badge i{font-size:22px;font-weight:900}
    /* AJOUT — bouton "-" pour retirer un verre, directement sous le "+".
       Reprend EXACTEMENT les mêmes dimensions/style que .add-badge (mêmes
       36px, même fond, même bordure, même ombre) — seule la position
       verticale change (54px plus bas : hauteur du "+" (36px) + bordure
       (3px × 2 = 6px) + un petit espace de respiration (~12px)). Contrairement
       à .add-badge (aria-hidden, car la carte entière fait déjà l'action
       d'ajout), ce bouton est un VRAI contrôle interactif à part entière —
       il porte son propre data-action="removeWater", capté avant de
       remonter jusqu'au data-action="addWater" de la carte (même mécanisme
       que les gouttes pleines, voir dashboard.js::renderWaterGlasses). */
    .hydra-card .remove-badge{position:absolute;top:54px;right:10px;width:36px;height:36px;border-radius:50%;background:#185FA5;color:#fff;display:flex;align-items:center;justify-content:center;border:3px solid var(--bg-card);box-shadow:0 2px 6px rgba(0,0,0,.2);z-index:1;cursor:pointer}
    .hydra-card .remove-badge i{font-size:22px;font-weight:900}
    .hydra-card .remove-badge.is-disabled{opacity:.35;pointer-events:none}
    .home-prog-info{flex:1;min-width:0}
    .home-prog-name{font-size:var(--fs-md);font-weight:700;color:var(--text-primary)}
    .home-prog-sub{font-size:var(--fs-xs);font-weight:600;color:var(--green-main);margin-top:2px}
    /* AJOUT — icônes ti-droplet par verre d'eau bu (une par tape sur la carte
       Hydratation), couleur pleine/claire selon rempli ou non (voir
       dashboard.js::renderWaterGlasses). flex-wrap:wrap : chaque glyphe est
       un élément flex INDÉPENDANT, donc le retour à la ligne est natif et
       sûr, sans risque de débordement horizontal même en grande police. */
    .water-glass-row{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px;font-size:15px;line-height:1}
    /* AJOUT — chevron discret sur les 3 cartes qui ouvrent un écran
       (Activité/Nutrition/Bien-être), volontairement absent de .hydra-card
       (qui agit sur place, sans navigation) : le repère visuel le plus
       direct pour distinguer les deux comportements. */
    .home-prog-chevron{font-size:18px;color:var(--text-muted);flex-shrink:0;margin-left:2px}
    /* AJOUT — bandeau hydratation compact (écrans Nutrition/Sport), rempli
       par components/hydrationStrip.js. Contrairement au reste de la
       feuille de style (en px), les tailles ici sont en rem : ce composant
       ne dépend pas du réglage interne A/A/A de l'app (qui pilote --fs-*),
       mais doit suivre le zoom texte du système/navigateur, seul réglage
       auquel `rem` réagit puisque `html`/`body` n'imposent pas de
       font-size fixe. Toute la surface est cliquable (voir hydrationStrip.js),
       pas seulement le rond "+" : la cible tactile utile est donc le bandeau
       entier, largement au-dessus des 56px minimum. */
    .hydration-strip-mount{margin-bottom:0.875rem}
    /* Couleurs alignées sur la carte hydratation de l'accueil (.hydra-card,
       voir plus haut) : même repère bleu partout où l'eau se boit "sur
       place", valeurs en dur pour la même raison (ne pas toucher
       --blue-main/--blue-light, partagés avec des éléments sans rapport). */
    .hydration-strip{display:flex;align-items:center;gap:0.75rem;background:#E6F1FB;border:0.125rem solid #185FA5;border-radius:0.75rem;padding:0.625rem 0.75rem;cursor:pointer;transition:background-color .15s ease}
    .hydration-strip.is-flash{background:#C9E2F7}
    .hydration-strip-ico{font-size:1.5rem;color:#185FA5;flex-shrink:0}
    .hydration-strip-info{flex:1;min-width:0}
    .hydration-strip-lbl{font-size:var(--fs-xs);font-weight:700;color:#042C53}
    .hydration-strip-count{font-size:var(--fs-lg);font-weight:500;color:#185FA5;margin-top:0.125rem}
    .hydration-strip-btn{width:3.5rem;height:3.5rem;min-width:3.5rem;border-radius:50%;background:#185FA5;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .hydration-strip-btn i{font-size:1.5rem;font-weight:900}
    .home-check-done{font-size:22px;color:var(--green-main);flex-shrink:0}
    .home-pct-badge{font-size:var(--fs-xs);font-weight:800;padding:4px 10px;border-radius:20px;flex-shrink:0}
    .ze-pct{background:var(--purple-light);color:var(--purple-main)}
    .wa-pct{background:#fff;color:#185FA5}
    /* CORRECTIF — dans .hydra-card, .add-badge (le rond "+") est en
       position:absolute, top:10px, right:10px, largeur 36px + bordure
       3px de chaque côté ≈ 42px, donc il se superposait exactement au
       badge pourcentage .wa-pct (élément flex normal, aligné à droite
       de la carte au même endroit). On décale .wa-pct vers la gauche
       pour libérer la place du rond "+", sans toucher aux autres badges
       (.ze-pct etc.) qui n'ont pas ce problème. */
    .hydra-card .wa-pct{margin-right:44px}
    /* KPI grid */
    .home-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
    .home-kpi-card{background:var(--bg-card);border-radius:16px;padding:14px 12px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.04);display:flex;flex-direction:column;align-items:center;gap:4px}
    .home-kpi-val{font-size:var(--fs-xl);font-weight:900;color:var(--text-primary);line-height:1}
    .home-kpi-lbl{font-size:var(--fs-xs);font-weight:700;color:var(--text-muted);text-align:center}
    .home-kpi-wave{font-size:14px;opacity:.6;letter-spacing:2px;margin-top:2px}
    /* AJOUT — identification par couleur des 4 indicateurs clés (cf. palette validée) */
    /* AJOUT — carte "Score vitalité" : indicateur global (pas un des 4 piliers), garde le vert de marque déjà utilisé partout ailleurs dans l'app */
    .home-kpi-card.k-vital{background:var(--green-light);border:none;border-left:3px solid var(--green-main)}
    .home-kpi-card.k-vital .home-kpi-icon{color:var(--green-main)}
    .home-kpi-card.k-vital .home-kpi-val,.home-kpi-card.k-vital .home-kpi-lbl{color:var(--nutri-text)}
    .home-kpi-card.k-sport{background:var(--orange-light);border:none;border-left:3px solid var(--orange-main)}
    .home-kpi-card.k-sport .home-kpi-icon{color:var(--orange-main)}
    .home-kpi-card.k-sport .home-kpi-val,.home-kpi-card.k-sport .home-kpi-lbl{color:var(--sport-text)}
    .home-kpi-card.k-nutri{background:var(--green-light);border:none;border-left:3px solid var(--green-main)}
    .home-kpi-card.k-nutri .home-kpi-icon{color:var(--green-main)}
    .home-kpi-card.k-nutri .home-kpi-val,.home-kpi-card.k-nutri .home-kpi-lbl{color:var(--nutri-text)}
    .home-kpi-card.k-hydra{background:var(--blue-light);border:none;border-left:3px solid var(--blue-main)}
    .home-kpi-card.k-hydra .home-kpi-icon{color:var(--blue-main)}
    .home-kpi-card.k-hydra .home-kpi-val,.home-kpi-card.k-hydra .home-kpi-lbl{color:var(--hydra-text)}
    .home-kpi-card.k-zen{background:var(--purple-light);border:none;border-left:3px solid var(--purple-main)}
    .home-kpi-card.k-zen .home-kpi-icon{color:var(--purple-main)}
    .home-kpi-card.k-zen .home-kpi-val,.home-kpi-card.k-zen .home-kpi-lbl{color:var(--zen-text)}
    /* Bannière coach */
    .home-coach-banner{background:linear-gradient(135deg,#1E3D24,#2D5A34);border-radius:var(--radius-card);padding:18px;margin-bottom:20px;display:flex;align-items:center;gap:12px}
    .home-coach-tag{font-size:var(--fs-xs);font-weight:900;letter-spacing:1.5px;color:rgba(255,255,255,.6);text-transform:uppercase;margin-bottom:4px}
    .home-coach-title{font-size:var(--fs-md);font-weight:800;color:#fff;margin-bottom:6px;line-height:1.2}
    .home-coach-sub{font-size:var(--fs-xs);color:rgba(255,255,255,.8);line-height:1.5;margin-bottom:12px;font-weight:600}
    .home-coach-btn{background:#fff;color:var(--green-main);border:none;border-radius:30px;padding:9px 18px;font-size:var(--fs-xs);font-weight:800;cursor:pointer;display:flex;align-items:center;gap:6px;font-family:var(--font-main)}
    .zen-coach-btn{width:100%;justify-content:center;background:#fff;border:2px solid #2c2250;border-radius:var(--radius-btn);padding:18px;font-size:var(--fs-md)}
    .home-coach-img{font-size:48px;flex-shrink:0;line-height:1}

    .nav{position:absolute;bottom:0;left:0;right:0;background:var(--bg-card);padding:8px 4px 12px;display:none;justify-content:space-around;align-items:center;border-top:1px solid var(--border);box-shadow:0 -4px 20px rgba(0,0,0,.08);z-index:100}
    /* FIX puis DEMANDE UTILISATEUR (bug remonté par capture d'écran ES) — en
       espagnol, les libellés de nav ("Bienestar", "Evolución"...) sont plus
       longs qu'en français/anglais et débordaient sur le bouton voisin
       (span en display inline par défaut : ne prenait pas la largeur de son
       parent flex, et un mot sans espace ne se coupe jamais tout seul).
       Premier correctif : passage à la ligne (span pleine largeur +
       overflow-wrap). Choix final de l'utilisateur : plutôt qu'un
       étiquette sur 2 lignes, une police FIXE et réduite (--fs-nav,
       découplée du réglage A/A/A, voir sa définition dans :root ci-dessus)
       pour que chaque mot, même le plus long, tienne sur une seule ligne
       (white-space:nowrap ci-dessous). */
    .nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:14px;cursor:pointer;transition:all .2s;color:var(--text-muted);font-size:var(--fs-nav);font-weight:700;min-width:44px;min-height:44px;flex:1;justify-content:center}
    /* BUGFIX (capture d'écran Android — "Nutrition" chevauchant "Bien-être")
       — la marge résiduelle entre le texte et son bouton n'était que de
       ~0.3px à 360px de large (mesuré), police déjà chargée : la moindre
       variance (police de repli différente sur Android le temps du swap de
       la webfont Montserrat, appareil légèrement plus étroit, arrondi
       sous-pixel) suffisait à faire déborder le texte. white-space:nowrap
       empêchait le retour à la ligne mais ne coupait jamais le débordement
       horizontal : le texte du bouton voisin. overflow:hidden +
       text-overflow:ellipsis garantissent qu'un libellé trop large est
       tronqué proprement DANS son propre bouton plutôt que de déborder sur
       le suivant, quelle que soit la cause exacte du dépassement. */
    .nav-item span{width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .nav-item i{font-size:22px;transition:all .2s}
    .nav-item.active{color:#fff}
    .nav-item.active i{color:#fff}
    /* [v7 fix] Fond plein (au lieu d'un fond clair trop peu contrasté),
       même traitement que .nav-plus-btn.active pour la cohérence. */
    .nav-item.active{background:var(--green-main)}
    .nav.visible{display:flex}
    /* [demande utilisateur] Le rond Nutrition devient un wrapper colonne
       (icône relevée + petit texte dessous), même gabarit que .nav-item
       (flex:1, min-width:44px) pour rester aligné avec les autres boutons. */
    /* BUGFIX [halo vert sur le libellé Nutrition, Android — 2026-08-13] —
       gap aligné sur les 3px de .nav-item : ce bouton était le seul à 2px,
       ce qui rapprochait encore son libellé du cercle déjà surmonté d'une
       ombre trop étalée (voir .nav-plus-btn ci-dessous). */
    .nav-plus-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;flex:1;min-width:44px;cursor:pointer}
    /* FIX — même correctif que .nav-item span ci-dessus, pour le bouton rond
       Nutrition qui suit un gabarit distinct mais a le même souci de mot ES
       trop long ("Nutrición") débordant sur ses voisins.
       BUGFIX — .nav-plus-wrap n'avait PAS le padding:6px 2px de .nav-item
       (ajouté ci-dessus) : à largeur égale, ce bouton disposait donc de ~4px
       de moins que ses voisins, ce qui en faisait le premier à déborder
       (voir capture d'écran Android — "Nutrition" est justement le bouton
       qui chevauchait "Bien-être"). Padding aligné + même filet de sécurité
       overflow:hidden/ellipsis que .nav-item span. */
    .nav-plus-wrap span{font-size:var(--fs-nav);font-weight:700;color:var(--text-muted);transition:color .2s;width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    /* BUGFIX [halo vert sur le libellé Nutrition, Android — 2026-08-13] —
       symptôme : le cercle vert semblait mordre sur le mot « Nutrition »,
       visible sur Android (WebView Chromium) mais pas sur iPhone (WKWebView),
       les deux moteurs ne rendant pas les ombres étalées avec la même
       intensité. Ce n'était PAS un chevauchement de boîtes : mesuré à 360px,
       l'écart cercle/texte restait positif (+2px). La cause était l'ombre
       portée elle-même — `0 4px 16px` descend 4+16=20px sous le cercle, alors
       que le libellé commence 2px plus bas et n'occupe que 14px : l'ombre le
       recouvrait donc INTÉGRALEMENT d'un voile vert.
       Ramenée à `0 1px 4px` (portée 5px) : avec le gap remonté à 3px, l'ombre
       s'arrête exactement au sommet des lettres (mesuré au canvas : les glyphes
       commencent 2px sous le haut de la ligne, l'ombre pénètre de 2px, donc
       dans l'interligne et jamais sur le texte). L'effet « bouton flottant »
       reste porté par le relief du cercle et son anneau bordure, pas par un
       halo large.
       margin-top -24px -> -30px : aligne la hauteur du wrapper sur les 51px
       des autres onglets (mesuré), de sorte que les six libellés partagent
       enfin la même ligne de base. La hauteur n'est PAS forcée en dur ici :
       elle découle du contenu, et c'est le relevé du cercle qui l'ajuste —
       un `height:51px` figé rognerait le libellé au moindre changement de
       police. La nav est en overflow:visible, le cercle dépasse donc de 15px
       au-dessus sans être rogné (vérifié). */
    .nav-plus-btn{width:52px;height:52px;border-radius:50%;background:var(--green-main);display:flex;align-items:center;justify-content:center;margin-top:-30px;box-shadow:0 1px 4px rgba(58,125,68,.45);cursor:pointer;border:3px solid var(--bg-card);flex-shrink:0}
    .nav-plus-btn i{font-size:26px;color:#fff}
    /* .active se pose sur le wrapper (#n-nutri, voir nav.js) : le cercle et
       le libellé passent tous les deux à l'orange, cohérence avec le reste
       de la nav où .nav-item.active recolore aussi son texte. */
    /* Même correctif d'ombre que .nav-plus-btn ci-dessus : l'état actif était
       encore pire (0 4px 18px à .55 d'opacité = 22px de portée sur un libellé
       haut de 14px). Portée alignée sur l'état inactif ; la distinction
       visuelle actif/inactif reste portée par la couleur (orange) et
       l'opacité, pas par l'étalement de l'ombre. */
    .nav-plus-wrap.active .nav-plus-btn{background:var(--orange-main);box-shadow:0 1px 4px rgba(212,102,26,.55)}
    .nav-plus-wrap.active span{color:var(--orange-main)}
    .nav-plus-wrap:focus-visible{outline:3px solid #fff;outline-offset:2px;border-radius:14px}
    /* [v7 fix] Repère "où suis-je" sur le bouton Nutrition, jusque-là muet */
    /* [demande utilisateur] Règle .nav-plus-btn.active d'origine retirée :
       .active se pose désormais sur #n-nutri (le wrapper .nav-plus-wrap,
       voir plus haut dans ce fichier), plus directement sur le cercle. */
    /* Menu Plus */
    /* [audit UX ch.2/4, point 2] Panneau élargi (160px -> 220px) et cible
       tactile de chaque item portée à ~44px de haut (recommandation WCAG
       AA pour un public 50+, déjà appliquée ailleurs dans l'app — voir
       correctif carte repas ~30px cité dans l'audit externe). Police
       remontée d'un cran (fs-sm -> fs-md) pour rester lisible au même titre
       que le reste de l'interface. */
    .nav-more-panel{position:absolute;bottom:90px;right:8px;background:var(--bg-app);border-radius:20px;padding:10px;display:none;flex-direction:column;border:2px solid var(--border);box-shadow:0 -4px 20px rgba(0,0,0,.12);z-index:200;min-width:250px;max-width:calc(100vw - 16px);max-height:70vh;overflow-y:auto}
    .nav-more-panel.open{display:flex}
    /* [redesign juillet 2026 — maquette Photoshop] Chaque groupe (en-tête +
       items) est désormais une "carte" blanche visuellement isolée sur le
       fond neutre du panneau, plutôt qu'une liste plate à séparateurs fins —
       plus facile à scanner d'un coup d'œil pour un public senior. */
    .nav-more-group{margin-bottom:12px}
    .nav-more-group:last-child{margin-bottom:0}
    .nav-more-card{background:var(--bg-card);border-radius:var(--radius-card);overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.05)}
    .nav-more-item{display:flex;align-items:center;gap:12px;padding:13px 16px;min-height:44px;cursor:pointer;font-size:var(--fs-md);font-weight:800;color:var(--text-secondary);transition:all .2s;background:none;border:none;width:100%;text-align:left;font-family:var(--font-main)}
    .nav-more-item:hover{background:var(--bg-subtle);color:var(--green-main)}
    .nav-more-item i{font-size:22px;flex-shrink:0}
    .nav-more-card .nav-more-item+.nav-more-item{border-top:1px solid var(--border)}
    /* [audit ch.2, point 2] En-têtes de groupe : "densité cognitive" citée
       dans l'audit — 9 actions listées à plat sans repère étaient difficiles
       à scanner. Ces libellés (non cliquables) segmentent le menu en
       "Application" / "Compte & confort" / "Zone sensible" — désormais mis
       en valeur par un fond vert clair (cohérent avec --green-light utilisé
       ailleurs dans l'app) plutôt qu'un simple texte gris discret. */
    .nav-more-grouplbl{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--green-main);background:var(--green-light);padding:8px 16px;border-radius:var(--radius-card);margin-bottom:6px;display:inline-block}
    /* [v7 fix] Libellé séparant les actions destructrices — même traitement
       visuel que les autres en-têtes, coloré en rouge pour signaler le
       danger avant même de lire le texte. */
    .nav-more-grouplbl--danger{color:#C62828}
    /* [redesign juillet 2026] Action irréversible sortie de la liste plate :
       un vrai bouton rouge pleine largeur, bien plus difficile à activer par
       erreur qu'une simple ligne de texte coloré au milieu d'une liste. */
    .nav-more-danger-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;background:linear-gradient(135deg,#E15353,#C62828);color:#fff;border:none;border-radius:var(--radius-pill);padding:14px 18px;font-size:var(--fs-md);font-weight:800;font-family:var(--font-main);cursor:pointer;transition:all .2s;box-shadow:0 2px 10px rgba(198,40,40,.25)}
    .nav-more-danger-btn:hover{background:linear-gradient(135deg,#C62828,#A31E1E)}
    .nav-more-danger-btn i{font-size:20px}

    /* ÉVOLUTION */
    .evo-head-card{background:linear-gradient(135deg,#2D5A34,#1E3D24);border-radius:var(--radius-card);padding:18px;margin-bottom:16px;color:#fff}
    .evo-avg{font-family:var(--font-display);font-size:42px;font-weight:600;color:#fff;line-height:1}
    .evo-avg-lbl{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.6);margin-bottom:6px}
    .evo-trend{font-size:var(--fs-sm);font-weight:700;margin-top:6px}
    .evo-trend.up{color:#6FCF7A}
    .evo-trend.down{color:#FF8A65}
    .evo-trend.flat{color:rgba(255,255,255,.6)}
    .bar-chart{display:flex;align-items:flex-end;gap:6px;height:110px;margin:10px 0 6px}
    .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}
    .bar{width:100%;border-radius:8px 8px 0 0;transition:height .5s ease;min-height:4px}
    .bar.today{box-shadow:0 0 0 2px #fff}
    .bar-val{font-size:var(--fs-xs);font-weight:800;color:#fff}
    .bar-day{font-size:var(--fs-xs);font-weight:700;color:var(--text-muted)}
    .bar-day.today{color:var(--green-main)}
    .pevo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
    .pevo-card{background:var(--bg-card);border-radius:16px;padding:14px;border:1px solid var(--border)}
    .pevo-card .pt{font-size:var(--fs-xs);font-weight:800;color:var(--text-muted);margin-bottom:8px}
    .mbar-wrap{height:6px;background:var(--bg-subtle);border-radius:3px;overflow:hidden}
    .mbar-fill{height:100%;border-radius:3px;transition:width .5s}
    .pevo-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
    .pevo-big{font-size:20px;font-weight:900}
    .pdelta{font-size:var(--fs-xs);font-weight:700;padding:2px 8px;border-radius:8px}
    .dup{background:#E8F5E9;color:#2E7D32}
    .ddo{background:#FFEBEE;color:#C62828}
    .dfl{background:var(--bg-subtle);color:var(--text-muted)}
    .reset-btn{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;padding:10px 16px;font-size:var(--fs-xs);font-weight:700;color:var(--text-muted);cursor:pointer;font-family:var(--font-main);margin-top:8px;width:100%;transition:all .2s}
    .reset-btn:hover{background:#FFEBEE;color:#C62828;border-color:#C62828}
    .vitalia-logo{height:64px;width:auto;object-fit:contain}
    .tog-btn{width:100%;border:none;padding:18px;border-radius:var(--radius-btn);font-size:var(--fs-md);font-weight:800;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;font-family:var(--font-main);color:#fff;background:var(--green-main);opacity:.6;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px}
    .tog-btn i{font-size:28px;color:#fff}
    .tog-btn.tog-active{opacity:1;box-shadow:0 6px 20px rgba(58,125,68,.35)}
    .session-chip{background:var(--bg-card);border:2px solid var(--green-main);border-radius:var(--radius-btn);padding:18px;font-size:var(--fs-md);font-weight:800;color:var(--text-secondary);cursor:pointer;white-space:normal;text-align:center;width:100%;box-sizing:border-box;transition:all .2s;font-family:var(--font-main)}
    .session-chip.sel{background:var(--green-main);color:#fff;border-color:var(--green-main)}
    .ex-phase{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin:14px 0 8px;padding-left:4px}
    .nutr-day-btn{width:38px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border-radius:12px;border:2px solid var(--border);background:var(--bg-card);cursor:pointer;transition:all .2s;font-family:var(--font-main)}
    .nutr-day-btn.sel{background:var(--orange-main);border-color:var(--orange-main)}
    .nutr-day-btn .nd-name{font-size:var(--fs-xs);font-weight:800;color:var(--text-muted)}
    .nutr-day-btn.sel .nd-name{color:rgba(255,255,255,.8)}
    .nutr-day-btn .nd-ico{font-size:16px}
    /* BADGES & STREAKS */
    /* DEMANDE UTILISATEUR — écran Évolution : la grille de badges (12
       badges, voir data/savoir-data.js::BADGES_DEF) était en 4 colonnes x 3
       lignes, trop large pour la police/le padding réels et débordait de
       l'écran. Passage à 3 colonnes x 4 lignes (chaque badge gagne de la
       largeur, plus besoin de scroll horizontal). */
    .badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
    .badge-item{background:var(--bg-card);border-radius:14px;padding:10px 6px;text-align:center;border:2px solid var(--border);transition:all .3s}
    .badge-item.earned{border-color:var(--green-main);background:var(--green-light)}
    .badge-ico{font-size:22px;display:block;margin-bottom:4px;filter:grayscale(1);opacity:.4;transition:all .3s}
    .badge-item.earned .badge-ico{filter:none;opacity:1}
    .badge-lbl{font-size:var(--fs-xs);font-weight:800;color:var(--text-muted);line-height:1.2}
    .badge-item.earned .badge-lbl{color:var(--green-main)}
    .streak-bar{background:var(--bg-card);border-radius:16px;padding:14px;border:1px solid var(--border);margin-bottom:14px;display:flex;align-items:center;gap:14px}
    .streak-flame{font-size:32px}
    .streak-info{flex:1}
    .streak-n{font-size:28px;font-weight:900;color:var(--orange-main)}
    .streak-lbl{font-size:var(--fs-xs);color:var(--text-muted);font-weight:700}
    .streak-best{font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px}
    /* POIDS */
    .poids-input-row{display:flex;gap:8px;align-items:center;margin-bottom:14px}
    .poids-input{flex:1;padding:12px 16px;border:2px solid var(--border);border-radius:14px;font-size:max(var(--fs-md),16px);font-weight:800;font-family:var(--font-main);background:var(--bg-card);color:var(--text-primary);outline:none}
    .poids-input:focus{border-color:var(--blue-main)}
    .poids-save-btn{background:var(--blue-main);color:#fff;border:none;border-radius:14px;padding:12px 18px;font-size:var(--fs-sm);font-weight:800;cursor:pointer;font-family:var(--font-main);white-space:nowrap}
    .poids-chart{background:var(--bg-card);border-radius:16px;padding:14px;border:1px solid var(--border);margin-bottom:14px}
    /* MINUTEUR ZEN */
    .sport-timer{text-align:center;margin:14px 0}
    .sport-timer-circle{width:120px;height:120px;border-radius:50%;background:var(--green-light);border:4px solid var(--green-main);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 12px}
    .sport-timer-time{font-size:28px;font-weight:900;color:var(--green-main)}
    .sport-timer-lbl{font-size:var(--fs-xs);color:var(--text-muted);font-weight:700}
    .zen-timer{text-align:center;margin:14px 0}
    .zen-timer-circle{width:120px;height:120px;border-radius:50%;background:var(--purple-light);border:4px solid var(--purple-main);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 12px}
    .zen-timer-time{font-size:28px;font-weight:900;color:var(--purple-main)}
    .zen-timer-lbl{font-size:var(--fs-xs);color:var(--text-muted);font-weight:700}
    .zen-timer-btns{display:flex;gap:8px;justify-content:center}
    .zen-dur-btn{background:var(--bg-subtle);border:2px solid var(--border);border-radius:10px;padding:7px 14px;font-size:var(--fs-xs);font-weight:800;cursor:pointer;font-family:var(--font-main);color:var(--text-secondary);transition:all .2s}
    .zen-dur-btn.sel{background:var(--purple-main);color:#fff;border-color:var(--purple-main)}
    /* AJOUT [musique de fond Bien-être] — sélecteur discret : mêmes chips
       que .zen-dur-btn/.sel ci-dessus (cohérence visuelle avec le reste du
       bloc minuteur), volontairement plus petit/discret que le minuteur
       lui-même (demande "option, pas obligatoire"). */
    .zen-music{text-align:center;padding-top:12px;border-top:1px solid var(--border)}
    .zen-music-lbl{font-size:var(--fs-xs);color:var(--text-muted);font-weight:700;margin-bottom:8px}
    .zen-music-tracks{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
    /* GRAPHIQUE 30 JOURS */
    .chart30-wrap{position:relative;height:120px;width:100%;margin:10px 0}
    .chart30-svg{width:100%;height:100%;overflow:visible}
    /* DISCLAIMER */
    .disclaimer-card{background:#FFF8E1;border:1px solid #FFD54F;border-radius:16px;padding:14px;margin-bottom:14px}
    .disclaimer-title{font-size:var(--fs-xs);font-weight:900;color:#F57F17;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
    .disclaimer-txt{font-size:var(--fs-xs);color:#795548;line-height:1.6}
    .about-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:12px}
    .about-title{font-size:14px;font-weight:900;color:var(--green-main);margin-bottom:8px}
    .about-txt{font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.6}
    .ref-item{font-size:var(--fs-xs);color:var(--text-muted);padding:4px 0;border-bottom:1px solid var(--bg-subtle)}
    /* RAPPELS */
    .reminder-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--bg-subtle)}
    .reminder-info{flex:1}
    .reminder-title{font-size:var(--fs-sm);font-weight:800;color:var(--text-primary)}
    .reminder-sub{font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px}
    .toggle-sw{width:44px;height:24px;background:var(--border);border-radius:12px;cursor:pointer;transition:all .3s;position:relative;border:none;outline:none;flex-shrink:0}
    .toggle-sw.on{background:var(--green-main)}
    .toggle-sw::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:all .3s;box-shadow:0 1px 4px rgba(0,0,0,.2)}
    .toggle-sw.on::after{left:23px}
  
    /* SAVOIR+ */
    .sv-tabs{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
    .sv-tab{flex-direction:row;justify-content:center;text-align:center;padding:18px;border-radius:var(--radius-btn);font-size:var(--fs-md);font-weight:800;cursor:pointer;color:#b8500f;background:var(--bg-card);border:2px solid #b8500f;transition:all .2s;font-family:var(--font-main);display:flex;align-items:center;gap:10px;line-height:1.2}
    .sv-tab .sv-ico{font-size:22px;line-height:1}
    .sv-tab.act{background:#b8500f;color:#fff;border-color:#b8500f;box-shadow:0 6px 20px rgba(184,80,15,.35)}
    .sv-card{background:var(--bg-card);border-radius:18px;border:2px solid #b8500f;margin-bottom:12px;overflow:hidden;cursor:pointer;transition:all .2s}
    .sv-card-head{display:flex;align-items:center;gap:12px;padding:14px 16px}
    .sv-card-ico{font-size:26px;flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--bg-subtle)}
    .sv-card-info{flex:1}
    .sv-card-tag{font-size:var(--fs-xs);font-weight:900;text-transform:uppercase;letter-spacing:1px;margin-bottom:3px}
    .sv-card-title{font-size:15px;font-weight:900;color:var(--text-primary);line-height:1.2}
    .sv-card-arrow{font-size:18px;color:var(--text-muted);transition:transform .3s}
    .sv-card.open .sv-card-arrow{transform:rotate(90deg)}
    .sv-card-body{display:none;padding:0 16px 14px;border-top:1px solid var(--bg-subtle)}
    .sv-card.open .sv-card-body{display:block}
    .sv-myth{background:#FFF3E0;border-left:4px solid #FB8C00;border-radius:10px;padding:10px 12px;margin:10px 0;font-size:var(--fs-xs);color:#E65100}
    .sv-truth{background:#E8F5E9;border-left:4px solid var(--green-main);border-radius:10px;padding:10px 12px;margin:10px 0;font-size:var(--fs-xs);color:#1B5E20}
    .sv-body-txt{font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.7;margin-top:10px}
    .sv-source{font-size:var(--fs-xs);color:var(--text-muted);font-style:italic;margin-top:8px}
    .sv-pill{display:inline-block;background:var(--bg-subtle);border-radius:8px;padding:3px 10px;font-size:var(--fs-xs);font-weight:800;margin:3px 3px 0 0}

    /* ACCESSIBILITÉ */
    [role="button"]:focus-visible, button:focus-visible, [tabindex="0"]:focus-visible {
      outline: 3px solid var(--green-main);
      outline-offset: 2px;
      border-radius: 8px;
    }
    .ob-opt:focus-visible { outline: 3px solid var(--green-main); outline-offset: 2px; }
    .nav-item:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }


    /* ── OB5 Inscription ── */
    .ob5-field { margin-bottom: 18px; }
    .ob5-field label { display:block; font-size:var(--fs-sm); font-weight:700; color:var(--text-primary); margin-bottom:7px; }
    .ob5-input { width:100%; padding:13px 16px; font-size:max(var(--fs-sm),16px); font-family:var(--font-main); border:1.5px solid var(--border); border-radius:14px; background:var(--bg-subtle); color:var(--text-primary); outline:none; transition:border-color .15s; -webkit-appearance:none; appearance:none; }
    .ob5-input:focus { border-color:var(--green-main); background:#fff; box-shadow:0 0 0 3px rgba(58,125,68,0.13); }
    .ob5-input.ob5-error { border-color:#c0392b; }
    .ob5-err-msg { font-size:var(--fs-xs); color:#c0392b; margin-top:5px; display:none; }
    .ob5-err-msg.show { display:block; }
    .ob5-pwd-wrap { position:relative; }
    .ob5-pwd-wrap .ob5-input { padding-right:48px; }
    .ob5-eye { position:absolute; right:14px; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; font-size:18px; color:var(--text-muted); padding:4px; }
    .ob5-strength { height:4px; border-radius:3px; background:var(--border); margin-top:7px; overflow:hidden; }
    .ob5-strength-fill { height:100%; border-radius:3px; width:0; transition:width .3s,background .3s; }
    .ob5-strength-lbl { font-size:var(--fs-xs); margin-top:4px; color:var(--text-muted); }
    .ob5-cgu { display:flex; align-items:flex-start; gap:12px; padding:13px 15px; background:var(--green-light); border-radius:14px; border:1px solid #b2dcc0; margin-bottom:8px; }
    .ob5-cgu input[type=checkbox] { width:22px; height:22px; flex-shrink:0; cursor:pointer; accent-color:var(--green-main); margin-top:2px; }
    .ob5-cgu label { font-size:var(--fs-xs); color:var(--text-secondary); cursor:pointer; line-height:1.5; }
    .ob5-cgu a { color:var(--green-main); font-weight:700; }
    .ob5-skip { display:block; text-align:center; font-size:var(--fs-xs); color:var(--text-muted); margin-top:14px; cursor:pointer; background:none; border:none; width:100%; text-decoration:underline; }
    .ob5-global-err { background:#fdf0ee; border:1px solid #e8b0aa; border-radius:12px; padding:12px 15px; font-size:var(--fs-xs); color:#c0392b; margin-bottom:14px; display:none; }
    .ob5-global-err.show { display:block; }


    /* ══════════ AJOUTS v7 ══════════════════════════ */
    body.dyslexic{font-size:112%!important}
    body.dyslexic *:not([class*='ti']):not([class*='icon']){font-family:'Lexend',sans-serif!important;letter-spacing:.06em;word-spacing:.14em;line-height:1.9!important}
    .mood-daily-card{background:#fff;border-radius:18px;padding:14px 16px;margin:0 0 14px;box-shadow:0 2px 8px rgba(0,0,0,.07);border:1.5px solid var(--border)}
    .mood-daily-title{font-size:14px;font-weight:800;color:var(--text-primary);margin-bottom:10px}
    .mood-daily-emojis{display:flex;gap:8px;justify-content:center}
    .mood-daily-btn{font-size:26px;background:var(--bg-subtle);border:2px solid transparent;border-radius:14px;padding:8px 10px;cursor:pointer;transition:all .2s;flex:1;text-align:center;line-height:1}
    .mood-daily-btn.sel{border-color:var(--purple-main);background:var(--purple-light);transform:scale(1.12)}
    .mood-daily-feedback{font-size:var(--fs-xs);color:var(--purple-main);font-weight:600;text-align:center;margin-top:8px;min-height:18px}
    .med-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999;align-items:flex-end;justify-content:center}
    .med-modal-overlay.open{display:flex}
    .med-modal{background:#fff;border-radius:24px 24px 0 0;padding:24px 20px 32px;width:100%;max-width:520px;max-height:85vh;overflow-y:auto}
    .med-modal-title{font-size:18px;font-weight:900;color:var(--text-primary);margin-bottom:16px}
    .med-form{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
    .med-input{border:2px solid var(--border);border-radius:12px;padding:10px 14px;font-size:max(var(--fs-sm),16px);font-family:inherit;width:100%;box-sizing:border-box}
    .med-input:focus{border-color:var(--green-main);outline:none}
    .med-item{display:flex;align-items:center;gap:10px;background:var(--green-light);border-radius:12px;padding:10px 14px;margin-bottom:8px}

    /* AJOUT — Bilan de fin d'essai (components/trialSummary.js) */
    .ts-modal{text-align:center}
    .ts-sub{font-size:var(--fs-xs);font-weight:700;color:var(--orange-main);background:var(--orange-light);border-radius:10px;padding:6px 10px;display:inline-block;margin-bottom:12px}
    .ts-intro{font-size:14px;color:var(--text-secondary);text-align:left;margin-bottom:14px}
    .ts-nodata{font-size:14px;color:var(--text-secondary);text-align:left;margin-bottom:18px;line-height:1.5}
    .ts-score-hero{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--green-light);border-radius:18px;padding:16px;margin-bottom:16px}
    .ts-score-n{font-size:40px;font-weight:900;color:var(--green-main);line-height:1}
    .ts-score-lbl{font-size:var(--fs-xs);font-weight:700;color:var(--text-secondary);text-align:left;line-height:1.3}
    .ts-pillars{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;text-align:left}
    .ts-pillar{display:flex;align-items:center;gap:8px}
    .ts-pillar-ico{font-size:16px;width:22px;text-align:center;flex-shrink:0}
    .ts-pillar-bar-wrap{flex:1;height:8px;background:var(--bg-subtle);border-radius:6px;overflow:hidden}
    .ts-pillar-bar{height:100%;background:var(--green-main);border-radius:6px}
    .ts-pillar-lbl{font-size:var(--fs-xs);font-weight:700;color:var(--text-secondary);width:78px;flex-shrink:0}
    .ts-pillar-pct{font-size:var(--fs-xs);font-weight:800;color:var(--text-primary);width:34px;text-align:right;flex-shrink:0}
    .ts-facts{display:flex;flex-direction:column;gap:6px;text-align:left;margin-bottom:12px}
    .ts-fact{font-size:var(--fs-xs);color:var(--text-secondary);font-weight:600}
    .ts-evo{font-size:var(--fs-xs);color:var(--text-secondary);background:var(--bg-subtle);border-radius:10px;padding:8px 10px;margin-bottom:18px;text-align:left}
    .ts-keepdata{font-size:var(--fs-xs);color:var(--text-muted);margin-top:8px}
    .ts-later{display:block;width:100%;text-align:center;background:none;border:none;color:var(--text-muted);font-size:var(--fs-xs);margin-top:10px;padding:6px;cursor:pointer;text-decoration:underline}
    .med-item-info{flex:1}
    .med-item-name{font-weight:700;font-size:14px}
    .med-item-time{font-size:var(--fs-xs);color:var(--text-muted)}
    .med-item-del{background:none;border:none;font-size:20px;cursor:pointer;color:#C62828;padding:0 4px}
    .med-empty{text-align:center;color:var(--text-muted);font-size:var(--fs-xs);padding:12px 0}
    .med-btn-add{background:var(--green-main);color:#fff;border:none;border-radius:12px;padding:12px;font-size:15px;font-weight:700;cursor:pointer;width:100%}
    .nutri-qual-gauge{background:var(--orange-light);border-radius:14px;padding:12px 14px;margin-bottom:14px}
    .nutri-qual-label{font-size:var(--fs-xs);font-weight:800;color:var(--orange-main);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
    .nutri-qual-bar-wrap{background:rgba(0,0,0,.1);border-radius:20px;height:10px;margin-bottom:8px}
    .nutri-qual-bar{height:10px;border-radius:20px;background:var(--orange-main);transition:width .5s ease}
    .nutri-qual-status{font-size:14px;font-weight:700;color:var(--orange-main)}
    .nutri-portions{background:#fff;border-radius:12px;padding:10px 12px;margin-top:10px}
    .nutri-portions-title{font-size:var(--fs-xs);font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
    .nutri-portions-sub{font-size:var(--fs-xs);color:var(--text-muted);font-weight:600;margin:-4px 0 8px}
    .nutri-portions-items{display:flex;gap:6px;flex-wrap:wrap}
    .nutri-portion-chip{background:var(--orange-light);border-radius:20px;padding:4px 10px;font-size:var(--fs-xs);font-weight:600;color:var(--orange-main)}
    /* UX — le toggle Maison/Salle (#muscu-toggle) était masqué par défaut
       (display:none!important) et seul un lien discret ("Mode avancé :
       Salle de sport", supprimé du template) le révélait — c'est justement
       ce qui le rendait "trop discret". Il est désormais toujours visible
       en musculation (visibilité gérée par sport.js::switchSport via
       #muscu-toggle.style.display, plus de dépendance à .gym-active). */
    .gym-mode-link{text-align:center;margin:12px 0 0}
    .gym-mode-link button{background:none;border:1.5px dashed var(--border);border-radius:10px;color:var(--text-muted);font-size:var(--fs-xs);font-weight:600;cursor:pointer;padding:6px 14px}
    .ex-media-wrap{background:var(--bg-subtle);border-radius:12px;display:flex;align-items:center;justify-content:center;height:72px;margin:8px 0 4px;gap:10px;color:var(--text-muted);font-size:var(--fs-xs);font-weight:600;border:1.5px dashed var(--border)}
    .ex-media-ico{font-size:30px}
    .sv-listen-btn{display:inline-flex;align-items:center;gap:6px;background:var(--green-light);border:1.5px solid var(--green-main);border-radius:20px;padding:5px 12px;font-size:var(--fs-xs);font-weight:700;color:var(--green-main);cursor:pointer;margin:6px 0 8px}
    .trend7-wrap{background:#fff;border-radius:16px;padding:14px 16px;margin-bottom:14px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
    .trend7-title{font-size:var(--fs-xs);font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
    .trend7-bars{display:flex;gap:4px;align-items:flex-end;height:70px}
    .trend7-col{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1}
    .trend7-bar{width:100%;border-radius:4px 4px 0 0;background:var(--green-main);opacity:.4;min-height:4px}
    .trend7-bar.today{opacity:1}
    .trend7-lbl{font-size:var(--fs-xs);color:var(--text-muted);font-weight:600}
    .trend7-val{font-size:var(--fs-xs);color:var(--text-secondary);font-weight:700}
    .week-compare{background:var(--green-light);border-radius:14px;padding:12px 14px;margin-bottom:12px;display:flex;align-items:center;gap:12px}
    .week-compare-icon{font-size:24px}
    .week-compare-text{flex:1;font-size:var(--fs-xs);font-weight:600;color:var(--green-main);line-height:1.5}
    .export-btn{background:var(--blue-light);border:2px solid var(--blue-main);border-radius:14px;padding:12px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:700;color:var(--blue-main);width:100%;margin-bottom:14px;box-sizing:border-box}
    .nutri-day-nav{display:flex;align-items:center;gap:8px;margin-bottom:14px}
    .nutri-day-arrow{background:var(--bg-subtle);border:1.5px solid var(--border);border-radius:10px;padding:8px 14px;font-size:20px;cursor:pointer;color:var(--text-primary);font-weight:900;line-height:1;flex-shrink:0}
    .nutri-day-label{flex:1;text-align:center;font-size:15px;font-weight:800;color:var(--text-primary)}
    @keyframes haptic-pulse{0%{transform:scale(1)}30%{transform:scale(.93)}70%{transform:scale(1.05)}100%{transform:scale(1)}}
    .haptic-flash{animation:haptic-pulse .22s ease}

    /* [v7 fix] Toast de confirmation — voir utils/toast.js */
    .app-toast{position:absolute;left:16px;right:16px;bottom:96px;background:#2A2A2A;color:#fff;font-size:var(--fs-sm);font-weight:700;padding:14px 16px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 8px 24px rgba(0,0,0,.28);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:300}
    /* COHÉRENCE UI (LOT 2) — variante d'erreur du toast (remplace les alert()
       de validation) : même position/animation, liseré rouge pour se
       distinguer visuellement d'une confirmation neutre. */
    .app-toast.app-toast-error{background:#3A1414;border:1px solid #c0392b}
    .app-toast.visible{opacity:1;transform:translateY(0);pointer-events:auto}
    .app-toast-msg{flex:1;line-height:1.4}
    .app-toast-action{background:none;border:none;color:#8FD39C;font-weight:800;font-size:var(--fs-sm);cursor:pointer;padding:4px 6px;flex-shrink:0}
    .ob-skip-btn{background:none;border:none;color:var(--text-muted);font-size:var(--fs-xs);font-weight:600;cursor:pointer;text-decoration:underline;display:block;margin:6px auto 0;width:100%;text-align:center;padding:4px}
    /* ══════════ FIN AJOUTS v7 ═══════════════════════ */

    /* ══════════ AJOUT — Compteur pas / distance (Marche & Footing) ══════════ */
    .step-widget{background:var(--bg-card);border:1.5px solid var(--border);border-radius:16px;padding:16px;margin-top:14px}
    .step-widget-goal{font-size:var(--fs-sm);font-weight:700;color:var(--text-muted)}
    .step-widget-cur{font-size:var(--fs-xl);font-weight:900;color:var(--text-primary);margin:4px 0 10px}
    .step-progress{width:100%;height:12px;background:var(--bg-subtle);border-radius:8px;overflow:hidden;border:1px solid var(--border)}
    .step-progress-fill{height:100%;background:var(--green-main);border-radius:8px;transition:width .3s ease}
    .step-widget-dist{font-size:var(--fs-md);font-weight:700;color:var(--green-main);margin:10px 0}
    .step-widget-input-row{display:flex;gap:8px;margin-top:6px}
    .step-input{flex:1;min-width:0;border:1.5px solid var(--border);border-radius:10px;padding:10px 12px;font-size:max(var(--fs-md),16px);background:var(--bg-subtle);color:var(--text-primary);box-sizing:border-box}
    .step-widget-input-row .btn{width:auto;flex-shrink:0;padding:10px 16px;border-radius:10px;border:none;cursor:pointer;margin-top:0}
    .step-reset-btn{background:none;border:none;color:var(--text-muted);font-size:var(--fs-xs);font-weight:600;cursor:pointer;text-decoration:underline;display:block;margin:12px auto 0;padding:4px}
    /* ══════════ FIN AJOUT pas / distance ══════════ */

    /* ══════════ AJOUT — Audit UX/sécurité (v32) ══════════ */

    /* Onglets Sport — plus faciles à cliquer que .sub-tab générique (partagé
       avec les onglets Bien-être) : classe additionnelle scopée, on ne
       touche pas à .sub-tab/.zen-tab pour ne rien changer ailleurs. */
    .sport-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:14px 8px;min-width:60px;cursor:pointer}
    .sport-tab i{font-size:20px;line-height:1}
    /* Sport en 2 lignes : Équilibre élargi seul en haut, les 4 autres activités
       de même taille en dessous (voir demande UX du 06/07/2026). */
    .sub-sel-sport{flex-wrap:wrap}
    /* Onglets Équilibre/Muscu/Marche/Footing/Vélo — pleine largeur, empilés,
       même gabarit que .btn-sec ("Coaching guidé"), contour vert foncé
       systématique, icônes agrandies. */
    .sub-sel-sport .sport-tab-wide,
    .sub-sel-sport .sport-tab-full{flex:1 1 100%;flex-direction:row;padding:18px;font-size:var(--fs-md);gap:10px;border:2px solid var(--green-main)}
    .sub-sel-sport .sport-tab-wide i,
    .sub-sel-sport .sport-tab-full i{font-size:28px}
    .sub-sel-sport .sport-tab-wide.ag,
    .sub-sel-sport .sport-tab-full.ag{background:var(--green-main);color:#fff;border-color:var(--green-main)}

    /* Badge de progression hebdomadaire, en haut de l'écran Sport (rempli
       par components/sport.js::renderProgressBadge). */
    .sport-progress-badge{display:none;align-items:center;gap:8px;background:var(--green-light);color:var(--green-main);border:1px solid rgba(58,125,68,.25);border-radius:14px;padding:10px 14px;font-size:var(--fs-xs);font-weight:800;margin-bottom:14px}
    .sport-progress-badge.show{display:flex}
    .sport-progress-badge.done{background:var(--green-main);color:#fff;border-color:var(--green-main)}
    .sport-progress-badge i{font-size:16px;flex-shrink:0}

    /* Squelette de chargement (#sport-area, premier affichage uniquement). */
    @keyframes skeleton-shimmer{0%{background-position:-120px 0}100%{background-position:120px 0}}
    .skeleton-block{border-radius:10px;background:linear-gradient(90deg,var(--bg-subtle) 25%,#e2e2da 37%,var(--bg-subtle) 63%);background-size:240px 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}
    .skeleton-card{pointer-events:none}
    .skeleton-loading-txt{text-align:center;color:var(--text-muted);font-size:var(--fs-xs);font-weight:600;margin-top:10px}

    /* Bandeau "Hors-ligne" discret (index.html #offline-banner). */
    .offline-banner{display:flex;align-items:center;justify-content:center;gap:8px;background:#FFF3E0;color:#E65100;font-size:var(--fs-xs);font-weight:700;padding:8px 14px;text-align:center;border-bottom:1px solid #FFD8A8}

    /* États de chargement — boutons d'action asynchrones (ob5-btn, aov-btn,
       poids-save-btn...). Le texte est masqué (visibility) plutôt que
       retiré du DOM pour garder la taille du bouton stable. */
    .btn-spinner{display:none;width:16px;height:16px;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:btn-spin .7s linear infinite}
    @keyframes btn-spin{to{transform:rotate(360deg)}}
    [data-loading="1"]{pointer-events:none;opacity:.85}
    [data-loading="1"] .btn-spinner{display:inline-block}
    [data-loading="1"] .btn-label{visibility:hidden;position:absolute}
    /* poids-save-btn n'est pas un .btn (bouton compact) : spinner en ::after */
    .poids-save-btn[data-loading="1"]{color:transparent;position:relative}
    .poids-save-btn[data-loading="1"]::after{content:'';position:absolute;inset:0;margin:auto;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;animation:btn-spin .7s linear infinite}
    /* ══════════ FIN AJOUT — Audit UX/sécurité (v32) ══════════ */

    /* ══════════ v2 — Refonte Onboarding + Accueil ══════════
       Store flags : store.js::onboardingVersion / useNewHome. Ces classes
       ne s'appliquent QUE si les templates v2 (tplOnboardingV2/tplHomeV2)
       sont actifs — aucune classe existante n'est modifiée ci-dessus. */

    /* --- Onboarding v2 : aperçu nutrition instantané (écran "Profil") --- */
    .obv2-nutri-preview{background:var(--bg-subtle);border:1.5px solid rgba(58,125,68,.25);border-radius:14px;padding:12px 14px;margin:10px 0 16px}
    .obv2-nutri-preview-title{font-size:var(--fs-xs);font-weight:800;color:var(--green-main);text-align:center;margin-bottom:8px}
    .obv2-nutri-preview-row{display:flex;gap:10px}
    .obv2-nutri-chip{flex:1;background:#fff;border-radius:10px;padding:8px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.05)}
    .obv2-nutri-chip span{display:block;font-size:var(--fs-md);font-weight:800;color:#1A1A1A}
    .obv2-nutri-chip small{display:block;font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px}

    /* --- Onboarding v2 : écran "Valeur immédiate" (aperçu programme) --- */
    .obv2-preview-card{background:var(--bg-subtle);border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 2px 6px rgba(0,0,0,.05)}
    .obv2-preview-card-title{font-size:var(--fs-sm);font-weight:800;color:#1A1A1A;margin-bottom:8px}
    .obv2-preview-sport-name{font-weight:700;color:var(--green-main);margin-bottom:4px}
    .obv2-preview-list{margin:0;padding-left:18px;font-size:var(--fs-xs);color:#3A3A3A;line-height:1.7}

    /* --- Accueil v2 : hiérarchie hero / programme / KPI / coach --- */
    .home-v2 .home-program{margin-bottom:6px}
    .home-v2 .program-cards{display:flex;flex-direction:column;gap:0}
    .home-v2 .program-card{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;background:var(--bg-subtle);border-radius:14px;border:4px solid var(--green-main);box-shadow:0 2px 6px rgba(0,0,0,.06);margin-bottom:10px;transition:transform .15s ease,box-shadow .15s ease}
    .home-v2 .program-card:last-child{margin-bottom:0}
    .home-v2 .program-card:active{transform:scale(.97);box-shadow:0 1px 3px rgba(0,0,0,.08)}
    .home-v2 .home-kpis{margin-top:4px}
    .home-v2 .home-coach{margin-top:4px}
    .home-v2-score-pill{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:800;color:var(--green-main);background:#E8F5E9;border-radius:20px;padding:2px 10px;margin-left:6px;vertical-align:middle}
    /* ══════════ FIN v2 — Refonte Onboarding + Accueil ══════════ */

    /* ══════════ AUDIT A11Y (09/07/2026) ══════════ */
    /* [AUDIT a11y] Classe utilitaire standard "screen-reader only" : masque
       visuellement un élément sans le retirer de l'arbre d'accessibilité —
       utilisée pour le <h1> de la coquille applicative (voir index.html),
       qui n'a pas besoin d'être visible (le logo joue déjà ce rôle
       visuellement) mais doit exister pour que VoiceOver/TalkBack disposent
       d'un titre de page de niveau 1 en tête de la hiérarchie des titres. */
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
    /* ══════════ FIN AUDIT A11Y ══════════ */

.coach-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 16px;
}

.coach-modal {
  background: #fff;
  border-radius: 16px;
  padding: 20px;
  width: 100%;
  max-width: 420px;
  max-height: 80vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.coach-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: var(--fs-lg);
}

.coach-modal-close {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  padding: 4px 8px;
  line-height: 1;
}

.coach-modal-meal {
  font-size: var(--fs-xs);
  color: #666;
  margin: 0;
}

.coach-modal-answer {
  background: #f5f5f5;
  border-radius: 10px;
  padding: 12px;
  font-size: var(--fs-sm);
  line-height: 1.5;
  white-space: pre-wrap;
}

.coach-modal-input {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 10px;
  font-size: max(var(--fs-sm), 16px);
  font-family: inherit;
  resize: vertical;
}

/* AJOUT — texte d'invitation au-dessus du micro */
.coach-modal-mic-hint {
  text-align: center;
  font-size: var(--fs-xs);
  color: #555;
  margin: 4px 0 0;
}

/* AJOUT — conteneur centré pour le gros bouton micro */
.coach-modal-mic-wrap {
  display: flex;
  justify-content: center;
  padding: 4px 0;
}

/* AJOUT — bouton micro, grand cercle centré, 3 états : idle / écoute / traitement */
.coach-modal-mic {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: none;
  background: #1B5E20;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.coach-modal-mic i {
  font-size: 30px;
}

.coach-modal-mic.listening {
  background: #d84315;
  animation: pulse-mic 1s infinite;
}

.coach-modal-mic.processing {
  background: #f9a825;
  animation: none;
}

/* AJOUT — widget "Vos protéines aujourd'hui" (écran Nutrition, voir
   components/proteinesWidget.js). Réutilise les variables de thème
   existantes (accent orange de l'écran Nutrition, --bg-card/--border/
   --text-*), pas de valeurs de repli propres au widget.
   font-size:max(...,17px) garantit le plancher lisibilité 50-70 ans même
   si le réglage A/a/A de l'utilisateur est sur "petit" (même idiome que
   templates/editProfil.js). */

.amv-prot {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  padding: 20px;
  color: var(--text-primary);
  font-size: max(var(--fs-sm), 17px);
  line-height: 1.5;
  margin-bottom: 14px;
}

.amv-prot__head {
  margin-bottom: 14px;
}

.amv-prot h2 {
  font-size: var(--fs-lg);
  font-weight: 800;
  margin: 0;
  color: var(--text-primary);
}

.amv-prot__jauge {
  height: 14px;
  border-radius: 7px;
  background: var(--orange-light);
  overflow: hidden;
}

.amv-prot__jauge-remplissage {
  height: 100%;
  background: var(--orange-main);
  border-radius: 7px;
  transition: width 400ms ease;
}

@media (prefers-reduced-motion: reduce) {
  .amv-prot__jauge-remplissage { transition: none; }
}

.amv-prot__etat {
  margin: 10px 0 0;
  font-weight: 800;
}

.amv-prot__repartition {
  margin: 6px 0 0;
  font-size: max(var(--fs-xs), 15px);
  color: var(--text-muted);
}

.amv-prot__avertissement {
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--border);
  font-size: max(var(--fs-xs), 15px);
  color: var(--text-muted);
}

.amv-prot__sous-titre {
  font-size: var(--fs-md);
  font-weight: 800;
  margin: 18px 0 10px;
  color: var(--text-primary);
}

.amv-prot__sources {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
}

.amv-prot__source {
  width: 100%;
  min-height: 56px; /* cible tactile confortable, seniors */
  padding: 10px 14px;
  text-align: left;
  background: var(--orange-light);
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--text-primary);
  font: inherit;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.amv-prot__source:hover {
  border-color: var(--orange-main);
}

.amv-prot__source:focus-visible {
  outline: 3px solid var(--orange-main);
  outline-offset: 2px;
}

.amv-prot__source:active {
  transform: scale(0.98);
}

.amv-prot__source-nom {
  font-weight: 800;
  font-size: var(--fs-sm);
}

.amv-prot__source-detail {
  font-size: var(--fs-xs);
  color: var(--text-muted);
}

@keyframes pulse-mic {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

/* AJOUT — bouton de lecture audio sous la réponse du coach */
.coach-modal-play {
  margin-top: 8px;
  padding: 6px 14px;
  border-radius: 20px;
  border: none;
  background: #1B5E20;
  color: #fff;
  font-size:var(--fs-xs);
  cursor: pointer;
}

.coach-modal-answer-text {
  margin: 0;
}

/* CORRECTIF [bouton « Envoyer » du coach gris, 2026-08-13] — la classe
   .btn-primary était posée dans le markup (nutrition.js/sport.js/bienetre.js
   + qtyStepper.js) mais n'était DÉFINIE NULLE PART dans cette feuille.
   .coach-modal-send ne déclarant ni `background` ni `color`, le bouton
   héritait du gris par défaut du navigateur (#F0F0F0, texte noir) : il
   paraissait désactivé alors qu'il était parfaitement fonctionnel
   (`disabled:false`, `opacity:1`, `pointer-events:auto` — mesuré). Aucune
   logique ne liait d'ailleurs son état au contenu du champ, ni avant ni
   maintenant : le défaut était purement visuel.

   `:not(.qty-modal-add)` — le stepper de quantité porte lui aussi
   .btn-primary, mais définit déjà son propre fond orange. Sur les règles de
   base l'ordre source suffirait (il est déclaré plus bas dans ce fichier),
   MAIS PAS sur :hover/:active, dont la spécificité (0,2,0) dépasserait la
   sienne (0,1,0) et repeindrait le bouton orange en vert au survol.
   L'exclusion est donc explicite plutôt qu'implicite.
   (Plus propre à terme : retirer la classe morte du markup de qtyStepper.js,
   qui ne s'en sert pas — hors périmètre de ce correctif, limité au CSS.) */
.btn-primary:not(.qty-modal-add) {
  background: var(--green-main);
  color: #fff;
  font-weight: 700;
  transition: background .2s, transform .1s;
}

.btn-primary:not(.qty-modal-add):not(:disabled):hover {
  background: #2F6537; /* var(--green-main) assombri */
}

.btn-primary:not(.qty-modal-add):not(:disabled):active {
  background: #24512A;
  transform: translateY(1px);
}

/* Public 50-70 ans : le focus clavier doit rester franchement visible.
   Même traitement que .item-card-clickable:focus-visible. */
.btn-primary:not(.qty-modal-add):focus-visible {
  outline: 3px solid var(--orange-main);
  outline-offset: 2px;
}

/* État désactivé — champ de question vide, ou envoi en cours. Un GRIS franc
   plutôt que le vert délavé qu'aurait donné l'`opacity:.6` de
   `.coach-modal-send:disabled` seule : à 60 % d'opacité, un bouton vert reste
   lu comme « vert donc actif » par un œil de 60 ans. `opacity:1` est donc
   réaffirmé ici, la couleur portant à elle seule l'information.
   Spécificité (0,3,0) : passe devant `.coach-modal-send:disabled` (0,2,0). */
.btn-primary:not(.qty-modal-add):disabled {
  background: #CFD4D0;
  color: #4F554F; /* 5,1:1 sur le gris — AA. #5A605B, plus doux, ne donnait
                     que 4,29:1, sous le seuil. Les contrôles désactivés en
                     sont dispensés par WCAG, mais pas pour ce public. */
  opacity: 1;
  cursor: default;
}

.coach-modal-send {
  align-self: flex-end;
  padding: 10px 20px;
  border-radius: 10px;
  border: none;
  font-size: var(--fs-sm);
  cursor: pointer;
}

.coach-modal-send:disabled {
  opacity: 0.6;
  cursor: default;
}

/* AJOUT (refonte score nutrition) — sélecteur de quantité (multiplicateur
   de portion sur les cartes repas, stepper +/- sur les cartes aliments
   libres), même squelette que .coach-modal/.coach-modal-overlay. */
.qty-modal-label {
  margin: 0;
  font-size: var(--fs-xs);
  color: var(--text-muted, #666);
}

.qty-modal-factors {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.qty-factor-btn {
  flex: 1;
  min-width: 56px;
  min-height: 44px;
  border-radius: 10px;
  border: 1px solid #ddd;
  background: #fff;
  font-weight: 700;
  font-size: var(--fs-sm);
  cursor: pointer;
}

.qty-factor-btn.active {
  background: var(--orange-main);
  border-color: var(--orange-main);
  color: #fff;
}

.qty-modal-stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.qty-step-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: none;
  background: var(--orange-main);
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.qty-step-btn:disabled {
  opacity: 0.4;
  cursor: default;
}

.qty-step-val {
  min-width: 72px;
  text-align: center;
  font-size: var(--fs-lg);
  font-weight: 800;
}

.qty-modal-preview {
  text-align: center;
  font-size: var(--fs-sm);
  color: var(--text-muted, #666);
  margin: 0;
}

.qty-modal-add {
  align-self: stretch;
  padding: 12px 20px;
  border-radius: 10px;
  border: none;
  font-size: var(--fs-sm);
  font-weight: 700;
  cursor: pointer;
  background: var(--orange-main);
  color: #fff;
}

/* AJOUT — écran "Tous les aliments" (#scr-food-picker, components/foodPicker.js).
   Les chips catégorie/régime réutilisent .session-chip/.sel tel quel (voir
   sport.js), seul le layout en ligne ci-dessous est nouveau. */
.fp-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  color: var(--green-main);
  font-weight: 700;
  font-size: var(--fs-sm);
  padding: 0;
  margin-bottom: 10px;
  cursor: pointer;
}

.fp-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.fp-chip-row .fp-chip {
  width: auto;
  padding: 8px 14px;
  font-size: var(--fs-xs);
}

.fp-food-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fp-food-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  background: var(--bg-card);
  border: 2px solid transparent;
  border-radius: var(--radius-btn);
  padding: 12px 14px;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-main);
  transition: border-color .2s;
}

.fp-food-item:hover, .fp-food-item:focus-visible {
  border-color: var(--green-main);
}

.fp-food-icon {
  font-size: var(--fs-lg);
}

.fp-food-name {
  flex: 1;
  font-weight: 700;
  color: var(--text-primary);
}

.fp-food-detail {
  font-size: var(--fs-xs);
  color: var(--text-muted, #666);
  white-space: nowrap;
}

/* AJOUT [signal visuel d'ajout sur la carte foodPicker, demande utilisateur]
   — même langage visuel que .card-badge.bn (nutrition.js::mealCardHTML,
   fond/texte orange), même transition/durée que app-toast (styles.css,
   utils/toast.js) pour rester cohérent avec le seul autre signal temporaire
   existant dans l'app. Masqué par défaut (opacity:0, pas de place réservée
   tant que vide) : positionné en superposition (position:relative sur
   .fp-food-item ci-dessus) pour ne jamais décaler la ligne au moment où le
   texte apparaît/disparaît. */
.fp-added-flash {
  position: absolute;
  top: 6px;
  right: 10px;
  font-size: var(--fs-xs);
  font-weight: 800;
  color: var(--orange-main);
  background: var(--orange-light);
  border-radius: 12px;
  padding: 3px 9px;
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}

.fp-added-flash.visible {
  opacity: 1;
  transform: translateY(0);
}

.fp-empty {
  text-align: center;
  color: var(--text-muted, #666);
  padding: 24px 0;
}

/* AJOUT (paywall aperçu concret) — bandeau au-dessus des cartes de repas en
   lecture seule (nutrition.js::renderNutri, isTrialLocked). */
.nutri-preview-banner {
  text-align: center;
  background: var(--bg-card);
  border: 2px dashed var(--green-main);
  border-radius: var(--radius-btn);
  padding: 16px;
  margin-bottom: 14px;
}

.nutri-preview-banner p {
  font-size: var(--fs-sm);
  color: var(--text-secondary);
  font-weight: 700;
  margin-bottom: 12px;
  line-height: 1.4;
}

/* AJOUT (point 6 — retirer/corriger un ajout) — liste "Vos ajouts du jour"
   sous les sources de protéines (proteinesWidget.js). */
.amv-prot__log {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.amv-prot__log-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  background: var(--orange-light);
  border-radius: 10px;
}

.amv-prot__log-icon {
  font-size: 18px;
  flex-shrink: 0;
}

.amv-prot__log-label {
  flex: 1;
  min-width: 0;
  font-weight: 700;
  font-size: var(--fs-sm);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.amv-prot__log-macro {
  font-size: var(--fs-xs);
  color: var(--text-muted, #666);
  flex-shrink: 0;
  white-space: nowrap;
}

.amv-prot__log-del {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: var(--text-muted, #666);
  font-size: 16px;
  cursor: pointer;
}

.amv-prot__log-del:hover {
  background: rgba(0, 0, 0, 0.08);
}

.card-coach-row {
  padding: 10px 0 0;
}

.btn-ask-coach {
  background: var(--green-main);
  border: none;
  border-radius: var(--radius-btn);
  padding: 18px;
  font-size: var(--fs-md);
  font-weight: 800;
  font-family: var(--font-main);
  width: 100%;
  cursor: pointer;
  color: #ffffff;
  box-shadow: 0 6px 20px rgba(58,125,68,.35);
}

.btn-ask-coach:hover {
  background: #14401A;
}

.btn-ask-coach:active {
  background: #0F3013;
}
