.tns-outer{padding:0 !important}.tns-outer [hidden]{display:none !important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-slider{-webkit-transition:all 0s;-moz-transition:all 0s;transition:all 0s}.tns-slider>.tns-item{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:"";display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left}.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item{margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;-webkit-transition:transform 0s,opacity 0s;-moz-transition:transform 0s,opacity 0s;transition:transform 0s,opacity 0s}.tns-gallery>.tns-slide-active{position:relative;left:auto !important}.tns-gallery>.tns-moving{-webkit-transition:all .25s;-moz-transition:all .25s;transition:all .25s}.tns-autowidth{display:inline-block}.tns-lazy-img{-webkit-transition:opacity .6s;-moz-transition:opacity .6s;transition:opacity .6s;opacity:.6}.tns-lazy-img.tns-complete{opacity:1}.tns-ah{-webkit-transition:height 0s;-moz-transition:height 0s;transition:height 0s}.tns-ovh{overflow:hidden}.tns-visually-hidden{position:absolute;left:-10000em}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;filter:alpha(opacity=100);z-index:0}.tns-normal,.tns-fadeOut{opacity:0;filter:alpha(opacity=0);z-index:-1}.tns-vpfix{white-space:nowrap}.tns-vpfix>div,.tns-vpfix>li{display:inline-block}.tns-t-subp2{margin:0 auto;width:310px;position:relative;height:10px;overflow:hidden}.tns-t-ct{width:2333.3333333333%;width:-webkit-calc(100% * 70 / 3);width:-moz-calc(100% * 70 / 3);width:calc(100% * 70 / 3);position:absolute;right:0}.tns-t-ct:after{content:"";display:table;clear:both}.tns-t-ct>div{width:1.4285714286%;width:-webkit-calc(100% / 70);width:-moz-calc(100% / 70);width:calc(100% / 70);height:10px;float:left}.background span{width:20vmin;height:20vmin;border-radius:20vmin;backface-visibility:hidden;opacity:.5;position:absolute;animation-name:move;animation-duration:6s;animation-timing-function:linear;animation-iteration-count:infinite}.background span:nth-child(1){color:#EF3B21;top:3%;left:36%;animation-duration:15.5s;animation-delay:-6s;transform-origin:23vw 49vh;box-shadow:40vmin 0 22.0735178494vmin currentColor}.background span:nth-child(2){color:#EF3B21;top:99%;left:73%;animation-duration:14.1s;animation-delay:-14s;transform-origin:25vw 34vh;box-shadow:40vmin 0 18.0657295478vmin currentColor}.background span:nth-child(3){color:#EF3B21;top:12%;left:60%;animation-duration:10.2s;animation-delay:-1s;transform-origin:13vw 1vh;box-shadow:40vmin 0 30.5717400925vmin currentColor}.background span:nth-child(4){color:#EF3B21;top:41%;left:64%;animation-duration:15.2s;animation-delay:-3s;transform-origin:38vw 34vh;box-shadow:40vmin 0 30.951324848vmin currentColor}.background span:nth-child(5){color:#EF3B21;top:99%;left:81%;animation-duration:10.5s;animation-delay:-11s;transform-origin:17vw 14vh;box-shadow:-40vmin 0 28.9781569277vmin currentColor}.background span:nth-child(6){color:#EF3B21;top:44%;left:35%;animation-duration:12s;animation-delay:-5s;transform-origin:29vw 28vh;box-shadow:40vmin 0 32.2096715417vmin currentColor}.background span:nth-child(7){color:#EF3B21;top:12%;left:17%;animation-duration:14.8s;animation-delay:-15s;transform-origin:22vw 49vh;box-shadow:-40vmin 0 20.0640522914vmin currentColor}.background span:nth-child(8){color:#EF3B21;top:83%;left:11%;animation-duration:11.7s;animation-delay:-4s;transform-origin:20vw 29vh;box-shadow:40vmin 0 30.3746340755vmin currentColor}.background span:nth-child(9){color:#EF3B21;top:16%;left:38%;animation-duration:11.1s;animation-delay:-5s;transform-origin:31vw 43vh;box-shadow:40vmin 0 27.1095306697vmin currentColor}.background span:nth-child(10){color:#EF3B21;top:2%;left:32%;animation-duration:13.8s;animation-delay:-4s;transform-origin:48vw 30vh;box-shadow:40vmin 0 33.5972548953vmin currentColor}.background span:nth-child(11){color:#EF3B21;top:23%;left:7%;animation-duration:12.7s;animation-delay:-13s;transform-origin:7vw 9vh;box-shadow:-40vmin 0 19.5058750122vmin currentColor}.background span:nth-child(12){color:#EF3B21;top:68%;left:86%;animation-duration:11s;animation-delay:-3s;transform-origin:45vw 20vh;box-shadow:-40vmin 0 28.7495057209vmin currentColor}.background span:nth-child(13){color:#EF3B21;top:94%;left:80%;animation-duration:15.9s;animation-delay:-9s;transform-origin:27vw 42vh;box-shadow:-40vmin 0 22.0675244917vmin currentColor}.background span:nth-child(14){color:#EF3B21;top:31%;left:80%;animation-duration:13.7s;animation-delay:-13s;transform-origin:15vw 41vh;box-shadow:-40vmin 0 19.2092008569vmin currentColor}.background span:nth-child(15){color:#EF3B21;top:77%;left:79%;animation-duration:11.6s;animation-delay:-16s;transform-origin:38vw 20vh;box-shadow:-40vmin 0 18.8014757355vmin currentColor}.background span:nth-child(16){color:#EF3B21;top:65%;left:80%;animation-duration:15.5s;animation-delay:-2s;transform-origin:27vw 8vh;box-shadow:-40vmin 0 31.3577432859vmin currentColor}.background span:nth-child(17){color:#EF3B21;top:88%;left:96%;animation-duration:13.1s;animation-delay:-12s;transform-origin:8vw 15vh;box-shadow:40vmin 0 33.8478408097vmin currentColor}.background span:nth-child(18){color:#EF3B21;top:42%;left:90%;animation-duration:14.4s;animation-delay:-6s;transform-origin:20vw 44vh;box-shadow:-40vmin 0 24.1118644396vmin currentColor}.background span:nth-child(19){color:#EF3B21;top:12%;left:88%;animation-duration:12.1s;animation-delay:-15s;transform-origin:1vw 38vh;box-shadow:-40vmin 0 21.4092436013vmin currentColor}.background span:nth-child(20){color:#EF3B21;top:33%;left:62%;animation-duration:14.8s;animation-delay:-16s;transform-origin:34vw 34vh;box-shadow:-40vmin 0 32.4158777579vmin currentColor}@keyframes move{100%{transform:translate3d(0, 0, 1px) rotate(360deg)}}


/* =====================================================================
   Chemin Neuf Young Adults (CNJI) - brand overrides
   Applied 2026-09-14. Source: charte-graphique-ccn, references/cnji.md
   (logo refonte Nov 2025, delivered set, 9 languages).

   Uses ONLY documented CNJI colours: red #EF3B21, black #1D1D1B, white.
   The youth-mission palette beyond these is still under arbitration
   (Charte graphique MJ 2025-2026), so nothing here is invented.

   This file is served AFTER app.css. Claper declares its DaisyUI theme on
   :where(:root) (zero specificity) and every utility reads var(--color-*),
   so overriding the tokens rebrands the whole UI, audience view included.
   ===================================================================== */
:root,
html,
:root:has(input.theme-controller[value=claper]:checked),
[data-theme=claper] {
  --color-primary: #EF3B21;          /* CNJI red */
  --color-primary-content: #FFFFFF;
  --color-secondary: #1D1D1B;        /* CNJI black */
  --color-secondary-content: #FFFFFF;
  --color-accent: #1D1D1B;
  --color-accent-content: #FFFFFF;
  --color-neutral: #1D1D1B;
  --color-neutral-content: #FFFFFF;
  --color-base-content: #1D1D1B;     /* body ink matches the logo black */
}

/* Tailwind colour ramps. Claper uses BOTH the DaisyUI semantic token
   (--color-primary) and a numbered scale (text-primary-300, bg-primary-600...).
   The scale is what was leaving purple links and labels behind, so it is
   re-anchored on CNJI red #EF3B21 at 500, tinted to white / shaded to black
   following the shape of Claper's original ramp. */
:root, html, [data-theme=claper] {
  --color-primary-50: #FEEFED;
  --color-primary-100: #FCD8D3;
  --color-primary-200: #F9B1A6;
  --color-primary-300: #F5897A;
  --color-primary-400: #F2604B;
  --color-primary-500: #EF3B21;
  --color-primary-600: #BF2F1A;
  --color-primary-700: #8F2314;
  --color-primary-800: #60180D;
  --color-primary-900: #350D07;
  --color-secondary-500: #1D1D1B;   /* CNJI black */
}

/* ---------------------------------------------------------------------
   Surfaces Claper hardcodes outside the token system.

   1. The join page (what every attendee lands on) sets its background in an
      inline <style> that is emitted AFTER this file, so `html body` is used
      to win on specificity rather than source order.
   2. `.btn-gradient` reads var(--color-cyan-500) for its first stop - Claper's
      former identity ran cyan -> purple. Repointing the cyan tokens turns both
      that button and the cyan links red without touching utility classes.

   CNJI allows a gradient, but the multicolour family (orange/magenta/violet/
   turquoise/red) is NOT yet arbitrated, so everything below stays inside the
   documented red #EF3B21 and black #1D1D1B.
   --------------------------------------------------------------------- */
html body {
  background:
    radial-gradient(circle at top, rgba(239, 59, 33, 0.20), transparent 35%),
    radial-gradient(circle at bottom left, rgba(239, 59, 33, 0.08), transparent 30%),
    linear-gradient(180deg, #1D1D1B 0%, #0E0E0D 100%);
}

:root, html, [data-theme=claper] {
  --color-cyan-500: #F2604B;   /* gradient first stop  (primary-400) */
  --color-cyan-400: #EF3B21;   /* "Start creating for free" link      */
  --color-cyan-300: #F5897A;   /* its hover                           */
}