/* Appli des licenciés — Ma licence et profil (lot E, 09/10/2026) : carte de licence numérique, QR de vérification, badges,
   profil déclaré, favoris (js/appli-licence.js) et page publique /verifier-licence (modules-pages/verifier-licence.mjs).
   Préfixe apl-. Couleurs de la charte uniquement : Klein #001CA8, Midnight #191970, noir #120D16, White Smoke #F5F5F5,
   Cranberry #950714, rouge #F32837, blanc — et leurs transparences. Téléphone d'abord ; mode sombre : classe apl-sombre posée
   par js/appli-licence.js quand le fond réellement affiché autour est sombre (thème de l'appli, quel qu'il soit) ; rien ne
   bouge si prefers-reduced-motion. */
.apl, .apl-voile, .apl-v{--apl-klein:#001CA8;--apl-minuit:#191970;--apl-noir:#120D16;--apl-fumee:#F5F5F5;--apl-cranberry:#950714;--apl-rouge:#F32837;--apl-blanc:#fff;
  --apl-fond:#fff;--apl-texte:#120D16;--apl-doux:rgba(18,13,22,.7);--apl-trait:rgba(18,13,22,.12);--apl-surface:#F5F5F5;--apl-accent:#001CA8;
  --apl-disp:var(--police-display,Montserrat,system-ui,sans-serif)}
