/* =====================================================================
   NOYAU COMMUN — « Apple design » — identique pour les 6 boutons
   • Réponse : le bouton s'enfonce dès l'appui (pointerdown), pas au relâchement ; annulable en glissant hors du bouton.
   • Ressorts : amortissement critique, tout part de la valeur affichée et garde sa vitesse → interruptible à tout instant.
   • Matières : pastilles en verre (backdrop-filter), liseré fin éclairé par le haut, ombre de profondeur au lieu du néon.
   • Typographie : police système (SF Pro sur Apple), approche légèrement négative, casse de phrase.
   • Retenue : ni scanlines, ni viseur, ni poussière, ni onde « Material ». La caméra suit le curseur ; rien ne se
     balance tout seul. Le clic s'épanouit depuis le point touché.
   • Un seul bouton vivant : au repos, aucune animation ; au survol, les autres boutons s'estompent (.is-dimmed).
   • Clic → la carte devient la page (.sn-page, View Transitions) — voir la fin de ce noyau.
   • Accessibilité : prefers-reduced-motion (fondus), prefers-reduced-transparency, prefers-contrast.
   • Dimensions : largeur du conteneur (max 420 px), ratio 297,5 / 57, tout en unités cqw. Le cadre découpe tout.
   Variables à définir par bouton : --accent --accent-rgb --icon --glow --glow-rgb --deep --ink --fx-x --fx-y
   Variables pilotées par le JS   : --pop --press --px --py --kick --flash --gx --gy --camx --camz --rotx --roty
   ===================================================================== */
