/* Écran de chargement : logo Canaan Mining qui se dessine (repris de la plateforme Canaan Mining) */
.intro-loader{--e:cubic-bezier(.16,1,.3,1);--azur:#0281C2;--green:#66B245}
.intro-loader{position:fixed;inset:0;z-index:300;display:grid;place-items:center;
  overflow:hidden;background:#fff;opacity:1;visibility:visible;
  transition:opacity .45s var(--e),visibility .45s}
.intro-loader[hidden]{display:none}
.intro-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.intro-loader__content{width:min(100% - 40px,300px);display:flex;flex-direction:column;
  align-items:center;text-align:center}
.intro-loader__mark{position:relative;width:min(280px,70vw);aspect-ratio:840/790;margin-bottom:24px}
.intro-loader__mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  opacity:0;animation:introLogoFill .35s 1.5s var(--e) forwards}
.intro-loader__draw{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.intro-loader__draw path{fill:none;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:1;stroke-dashoffset:1;animation:introLogoDraw 1.05s var(--e) forwards}
.intro-loader__draw .draw-sky{stroke:#a9cce5;animation-delay:.02s}
.intro-loader__draw .draw-green{stroke:#63ae45;animation-delay:.16s}
.intro-loader__draw .draw-blue{stroke:#0789c5;animation-delay:.3s}
.intro-loader__draw .draw-ground{stroke:#0789c5;animation-delay:.44s}
.intro-loader__shine{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.intro-loader__shine::after{content:"";position:absolute;inset:-35% auto -35% -45%;width:24%;
  transform:skewX(-22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);
  mix-blend-mode:screen;animation:introLogoShine .7s 2.05s ease-out both}
.intro-loader__caption{font-size:10px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:#526579;opacity:0;animation:introCaption .35s 1.75s ease forwards}
.intro-loader__track{width:min(220px,68vw);height:3px;margin-top:17px;
  overflow:hidden;background:#dbe4ec}
.intro-loader__track span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,var(--azur),var(--green));
  animation:introProgress 3s linear forwards}
@keyframes introLogoDraw{to{stroke-dashoffset:0}}
@keyframes introLogoFill{to{opacity:1}}
@keyframes introLogoShine{0%{left:-45%}100%{left:130%}}
@keyframes introCaption{to{opacity:1}}
@keyframes introProgress{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){
  .intro-loader__draw path,.intro-loader__mark img,.intro-loader__shine::after,
  .intro-loader__caption,.intro-loader__track span{animation:none!important}
  .intro-loader__draw{display:none}
  .intro-loader__mark img,.intro-loader__caption{opacity:1}
  .intro-loader__track span{transform:none}
  .intro-loader{transition:none}
}
/* adaptation à l'application : masquage progressif piloté par le script */
.intro-loader{z-index:500}
.intro-loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
