/* AURA — composants du kit v1 (trio noir · blanc chaud · Orange brûlé). À charger après aura-tokens.css. */
@font-face{font-family:"Manrope";src:url(assets/Manrope.ttf) format("truetype");font-weight:200 800;font-display:swap}
@font-face{font-family:"Inter";src:url(assets/Inter.ttf) format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"Cormorant";src:url(assets/CormorantGaramond-Italic.ttf) format("truetype");font-style:italic;font-weight:300 700;font-display:swap}
@property --r{syntax:'<percentage>';inherits:false;initial-value:0%}
/* alias courts utilisés par la démo */
:root{--ink:var(--aura-bg);--ecru:var(--aura-text);--paper:var(--aura-light-card);--sand:var(--aura-accent-text);--taupe:var(--aura-accent-text);--brown:var(--aura-surface);
  --sand-c:var(--aura-accent-c);--ink-c:var(--aura-bg-c);--ease-out:var(--aura-ease-out);--ease-io:var(--aura-ease-io);--onde:var(--aura-onde);--h:var(--aura-h);--b:var(--aura-b);--it:var(--aura-it)}
.it{font-family:var(--aura-it);font-style:italic;font-weight:500;color:var(--aura-accent-text)}

/* Bouton signature : Orange brûlé, texte blanc chaud. Au repos, une onde toutes les 4 s ; au survol, la lumière part du point touché. */
.b-cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:14px;border:0;border-radius:999px;cursor:pointer;
  padding:8px 8px 8px 24px;background:var(--aura-accent);color:var(--aura-on-accent);font:600 16px/1 var(--aura-b);text-decoration:none;
  transition:transform 600ms var(--aura-ease-out),box-shadow 900ms var(--aura-ease-out)}
.b-cta .chip{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--aura-bg);color:var(--aura-text);border-radius:999px;padding:12px 16px;font-weight:600}
.b-cta .chip i{font-style:normal;transition:transform 600ms var(--aura-ease-out)}
.b-cta::before{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;pointer-events:none;z-index:-1;
  background:radial-gradient(circle at var(--x,50%) var(--y,50%),var(--aura-text) 0,var(--aura-accent-text) calc(var(--r) * .6),rgba(var(--aura-accent-c),0) var(--r));
  -webkit-mask:linear-gradient(var(--aura-bg) 0 0) content-box,linear-gradient(var(--aura-bg) 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.b-cta:hover{transform:translateY(-2px);box-shadow:0 18px 50px -16px rgba(var(--aura-accent-c),.8)}
.b-cta:hover::before{animation:bOnde 1400ms var(--aura-ease-out) forwards}
.b-cta:hover .chip i{transform:translateX(4px)}
.b-cta:active{transform:scale(.98)}
.b-cta:focus-visible{outline:2px solid var(--aura-accent-text);outline-offset:5px}
.b-cta.repos::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-2;pointer-events:none;animation:bRepos var(--aura-onde) var(--aura-ease-out) infinite}
@keyframes bOnde{from{--r:0%}to{--r:260%}}
@keyframes bRepos{0%{box-shadow:0 0 0 0 rgba(var(--aura-accent-c),.55)}60%,100%{box-shadow:0 0 34px 6px rgba(var(--aura-accent-c),0)}}
.b-cta.sm{padding:6px 6px 6px 16px;font-size:14px}.b-cta.sm .chip{padding:9px 12px}
/* bouton secondaire */
.b-sec{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--aura-text-2);background:transparent;color:var(--aura-text);border-radius:999px;padding:11px 18px;font:500 14px var(--aura-b);cursor:pointer;text-decoration:none}
.b-sec:hover{border-color:var(--aura-text);background:rgba(var(--aura-text-c),.06)}
/* onglets : l'actif est rempli de l'accent (3,01:1 face au noir ; ne pas le poser sur une surface plus claire) */
.b-tabs{display:flex;gap:4px;padding:5px;border-radius:12px;background:var(--aura-bg);box-shadow:inset 0 0 0 1px var(--aura-line)}
.b-tabs button,.b-tabs a{border:0;background:none;color:var(--aura-text-2);font:500 14px var(--aura-b);padding:9px 14px;border-radius:8px;cursor:pointer;text-decoration:none}
.b-tabs [aria-selected=true],.b-tabs [aria-current]{background:var(--aura-accent);color:var(--aura-on-accent);font-weight:600}
/* lien */
.b-lien{color:var(--aura-text);text-decoration:underline;text-decoration-color:var(--aura-accent-text);text-underline-offset:4px;text-decoration-thickness:2px}
/* progression : l'accent, avec un point lumineux en tête */
.b-progress{height:3px;border-radius:2px;background:var(--aura-light-line)}
.b-progress>i{display:block;height:100%;border-radius:2px;background:var(--aura-accent);position:relative}
.b-progress>i::after{content:"";position:absolute;right:-4px;top:50%;width:8px;height:8px;border-radius:50%;transform:translateY(-50%);background:var(--aura-accent);box-shadow:0 0 10px 3px rgba(var(--aura-accent-c),.55)}
/* champ : contour Orange brûlé à la saisie */
.b-champ{width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--aura-line);background:var(--aura-surface);color:var(--aura-text);font:15px var(--aura-b)}
.b-champ:focus{outline:2px solid var(--aura-accent);outline-offset:1px;border-color:var(--aura-accent)}
/* information */
.b-pos{color:var(--aura-positive)}.b-neg{color:var(--aura-negative)}.b-neg-sm{color:var(--aura-negative-small)}
canvas[data-aura-b]{display:block;width:100%;height:100%}
@media (prefers-reduced-motion:reduce){.b-cta::before,.b-cta.repos::after,.b-progress>i::after{animation:none!important}}
/* zones claires : l'accent en texte prend sa version foncée (4,54:1) */
.on-light .it,.aura-clair .it{color:var(--aura-accent-text-clair)}