.sn-btn-wrap{width:min(100%,420px);container-type:inline-size;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.sn-btn-wrap *{box-sizing:border-box}

.sn-btn{
  --px:0;--py:0;--pop:0;--press:0;--gx:50%;--gy:50%;--kick:0;--flash:0;--camx:0;--camz:0;--rotx:0;--roty:0;
  position:relative;display:block;aspect-ratio:297.5/57;border-radius:5.6cqw;
  color:var(--ink);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;
  transform:scale(calc(1 + var(--pop)*.012 - var(--press)*.03));
  /* profondeur : ombre portée qui s'allonge quand le bouton se soulève + lumière émise discrète */
  box-shadow:0 calc(.6cqw + var(--pop)*1.2cqw) calc(2cqw + var(--pop)*3cqw) -.6cqw rgba(0,0,0,.7),
             0 0 calc(2.2cqw + var(--pop)*2.6cqw) rgba(var(--accent-rgb),calc(.24 + var(--pop)*.22))}
.sn-btn{transition:filter .45s cubic-bezier(.2,.8,.2,1)}
.sn-btn.is-dimmed{filter:brightness(.6) saturate(.75)}
/* au repos tout est immobile : les animations CSS ne tournent que quand le bouton est vivant */
.sn-btn:not(.is-live) *,.sn-btn:not(.is-live) *::before,.sn-btn:not(.is-live) *::after{animation:none!important}
.sn-btn:focus-visible{outline:max(2px,.6cqw) solid color-mix(in srgb,var(--accent) 75%,#fff);outline-offset:max(3px,.9cqw)}
.sn-btn__body{position:absolute;inset:0;overflow:hidden;border-radius:inherit;isolation:isolate;background:var(--deep)}

/* ---------- Scène 3D (plans à des profondeurs différentes ; la caméra ne bouge que si tu bouges) ---------- */
.sn-stage{position:absolute;inset:0;perspective:90cqw;perspective-origin:var(--fx-x) 45%;overflow:hidden;pointer-events:none}
.sn-drift{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:var(--fx-x) 50%}
.sn-scene{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:var(--fx-x) 50%;
  transform:translate3d(calc(var(--camx)*1cqw),0,calc(var(--camz)*1cqw)) rotateX(calc(var(--rotx)*1deg)) rotateY(calc(var(--roty)*1deg))}
.sn-plane{position:absolute;inset:0;pointer-events:none;transform-origin:var(--fx-x) 45%}
.sn-plane img{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none}
.sn-plane--far::before{content:"";position:absolute;inset:-10%;background:var(--bgimg) center/cover no-repeat;filter:blur(7px)}
.sn-plane--pad img{inset:auto;left:-12%;top:-12%;width:124%;height:124%}

/* ---------- Couches de lumière et de matière (créées par le JS) ---------- */
.sn-fx{position:absolute;pointer-events:none}
/* voile de lisibilité derrière l'icône et le titre (comme un « scroll edge effect ») */
.sn-fx-scrim{inset:0;z-index:4;background:linear-gradient(90deg,rgba(0,0,0,.72) 0,rgba(0,0,0,.5) 34%,rgba(0,0,0,.18) 50%,transparent 62%)}
/* reflet spéculaire doux qui suit le curseur */
.sn-fx-spot{inset:0;z-index:3;opacity:var(--pop);mix-blend-mode:screen;
  background:radial-gradient(circle 28cqw at var(--gx) var(--gy),rgba(var(--glow-rgb),.16),transparent 70%)}
.sn-fx-flash{inset:0;z-index:4;opacity:calc(var(--flash)*.22);mix-blend-mode:screen;
  background:radial-gradient(circle at var(--fx-x) var(--fx-y),rgba(255,255,255,.9),rgba(var(--glow-rgb),.5) 40%,transparent 78%)}
/* liseré : hairline teinté, plus clair en haut (la lumière accroche le bord), qui s'intensifie au survol */
.sn-fx-rim{inset:0;z-index:6;border-radius:inherit;padding:max(1px,.32cqw);
  background:linear-gradient(180deg,rgba(255,255,255,calc(.32 + var(--pop)*.28)),rgba(var(--accent-rgb),calc(.5 + var(--pop)*.5)) 40%,rgba(var(--accent-rgb),calc(.3 + var(--pop)*.5)));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
/* clic : la lumière s'épanouit depuis le point touché (pas d'anneaux durs) */
.sn-fx-burst{left:var(--bx,var(--fx-x));top:var(--by,var(--fx-y));width:34cqw;aspect-ratio:1;z-index:3;border-radius:50%;opacity:0;
  transform:translate(-50%,-50%) scale(.3);mix-blend-mode:screen;
  background:radial-gradient(closest-side,rgba(255,255,255,.5),rgba(var(--glow-rgb),.32) 45%,transparent)}
.sn-fx-burst.is-on{animation:snBurst .7s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes snBurst{0%{opacity:.85;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.6)}}
.sn-fx-pop{z-index:3;width:.6cqw;height:.6cqw;border-radius:50%;background:#fff;box-shadow:0 0 .9cqw .15cqw var(--glow);
  animation:snPop .9s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes snPop{from{transform:translate(0,0) scale(1);opacity:.9}to{transform:translate(var(--dx),var(--dy)) scale(.4);opacity:0}}

/* ---------- Icône, titre, flèche : même gabarit partout, rayons concentriques avec le cadre ---------- */
.sn-btn__icon{position:absolute;z-index:7;left:2.9cqw;top:50%;width:13.4cqw;height:13.4cqw;display:grid;place-items:center;
  border-radius:2.7cqw;color:var(--icon);
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
  -webkit-backdrop-filter:blur(1.8cqw) saturate(180%);backdrop-filter:blur(1.8cqw) saturate(180%);
  box-shadow:inset 0 0 0 max(1px,.25cqw) rgba(255,255,255,.14),inset 0 max(1px,.25cqw) 0 rgba(255,255,255,.2),0 .8cqw 2cqw rgba(0,0,0,.35);
  transform:translateY(-50%)}
.sn-btn__icon svg{width:58%;height:58%;overflow:visible;filter:drop-shadow(0 0 .8cqw rgba(var(--glow-rgb),.45))}
.sn-btn__title{position:absolute;z-index:7;left:21.2cqw;top:50%;font-weight:600;font-size:var(--title-size,4cqw);line-height:1;white-space:nowrap;
  letter-spacing:-.012em;text-shadow:0 .15cqw .8cqw rgba(0,0,0,.6);transform:translateY(-50%)}
.sn-btn__sub{position:absolute;z-index:7;left:21.2cqw;top:50%;font-weight:500;font-size:2.55cqw;line-height:1;white-space:nowrap;
  letter-spacing:0;opacity:.72;text-shadow:0 .15cqw .8cqw rgba(0,0,0,.6);transform:translateY(calc(-50% + 3cqw))}
.sn-btn__body:has(.sn-btn__sub) .sn-btn__title{transform:translateY(calc(-50% - 1.7cqw))}
.sn-btn__arrow{position:absolute;z-index:7;right:3.4cqw;top:50%;width:12.4cqw;height:12.4cqw;display:grid;place-items:center;border-radius:50%;
  color:color-mix(in srgb,var(--arrow-ink,#fff) calc(var(--pop)*100%),#fff);
  background:color-mix(in srgb,var(--accent) calc(var(--pop)*100%),rgba(255,255,255,.1));
  -webkit-backdrop-filter:blur(1.8cqw) saturate(180%);backdrop-filter:blur(1.8cqw) saturate(180%);
  box-shadow:inset 0 0 0 max(1px,.25cqw) rgba(255,255,255,.14),inset 0 max(1px,.25cqw) 0 rgba(255,255,255,.22),
             0 .8cqw 2cqw rgba(0,0,0,.35),0 0 calc(var(--pop)*2.4cqw) rgba(var(--accent-rgb),.6);
  transform:translate(calc(var(--pop)*.6cqw),-50%)}
/* la flèche pointe vers la destination : elle avance un peu plus au survol */
.sn-btn__arrow svg{width:46%;height:46%;transform:translateX(calc(var(--pop)*.35cqw))}

/* ---------- Accessibilité ---------- */
@media (prefers-reduced-motion:reduce){
  .sn-btn{transform:none;transition:transform .1s ease-out,box-shadow .25s ease,filter .25s ease}
  .sn-btn:active{transform:scale(.98)}
  .sn-btn__arrow{transition:background-color .25s ease,color .25s ease}
  .sn-btn:is(:hover,:focus-visible) .sn-btn__arrow{background:var(--accent);color:var(--arrow-ink,#fff)}
  .sn-fx-burst,.sn-fx-pop{display:none}
}
@media (prefers-reduced-transparency:reduce){
  .sn-btn__icon,.sn-btn__arrow{-webkit-backdrop-filter:none;backdrop-filter:none}
  .sn-btn__icon{background:rgb(20,20,24)}
  .sn-btn__arrow{background:color-mix(in srgb,var(--accent) calc(var(--pop)*100%),rgb(20,20,24))}
}
@media (prefers-contrast:more){
  .sn-btn__icon{background:#000;box-shadow:inset 0 0 0 2px #fff}
  .sn-btn__arrow{box-shadow:inset 0 0 0 2px #fff}
  .sn-fx-scrim{background:linear-gradient(90deg,rgba(0,0,0,.8) 0,rgba(0,0,0,.6) 45%,transparent 65%)}
}

/* ---------- Page : la carte devient la page (clic) ---------- */
html.sn-page-open{overflow:hidden}
.sn-page.sn-btn-wrap{position:fixed;inset:0;z-index:1000;width:auto;container-type:normal;color:var(--ink);
  background:radial-gradient(120% 70% at 50% 0%,rgba(var(--accent-rgb),.2),transparent 62%),var(--deep)}
.sn-page__scroll{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.sn-page__hero{padding:76px 16px 0}
.sn-page__frame.sn-btn-wrap{width:min(100%,1100px);margin:0 auto}
.sn-page__frame .sn-btn{cursor:default;pointer-events:none;transform:none}
.sn-page__frame .sn-btn__arrow{opacity:0}
.sn-page__content{max-width:720px;margin:0 auto;padding:44px 20px 96px;animation:snRise .55s .12s cubic-bezier(.2,.8,.2,1) both}
@keyframes snRise{from{opacity:0;transform:translateY(18px)}}
.sn-page__title{margin:0;font-size:clamp(2rem,6vw,3.25rem);font-weight:700;line-height:1.05;letter-spacing:-.022em}
.sn-page__lead{margin:.7rem 0 0;font-size:1.125rem;line-height:1.5;opacity:.72}
.sn-page__body{display:grid;gap:14px;margin-top:2.2rem}
.sn-page__card{padding:20px 22px;border-radius:18px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.sn-page__card h2{margin:0 0 .35rem;font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;color:var(--icon)}
.sn-page__card p{margin:0;font-size:.98rem;line-height:1.6;opacity:.78}
.sn-page__close{position:fixed;top:16px;right:16px;z-index:2;width:44px;height:44px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;
  color:#fff;cursor:pointer;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 6px 20px rgba(0,0,0,.35);transition:transform .1s ease-out,background-color .2s ease}
.sn-page__close:hover{background:rgba(255,255,255,.2)}
.sn-page__close:active{transform:scale(.94)}
.sn-page__close:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 75%,#fff);outline-offset:3px}
.sn-page__close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.sn-page.is-fading-in{animation:snFade .25s ease both}
.sn-page.is-fading-out{animation:snFade .2s ease reverse both}
@keyframes snFade{from{opacity:0}}
/* la morphose bouton ↔ page : courbe « ressort » sans rebond */
::view-transition-group(sn-hero){animation-duration:.52s;animation-timing-function:cubic-bezier(.2,.85,.25,1)}
::view-transition-old(sn-hero),::view-transition-new(sn-hero){height:100%;animation-duration:.52s}
/* grand écran : l'en-tête porte déjà le titre — le titre texte reste pour les lecteurs d'écran, sans doublon visuel */
@media (min-width:700px){
  .sn-page__title,.sn-page__lead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .sn-page__body{margin-top:0}
}
@media (prefers-reduced-motion:reduce){.sn-page__content{animation:none}}
@media (prefers-reduced-transparency:reduce){.sn-page__close{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgb(30,30,34)}}
/* ===================== FIN DU NOYAU COMMUN — ci-dessous : ce qui est propre à ce bouton ===================== */

.sn-btn-wrap{--accent:#ff7a1a;--accent-rgb:255,122,26;--icon:#ff9a3a;--glow:#ffb060;--glow-rgb:255,176,96;--deep:#080301;--ink:#fff8f0;--fx-x:73.4%;--fx-y:87%}
.sn-btn{--trl:0}

/* fond (z = -12cqw, agrandi pour garder la taille d'origine) : grille, anneaux du sol */
.sn-plane--far{--bgimg:url(assets/sn-bg-HD.webp);transform:translateZ(-12cqw) scale(1.1333);overflow:hidden;background:#080301}
.sn-plane--far .sn-bg{filter:brightness(calc(1 + var(--pop)*.22)) saturate(calc(1 + var(--pop)*.15))}
.sn-ring{position:absolute;left:73.4%;top:87%;width:30cqw;height:7.4cqw;margin:-3.7cqw 0 0 -15cqw;border-radius:50%;opacity:0;
  border:max(1px,.4cqw) solid var(--glow);box-shadow:0 0 1.6cqw var(--accent),inset 0 0 1.6cqw rgba(var(--accent-rgb),.7)}
.sn-btn.is-on .sn-ring{animation:snRing 3s cubic-bezier(.2,.7,.3,1) infinite}
.sn-ring:nth-of-type(2){animation-delay:1s!important}.sn-ring:nth-of-type(3){animation-delay:2s!important}
@keyframes snRing{0%{opacity:.45;transform:scale(.2)}100%{opacity:0;transform:scale(1.15)}}
/* détails : enveloppes, traînées, étincelles (z = +5cqw) */
.sn-plane--details{transform:translateZ(5cqw) scale(.9444)}
.sn-plane--details img{filter:brightness(calc(1 + var(--pop)*.3))}
/* l'enveloppe-avion (z = +9cqw) */
.sn-plane--fly{transform:translateZ(9cqw) scale(.9)}
/* plus aucun frémissement : l'avion est immobile au repos */
.sn-tremble{position:absolute;inset:0}
.sn-craft{--tx:0;--ty:0;--tz:0;--rz:0;--k:1;--o:1;--st:1;--bl:0;position:absolute;inset:0;transform-origin:73.3% 43.5%;opacity:var(--o);
  /* étirement de vitesse dans l'axe du nez (−29°) : la rotation nette est nulle, l'image ne tourne jamais */
  transform:translate3d(calc(var(--tx)*1cqw),calc(var(--ty)*1cqw),calc(var(--tz)*1cqw)) rotate(calc(var(--rz)*1deg)) rotate(-29deg) scaleX(var(--st)) rotate(29deg) scale(var(--k));
  filter:brightness(calc(1 + var(--pop)*.12 + var(--flash)*.2)) saturate(calc(1 + var(--pop)*.15)) blur(calc(var(--bl)*.1cqw))}
/* traînée courbe laissée pendant l'envol (particules créées par le JS) */
.sn-trail{position:absolute;inset:0}
.sn-trail i{position:absolute;left:0;top:0;width:5cqw;height:.28cqw;margin:-.14cqw 0 0 -2.5cqw;border-radius:1cqw;opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,122,26,.7) 50%,#ffe2b8);box-shadow:0 0 .8cqw rgba(255,122,26,.6)}
@media (prefers-reduced-motion:reduce){.sn-tremble,.sn-btn.is-on .sn-ring{animation:none!important}.sn-ring{display:none}}

/* ---------- Page « Envoyer une note » : formulaire ---------- */
.sn-form{display:grid;gap:16px}
.sn-form__field{display:grid;gap:8px;font-size:.95rem;font-weight:500}
.sn-form__field span{opacity:.75}
.sn-form input,.sn-form textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);padding:14px 16px;border:0;border-radius:14px;resize:vertical;
  background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:box-shadow .2s ease,background-color .2s ease}
.sn-form input:focus,.sn-form textarea:focus{outline:none;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 2px var(--accent)}
.sn-form__send{justify-self:start;font:inherit;font-weight:600;font-size:1rem;color:#1a0b00;padding:13px 22px;border:0;border-radius:999px;cursor:pointer;
  background:var(--accent);box-shadow:0 8px 24px rgba(var(--accent-rgb),.35);transition:transform .1s ease-out,filter .2s ease}
.sn-form__send:hover{filter:brightness(1.08)}
.sn-form__send:active{transform:scale(.97)}
.sn-form__send:focus-visible{outline:2px solid #fff;outline-offset:3px}
.sn-form__ok{margin:0;min-height:1.4em;opacity:.85}

/* ===================== MODE JOUR + LANGUES (commun aux 6 boutons) =====================
   Mode jour (html[data-theme="light"], activé par la lampe du hero) : carte blanche, la scène s'éclaire et se fond
   dans la lumière à gauche, texte foncé, icône et flèche en verre blanc. Les animations ne changent pas.
   ===================================================================================== */
:root[data-theme="light"] .sn-btn-wrap{--ink:#141a2e}
:root[data-theme="light"] .sn-btn{
  box-shadow:0 calc(.6cqw + var(--pop)*1.2cqw) calc(2.4cqw + var(--pop)*3cqw) -.6cqw rgba(13,19,48,.18),
             0 0 calc(1.6cqw + var(--pop)*2.4cqw) rgba(var(--accent-rgb),calc(.14 + var(--pop)*.18))}
:root[data-theme="light"] .sn-btn.is-dimmed{filter:saturate(.75) opacity(.62)}
:root[data-theme="light"] .sn-btn__body{background:linear-gradient(180deg,#fff,#f4f6fb)}
/* la scène : plus lumineuse, et fondue vers le blanc côté texte */
:root[data-theme="light"] .sn-btn__body:not([data-day]) > :not(.sn-btn__icon,.sn-btn__title,.sn-btn__sub,.sn-btn__arrow,.sn-fx){
  filter:brightness(1.18) saturate(1.05);
  -webkit-mask-image:linear-gradient(90deg,transparent 30%,rgba(0,0,0,.5) 50%,#000 68%);mask-image:linear-gradient(90deg,transparent 30%,rgba(0,0,0,.5) 50%,#000 68%)}
:root[data-theme="light"] .sn-fx-scrim{background:linear-gradient(90deg,rgba(255,255,255,.96) 0,rgba(255,255,255,.8) 42%,transparent 66%)}
:root[data-theme="light"] .sn-fx-spot{mix-blend-mode:normal;opacity:calc(var(--pop)*.5)}
:root[data-theme="light"] .sn-fx-rim{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(var(--accent-rgb),calc(.35 + var(--pop)*.45)) 40%,rgba(var(--accent-rgb),calc(.25 + var(--pop)*.45)))}
:root[data-theme="light"] .sn-btn__title{color:var(--ink);text-shadow:none}
:root[data-theme="light"] .sn-btn__sub{color:var(--ink);opacity:.62;text-shadow:none}
:root[data-theme="light"] .sn-btn__icon{color:color-mix(in srgb,var(--accent) 78%,#000);
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.75));
  box-shadow:inset 0 0 0 max(1px,.25cqw) rgba(var(--accent-rgb),.32),0 .6cqw 1.6cqw rgba(13,19,48,.10)}
:root[data-theme="light"] .sn-btn__icon svg{filter:none}
:root[data-theme="light"] .sn-btn__arrow{color:color-mix(in srgb,var(--arrow-ink,#fff) calc(var(--pop)*100%),#141a2e);
  background:color-mix(in srgb,var(--accent) calc(var(--pop)*100%),rgba(255,255,255,.88));
  box-shadow:inset 0 0 0 max(1px,.25cqw) rgba(var(--accent-rgb),.32),0 .6cqw 1.6cqw rgba(13,19,48,.12),0 0 calc(var(--pop)*2.4cqw) rgba(var(--accent-rgb),.45)}
/* la page ouverte au clic, en version jour */
:root[data-theme="light"] .sn-page.sn-btn-wrap{background:radial-gradient(120% 70% at 50% 0%,rgba(var(--accent-rgb),.14),transparent 62%),#f4f6fb}
:root[data-theme="light"] .sn-page__card{background:#fff;box-shadow:inset 0 0 0 1px rgba(13,19,48,.08),0 6px 18px rgba(13,19,48,.06)}
:root[data-theme="light"] .sn-page__card h2{color:color-mix(in srgb,var(--accent) 75%,#000)}
:root[data-theme="light"] .sn-page__close{color:#141a2e;background:rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px rgba(13,19,48,.1),0 6px 20px rgba(13,19,48,.12)}
@media (prefers-reduced-transparency:reduce){ :root[data-theme="light"] .sn-btn__icon,:root[data-theme="light"] .sn-btn__arrow{background:#fff} }
@media (prefers-contrast:more){ :root[data-theme="light"] .sn-btn__icon,:root[data-theme="light"] .sn-btn__arrow{box-shadow:inset 0 0 0 2px #141a2e} }
/* boutons qui ont leurs images de jour (data-day) : le fond devient blanc, la scène garde ses couleurs */
:root[data-theme="light"] .sn-btn__body[data-day]{background:#fff}
:root[data-theme="light"] .sn-btn__body[data-day] .sn-fx-scrim{background:linear-gradient(90deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.66) 34%,rgba(255,255,255,.2) 50%,transparent 62%)}
:root[data-theme="light"] .sn-btn__body[data-day] .sn-fx-flash,:root[data-theme="light"] .sn-btn__body[data-day] .sn-fx-burst{mix-blend-mode:multiply;opacity:calc(var(--flash)*.12)}
/* arabe : la flèche pointe dans le sens de lecture */
.sn-btn:dir(rtl) .sn-btn__arrow svg{transform:scaleX(-1) translateX(calc(var(--pop)*.35cqw))}
/* envoyer une note : fond blanc, anneaux et traînée orangés conservés */
:root[data-theme="light"] .sn-plane--far{background:#fff;--bgimg:url(assets/sn-bg-HD-day.webp)}