.apl.apl-sombre, .apl-v.apl-sombre{--apl-fond:#120D16;--apl-texte:#F5F5F5;--apl-doux:rgba(245,245,245,.74);--apl-trait:rgba(245,245,245,.16);--apl-surface:rgba(245,245,245,.06);--apl-accent:#9fb0ff}

.apl{margin:0 0 1.75rem;color:var(--apl-texte)}
.apl-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.apl-ico{width:1.2em;height:1.2em;flex:none;vertical-align:-.22em}
.apl-tete{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .9rem}
.apl-titre{margin:0;font:800 1.18rem/1.2 var(--apl-disp);letter-spacing:-.01em;color:var(--apl-texte)}
.apl-titre:focus{outline:none}
.apl-foi{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .65rem;border-radius:999px;border:1px solid var(--apl-trait);font:700 .72rem/1 var(--apl-disp);letter-spacing:.04em;text-transform:uppercase;color:var(--apl-doux)}
.apl-foi::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--apl-klein);box-shadow:0 0 0 2px rgba(0,28,168,.18)}
.apl-compte{font:700 .85rem/1 var(--apl-disp);color:var(--apl-doux)}
.apl-exemple{display:inline-block;padding:.18rem .5rem;border-radius:999px;background:#F32837;color:#fff;font:800 .66rem/1.1 var(--apl-disp);letter-spacing:.06em;text-transform:uppercase;vertical-align:.1em}
.apl-note{margin:.75rem 0 0;font-size:.86rem;line-height:1.5;color:var(--apl-doux)}
.apl-doux{color:var(--apl-doux)}
.apl-lien{all:unset;cursor:pointer;color:var(--apl-accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.apl-lien:focus-visible{outline:3px solid rgba(0,28,168,.45);outline-offset:3px;border-radius:3px}
.apl-demo-bascule{margin:.6rem 0 0;font-size:.85rem}

/* ── Carte de licence (format carte bancaire, 85,6 × 54 mm) ── */
.apl-scene{perspective:1100px;max-width:430px;margin:0 auto}
.apl-carte{--apl-rx:0deg;--apl-ry:0deg;--apl-hx:50%;--apl-hy:50%;--apl-ha:.18;
  position:relative;display:flex;flex-direction:column;aspect-ratio:1.586;width:100%;box-sizing:border-box;padding:5.2% 5.6% 4.6%;border-radius:clamp(14px,4.4vw,20px);overflow:hidden;isolation:isolate;
  color:#fff;background:radial-gradient(120% 90% at 100% 0%,rgba(255,255,255,.16),transparent 55%),linear-gradient(135deg,#001CA8 0%,#0a1aa0 38%,#191970 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 -1px 0 rgba(0,0,0,.25) inset,0 18px 40px -14px rgba(25,25,112,.55),0 4px 12px rgba(18,13,22,.18);
  transform:rotateX(var(--apl-rx)) rotateY(var(--apl-ry));transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1);font-family:var(--apl-disp)}
.apl-carte:focus-visible{outline:3px solid #F32837;outline-offset:4px}
.apl-carte-vivante{transition:transform .12s linear}
/* Motif : guilloches fines (lignes de sécurité) et rayons du logo, à peine visibles. */
.apl-carte-motif{position:absolute;inset:0;z-index:-1;opacity:.55;pointer-events:none;
  background:repeating-radial-gradient(circle at 118% -18%,rgba(255,255,255,0) 0 9px,rgba(255,255,255,.07) 9px 10px),
    repeating-conic-gradient(from 8deg at 112% 120%,rgba(255,255,255,.05) 0 4deg,transparent 4deg 12deg),
    linear-gradient(180deg,transparent 62%,rgba(18,13,22,.28))}
/* Grand millésime en filigrane, comme sur la carte imprimée 2026 (le dernier chiffre plus clair). */
.apl-carte-annee{position:absolute;right:-2%;bottom:-13%;z-index:-1;font:900 clamp(5.4rem,30vw,8.6rem)/1 var(--apl-disp);letter-spacing:-.06em;color:rgba(255,255,255,.07);pointer-events:none;user-select:none}
.apl-carte-annee b{color:rgba(159,176,255,.16)}
.apl-carte-haut{display:flex;align-items:center;gap:.75rem}
.apl-carte-logo{display:grid;place-items:center;flex:none;width:clamp(46px,14vw,60px);aspect-ratio:1;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(18,13,22,.25)}
.apl-carte-logo img{width:82%;height:auto;display:block}
.apl-carte-marque{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.apl-carte-licence{font:800 clamp(.72rem,2.9vw,.86rem)/1 var(--apl-disp);letter-spacing:.42em;text-transform:uppercase}
.apl-carte-fede{font:600 clamp(.6rem,2.4vw,.72rem)/1.2 var(--apl-disp);color:rgba(255,255,255,.78);letter-spacing:.02em}
.apl-exemple-carte{margin-left:auto;align-self:flex-start}
.apl-carte-milieu{margin-top:auto;padding-top:.4rem}
.apl-carte-nom{margin:0 0 .45rem;font:600 clamp(1.15rem,5.4vw,1.5rem)/1.1 var(--apl-disp);letter-spacing:-.005em;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.apl-carte-nom b{font-weight:800;letter-spacing:.02em}
.apl-carte-dl{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;margin:0}
.apl-carte-dl div{min-width:0}
.apl-carte-dl dt{font:700 clamp(.52rem,2.1vw,.62rem)/1.2 var(--apl-disp);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.apl-carte-dl dd{margin:.1rem 0 0;font:700 clamp(.78rem,3.3vw,.92rem)/1.2 var(--apl-disp);font-variant-numeric:tabular-nums;letter-spacing:.03em}
.apl-carte-club{flex-basis:100%}
.apl-carte-club dd{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.apl-carte-bas{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.65rem}
.apl-carte-classes{display:flex;gap:.3rem;margin:0;padding:0;list-style:none}
.apl-carte-classes li{display:inline-flex;align-items:center;gap:.28rem;padding:.2rem .45rem .2rem .2rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font:700 clamp(.56rem,2.3vw,.68rem)/1 var(--apl-disp)}
.apl-carte-classes b{display:grid;place-items:center;width:1.35em;height:1.35em;border-radius:50%;background:#fff;color:#001CA8;font-weight:900}
.apl-carte-valide{display:inline-flex;align-items:center;gap:.4rem;padding:.34rem .65rem;border-radius:999px;background:#fff;color:#001CA8;font:800 clamp(.6rem,2.5vw,.72rem)/1 var(--apl-disp);white-space:nowrap;box-shadow:0 2px 6px rgba(18,13,22,.25)}
.apl-carte-valide i{width:.5rem;height:.5rem;border-radius:50%;background:#001CA8;box-shadow:0 0 0 3px rgba(0,28,168,.2)}
/* Reflet holographique : un dégradé irisé (couleurs de la charte éclaircies) qui glisse avec l'inclinaison. */
.apl-carte-holo{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:color-dodge;opacity:var(--apl-ha);
  background:linear-gradient(115deg,transparent 20%,rgba(159,176,255,.55) 36%,rgba(255,255,255,.7) 44%,rgba(243,40,55,.35) 52%,rgba(159,176,255,.5) 60%,transparent 78%);
  background-size:250% 250%;background-position:var(--apl-hx) var(--apl-hy);transition:opacity .3s}
.apl-carte-reflet{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at var(--apl-hx) var(--apl-hy),rgba(255,255,255,.22),transparent 45%)}
.apl-carte-attente{background:linear-gradient(110deg,rgba(0,28,168,.85) 30%,rgba(25,25,112,.75) 50%,rgba(0,28,168,.85) 70%);background-size:200% 100%;animation:apl-squelette 1.4s linear infinite}
@keyframes apl-squelette{to{background-position:-200% 0}}

/* Carte « à compléter » : même gabarit, voile clair, explication et lien vers Exalto. */
.apl-carte-vide{background:linear-gradient(135deg,rgba(0,28,168,.92),rgba(25,25,112,.96));}
.apl-carte-vide::after{content:"";position:absolute;inset:7px;border:1.5px dashed rgba(255,255,255,.32);border-radius:clamp(10px,3.4vw,15px);pointer-events:none}
.apl-vide-corps{display:flex;gap:.7rem;align-items:flex-start;margin-top:auto}
.apl-vide-ico{display:grid;place-items:center;flex:none;width:2.1rem;height:2.1rem;border-radius:50%;background:rgba(255,255,255,.14);font-size:1rem}
.apl-vide-titre{margin:0 0 .25rem;font:800 clamp(.95rem,4.2vw,1.12rem)/1.2 var(--apl-disp)}
.apl-vide-texte{margin:0;font:500 clamp(.66rem,2.75vw,.8rem)/1.4 var(--police-texte,Cabin,system-ui,sans-serif);color:rgba(255,255,255,.88);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.apl-vide-bouton{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;padding:.5rem .85rem;border-radius:999px;background:#fff;color:#001CA8;font:800 clamp(.68rem,2.8vw,.8rem)/1 var(--apl-disp);text-decoration:none;box-shadow:0 2px 8px rgba(18,13,22,.3)}
.apl-vide-bouton:hover{background:#F5F5F5}
.apl-vide-bouton:focus-visible{outline:3px solid #F32837;outline-offset:3px}

/* ── Boutons, actions ── */
.apl-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin:1rem 0 0}
.apl-profil .apl-actions, .apl-form .apl-actions{justify-content:flex-start}
.apl-bouton{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.7rem 1.15rem;border-radius:999px;border:1.5px solid var(--apl-accent);color:var(--apl-accent);font:800 .92rem/1.2 var(--apl-disp)}
.apl-bouton:hover{background:rgba(0,28,168,.07)}
.apl-bouton:focus-visible{outline:3px solid rgba(0,28,168,.45);outline-offset:3px}
.apl-bouton[disabled]{opacity:.6;cursor:progress}
.apl-bouton[hidden]{display:none}
.apl-bouton-plein{background:#001CA8;border-color:#001CA8;color:#fff;box-shadow:0 8px 20px -10px rgba(0,28,168,.8)}
.apl-bouton-plein:hover{background:#191970;border-color:#191970}
.apl-bouton-discret{border-color:transparent;color:var(--apl-doux)}
.apl-message{margin:.6rem 0 0;font-size:.88rem;color:var(--apl-texte)}
.apl-message:empty{display:none}
.apl-message-erreur{color:#950714;font-weight:700}

/* ── Raccourcis Exalto ── */
.apl-raccourcis{display:grid;gap:.6rem;margin:1.2rem 0 0;padding:0;list-style:none}
.apl-raccourci{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;border-radius:16px;background:var(--apl-surface);border:1px solid var(--apl-trait);color:var(--apl-texte);text-decoration:none;transition:border-color .2s,transform .2s}
.apl-raccourci:hover{border-color:var(--apl-accent)}
.apl-raccourci:focus-visible{outline:3px solid rgba(0,28,168,.45);outline-offset:2px}
.apl-raccourci-ico{display:grid;place-items:center;flex:none;width:2.5rem;height:2.5rem;border-radius:12px;background:#001CA8;color:#fff;font-size:1.05rem}
.apl-raccourci:nth-child(n) .apl-raccourci-ico{background:linear-gradient(135deg,#001CA8,#191970)}
.apl-raccourcis li:nth-child(3) .apl-raccourci-ico{background:linear-gradient(135deg,#950714,#F32837)}
.apl-raccourci-txt{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}
.apl-raccourci-txt b{font:800 .95rem/1.2 var(--apl-disp)}
.apl-raccourci-txt small{font-size:.8rem;line-height:1.35;color:var(--apl-doux)}
.apl-ico-fleche{color:var(--apl-doux)}

/* ── QR plein écran ── */
.apl-voile-ouvert{overflow:hidden}
.apl-voile{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:16px;background:rgba(18,13,22,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:apl-fondu .2s ease-out}
.apl-qr-feuille{position:relative;width:min(380px,100%);max-height:calc(100vh - 32px);overflow:auto;box-sizing:border-box;padding:1.5rem 1.4rem 1.3rem;border-radius:26px;background:#fff;color:#120D16;text-align:center;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);animation:apl-monte .28s cubic-bezier(.2,.8,.2,1)}
.apl-qr-feuille .apl-qr-sur{padding:0 2.6rem;margin:0;font:800 .74rem/1 var(--apl-disp);letter-spacing:.14em;text-transform:uppercase;color:#001CA8}
.apl-qr-feuille .apl-qr-titre{margin:.45rem 0 1.1rem;font:800 1.6rem/1.1 var(--apl-disp);color:#191970}
.apl-qr-cadre{padding:.6rem;border-radius:18px;background:#fff;border:2px solid #F5F5F5;box-shadow:0 0 0 6px rgba(0,28,168,.06)}
.apl-qr-svg{display:block;width:100%;height:auto;image-rendering:pixelated}
.apl-qr-valide{display:inline-flex;align-items:center;gap:.45rem;margin:1rem 0 .5rem;padding:.45rem .9rem;border-radius:999px;background:#001CA8;color:#fff;font:800 .85rem/1 var(--apl-disp)}
.apl-qr-valide i{width:.5rem;height:.5rem;border-radius:50%;background:#fff}
.apl-qr-aide{margin:0;font-size:.82rem;line-height:1.5;color:rgba(18,13,22,.72)}
.apl-qr-fermer{all:unset;cursor:pointer;position:absolute;top:.7rem;right:.7rem;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#120D16;font-size:1.1rem}
.apl-qr-fermer:hover{background:#F5F5F5}
.apl-qr-fermer:focus-visible{outline:3px solid rgba(0,28,168,.45)}
@keyframes apl-fondu{from{opacity:0}}
@keyframes apl-monte{from{opacity:0;transform:translateY(24px) scale(.97)}}

/* ── Badges ── */
.apl-medailles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none}
.apl-medaille{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:.9rem .6rem 1rem;border-radius:18px;background:var(--apl-surface);border:1px solid var(--apl-trait)}
.apl-med-svg{width:74px;height:auto;margin-bottom:.45rem;filter:drop-shadow(0 6px 8px rgba(25,25,112,.25))}
.apl-medaille.est-a-gagner .apl-med-svg{filter:none;opacity:.75}
.apl-med-titre{margin:0;font:800 .9rem/1.2 var(--apl-disp);color:var(--apl-texte)}
.apl-med-sous{margin:.25rem 0 0;font-size:.76rem;line-height:1.35;color:var(--apl-doux)}
.apl-med-date{margin:.4rem 0 0;font:700 .68rem/1 var(--apl-disp);letter-spacing:.04em;text-transform:uppercase;color:var(--apl-accent)}
.apl-med-verrou{color:var(--apl-doux)}
.apl-neuf{display:inline-block;padding:.12rem .4rem;border-radius:999px;background:#F32837;color:#fff;font:800 .6rem/1.1 var(--apl-disp);letter-spacing:.05em;text-transform:uppercase;vertical-align:.12em}
.apl-medaille.est-neuve{border-color:rgba(243,40,55,.55);box-shadow:0 0 0 3px rgba(243,40,55,.12)}
.apl-medaille.est-neuve .apl-med-svg{animation:apl-obtenu 1.1s cubic-bezier(.2,1.4,.4,1) both}
.apl-medaille.est-neuve::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);background-size:250% 100%;animation:apl-eclat 1.6s .5s ease-out both}
@keyframes apl-obtenu{0%{transform:scale(.2) rotate(-25deg);opacity:0}60%{transform:scale(1.15) rotate(6deg);opacity:1}100%{transform:none}}
@keyframes apl-eclat{from{background-position:120% 0}to{background-position:-60% 0}}

/* ── Profil ── */
.apl-etiq{display:inline-block;padding:.25rem .6rem;border-radius:999px;font:800 .7rem/1 var(--apl-disp);letter-spacing:.05em;text-transform:uppercase}
.apl-etiq-declare{background:rgba(149,7,20,.1);color:#950714}
.apl-etiq-verifie{background:rgba(0,28,168,.1);color:var(--apl-accent)}
.apl-declare{font-size:.72rem;font-weight:700;color:#950714;text-transform:uppercase;letter-spacing:.04em}
.apl-profil-dl{display:grid;gap:0;margin:0;border-radius:16px;border:1px solid var(--apl-trait);overflow:hidden}
.apl-profil-dl div{display:grid;gap:.2rem;padding:.75rem .95rem;border-top:1px solid var(--apl-trait)}
.apl-profil-dl div:first-child{border-top:0}
.apl-profil-dl dt{font:700 .72rem/1.2 var(--apl-disp);letter-spacing:.08em;text-transform:uppercase;color:var(--apl-doux)}
.apl-profil-dl dd{margin:0;font-weight:600}
.apl-puce-classe{display:inline-flex;align-items:center;gap:.3rem;margin:.1rem .2rem .1rem 0;padding:.2rem .55rem .2rem .2rem;border-radius:999px;background:var(--apl-surface);border:1px solid var(--apl-trait);font-size:.85rem}
.apl-puce-classe b{display:grid;place-items:center;width:1.4em;height:1.4em;border-radius:50%;background:#001CA8;color:#fff;font:800 .75rem/1 var(--apl-disp)}
.apl-form{display:grid;gap:1rem}
.apl-champ{display:grid;gap:.35rem;margin:0;padding:0;border:0;min-width:0}
.apl-champ > span, .apl-champ legend{font:800 .88rem/1.2 var(--apl-disp);padding:0}
.apl-champ small{font-size:.8rem;color:var(--apl-doux)}
.apl-champ input[type=search], .apl-champ select{box-sizing:border-box;width:100%;min-height:46px;padding:.6rem .8rem;border-radius:12px;border:1.5px solid var(--apl-trait);background:var(--apl-fond);color:var(--apl-texte);font:500 1rem/1.3 inherit}
.apl-champ input:focus-visible, .apl-champ select:focus-visible{outline:3px solid rgba(0,28,168,.4);border-color:#001CA8}
.apl-clubs{display:grid;gap:.3rem;margin:-.5rem 0 0;padding:0;list-style:none}
.apl-clubs:empty{display:none}
.apl-clubs button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;width:100%;padding:.55rem .8rem;border-radius:10px;background:var(--apl-surface)}
.apl-clubs button:hover, .apl-clubs button:focus-visible{outline:2px solid #001CA8}
.apl-clubs small{color:var(--apl-doux);font-size:.78rem}
.apl-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.35rem}
.apl-case{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.35rem .6rem;border-radius:12px;border:1.5px solid var(--apl-trait);cursor:pointer;font-size:.9rem}
.apl-case:has(input:checked){border-color:#001CA8;background:rgba(0,28,168,.07)}
.apl-case input{width:1.1rem;height:1.1rem;accent-color:#001CA8}

/* ── Favoris ── */
.apl-fav-liste{margin:0;padding:0;list-style:none;border-radius:16px;border:1px solid var(--apl-trait);overflow:hidden}
.apl-fav-liste li{display:flex;align-items:center;gap:.6rem;padding:.5rem .5rem .5rem .95rem;border-top:1px solid var(--apl-trait)}
.apl-fav-liste li:first-child{border-top:0}
.apl-fav-liste a{flex:1;color:var(--apl-texte);font-weight:700;text-decoration:none}
.apl-fav-liste a:hover{text-decoration:underline}
.apl-fav-type{flex:none;padding:.18rem .45rem;border-radius:6px;background:var(--apl-surface);font:700 .66rem/1 var(--apl-disp);letter-spacing:.05em;text-transform:uppercase;color:var(--apl-doux)}
.apl-fav-retirer{all:unset;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--apl-doux)}
.apl-fav-retirer:hover{background:var(--apl-surface);color:#950714}
.apl-fav-retirer:focus-visible{outline:3px solid rgba(0,28,168,.45)}

/* ── Page /verifier-licence ── */
.apl-v{max-width:560px;margin:0 auto;padding:clamp(1.5rem,5vw,3rem) 16px 3rem;color:var(--apl-texte)}
.apl-v-entete{display:flex;align-items:center;gap:.9rem;margin:0 0 1.4rem}
.apl-v-entete img{width:56px;height:auto;border-radius:12px;background:#fff;padding:5px;box-shadow:0 2px 10px rgba(18,13,22,.15)}
.apl-v-entete p{margin:0;font:800 .78rem/1.2 var(--apl-disp);letter-spacing:.14em;text-transform:uppercase;color:var(--apl-accent)}
.apl-v-entete h1{margin:.2rem 0 0;font:800 clamp(1.5rem,5vw,2rem)/1.1 var(--apl-disp);color:var(--apl-texte)}
.apl-v .apl-v-resultat{display:flex;gap:1rem;align-items:flex-start;padding:1.3rem 1.2rem;border-radius:22px;border:2px solid var(--apl-trait);background:var(--apl-fond);box-shadow:0 18px 40px -24px rgba(25,25,112,.5)}
.apl-v-resultat:focus{outline:none}
.apl-v-sceau{flex:none;width:52px;height:52px}
.apl-v-sceau svg{width:100%;height:100%}
.apl-v-valide{border-color:#001CA8}
.apl-v-valide .apl-v-sceau{color:#001CA8}
.apl-v-expire, .apl-v-falsifie, .apl-v-revoque, .apl-v-erreur{border-color:#950714}
.apl-v-expire .apl-v-sceau, .apl-v-falsifie .apl-v-sceau, .apl-v-revoque .apl-v-sceau, .apl-v-erreur .apl-v-sceau{color:#950714}
.apl-v-titre{margin:0 0 .35rem;font:800 1.35rem/1.15 var(--apl-disp)}
.apl-v-valide .apl-v-titre{color:var(--apl-accent)}
.apl-v-expire .apl-v-titre, .apl-v-falsifie .apl-v-titre, .apl-v-revoque .apl-v-titre, .apl-v-erreur .apl-v-titre{color:#950714}
.apl-v-qui{margin:0 0 .6rem;font-size:1.15rem}
.apl-v-dl{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin:0 0 .6rem}
.apl-v-dl dt{font:700 .7rem/1.2 var(--apl-disp);letter-spacing:.08em;text-transform:uppercase;color:var(--apl-doux)}
.apl-v-dl dd{margin:.15rem 0 0;font:800 1.05rem/1.2 var(--apl-disp);font-variant-numeric:tabular-nums}
.apl-v-msg{margin:0;font-size:.9rem;line-height:1.5;color:var(--apl-doux)}
.apl-v-txt .apl-exemple{margin-bottom:.4rem}
.apl-v-aide{margin:1.4rem 0 0;padding:1rem 1.1rem;border-radius:16px;background:var(--apl-surface);font-size:.9rem;line-height:1.55;color:var(--apl-doux)}
.apl-v-aide a{color:var(--apl-accent);font-weight:700}
.apl-v.apl-sombre .apl-v-valide .apl-v-sceau{color:#9fb0ff}
.apl-v.apl-sombre .apl-v-resultat:not(.apl-v-valide) .apl-v-titre, .apl.apl-sombre .apl-etiq-declare, .apl.apl-sombre .apl-declare{color:#ff8a94}
.apl.apl-sombre .apl-etiq-declare{background:rgba(243,40,55,.16)}

/* Petit écran : les classes se lisent à leur numéro (nom au survol et dans le libellé de la carte), la validité garde sa place. */
@media (max-width:479px){.apl-carte-classes span{display:none}.apl-carte-classes li{padding:.2rem}}
@media (min-width:640px){
  .apl-medailles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .apl-raccourcis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .apl-raccourci{flex-direction:column;align-items:flex-start;text-align:left;padding:1rem}
  .apl-raccourci .apl-ico-fleche{position:absolute;top:1rem;right:1rem}
  .apl-raccourci{position:relative}
  .apl-cases{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1100px){
  .apl-licence{display:grid;grid-template-columns:minmax(0,430px) minmax(0,1fr);column-gap:2.4rem;align-items:start}
  .apl-licence > .apl-tete{grid-column:1 / -1}
  .apl-licence > .apl-scene{grid-column:1;grid-row:2 / span 4;margin:0}
  .apl-licence > :not(.apl-tete):not(.apl-scene){grid-column:2}
  .apl-licence > .apl-actions{justify-content:flex-start;margin-top:0}
  .apl-licence .apl-raccourcis{grid-template-columns:1fr}
  .apl-licence .apl-raccourci{flex-direction:row;align-items:center}
  .apl-licence .apl-raccourci .apl-ico-fleche{position:static}
  .apl-medailles{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
  .apl-carte, .apl-carte-vivante{transition:none;transform:none}
  .apl-carte-holo, .apl-carte-reflet{display:none}
  .apl-medaille.est-neuve .apl-med-svg, .apl-medaille.est-neuve::after, .apl-voile, .apl-qr-feuille, .apl-carte-attente{animation:none}
}

/* Challenge, lot 3 : badges du Challenge dessinés par le serveur (api/_lib/challenge-badges.js) */
.apl-med-ch{display:block;margin:0 auto .4rem}
.apl-med-ch svg{display:block;width:4.5rem;height:4.5rem}
.apl-medaille.est-challenge .apl-med-sous{font-size:.78rem}
.apl-lien{color:var(--apl-klein,#001CA8);text-decoration:underline;text-underline-offset:.15em}
