* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root{
    --main-color: rgb(255, 0, 255);
    --second-color: rgb(252, 157, 252);
    --echec:rgb(165, 1, 1);
}
@keyframes appear {
    from {opacity: 0;} to {opacity: 1;}
}

@font-face {
    font-family: Bilzig; /* ← même nom partout */
    src: url(../fonts/Bilzig-Regular.woff) format('woff');
    font-weight: 400;
}

@font-face {
    font-family: Bilzig; /* ← même nom, variante italic */
    src: url(../fonts/Bilzig-Italic.woff) format('woff');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: Bilzig; /* ← même nom, variante medium */
    src: url(../fonts/Bilzig-Medium.woff) format('woff');
    font-weight: 500;
}

@font-feature-values Bilzig { /* ← correspond maintenant */
    @styleset {
        uncial: 1;
        breton: 2;
    }
}

@font-face {
    font-family: Sinistre;
    src: url(../fonts/Sinistre-Regular.woff2) format('woff2');
}

@font-face {
    font-family: ArrowDrag;
    src: url(../fonts/ArrowDrag-Regular.otf) format('opentype');
}

@font-face {
    font-family: Feroniapi;
    src: url(../fonts/Feroniapi-MediumItalic.woff2) format('woff2');
}


/*header*/ 
header{
   position: fixed;
   top: 0; 
   left: 0;
   margin: 20px;
}

.card{
    display: block;
    margin: 0 auto;
    border: none;
    background: none;
    filter: opacity(80%);

    color: var(--main-color);
    line-height: 23px;
    border: 1px solid var(--main-color);
    border-radius: 15px;
    background-color: var(--second-color);

    cursor: none;
    z-index: 1000;
}
.card:hover{
    filter: brightness(1.25);
}
.card-content{
    padding:10px;
}

.card h2{
    margin:0;
    font-size:22px;
}

.texte-cache{
    display:none;
    margin-top:15px;
    line-height:1.5;
    max-width: 400px;
}

a{  display: inline;
    color: var(--main-color);
    text-decoration: underline;
    cursor: none;
}
a:hover{color: black;} 

/*body*/
html,body { 
    width: 100vw; 
    height: 100vh;   
    display: flex; 
    overflow: hidden;
    justify-content: center; 

    font-family: Bilzig;
    font-feature-settings: "liga" 1;
    font-variant-alternates: styleset(uncial, breton);

    background-size: cover; 
    background-repeat: no-repeat;
    background-attachment: fixed; 
    cursor: none;
}

.cursor {
    width: 52px;
    height: 52px;
    position: fixed;
    pointer-events: none;
    background: url("../img/curseur.svg");
    transform: translate(-50%, -50%);
    z-index: 9999;
}
input{
  cursor: none;
  align-self: center;
  width: 50%;
  padding: 12px;
  box-sizing: border-box;

  border: 2px solid var(--main-color);
  border-radius: 8px;
}

/*button*/  
.btn-continue{
    display: block;
    margin: 0 auto;
    padding: 10px;
    border: none;
    background: none;
    filter: opacity(80%);

    color: var(--main-color);
    font-size: 20px;
    line-height: 23px;
    border: 1px solid var(--main-color);
    border-radius: 15px;
    background-color: var(--second-color);

    cursor: none;

    font-family: Bilzig;

}
.btn-continue:hover{
    filter: brightness(1.25); 
}
.btn-diy{
  background-color:rgb(255, 255, 75); 

}.btn-change{
    display: inline-block;

}
.btn-inline{
    display: inline;
    margin: -10px;
    padding: 10px;

    border: none;
    background: none;

    color: var(--main-color);

    font-size: inherit;
    font-family: inherit;
    line-height: inherit;

    cursor: none;

    text-decoration: underline;
}

.btn-inline:hover{
    filter: brightness(2.5);
}

.btn-restart{
    display: block;
    margin: 0 auto;
    padding: 4px;
    border: none;
    background: none;

    color: var(--echec);
    font-size: 6em;
    font-family: ArrowDrag; 

    cursor: pointer;

    position: fixed;
    right: 1.75vw;
    top: 1.75vw;
    width: 10vw;
    height: 10vw;
    flex-direction: row;
}
.btn-restart:hover{
    filter: brightness(2.25);
}

/*section*/
.carton{
    width: 80vw;
    max-width: 800px;
    /**/
    display: flex;
    flex-direction: column;
    gap: 60px;
}
.carton .carton_texte{
    flex-grow: 1;
    /**/
    padding: 50px 20px 0px 20px;
    font-size: 20px;
    line-height: 23px;
}
#dodogap{
    display: block;
    height: 7em;
}

.paragraph::first-letter {
  -webkit-initial-letter: 3;
  initial-letter: 3;
  padding-right: 10px;
}
.carton .carton_choix{
    padding: 50px 20px;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.carton .carton_choix li{
    list-style: none;
    /**/
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: calc(50% - 20px);
}
.carton#accueil{
    text-align: center;
    align-self: center;
    line-height: 23px;
    margin-top: 0;
    font-size: 20px;
    gap: 30px;
}

.hidden{
    display: none !important;
}

.jetdé{
    padding: 100px 20px;
    display: flex;
    gap: 20px;
    align-self: center;
    list-style-type: none;
}

/*échec*/
.échec {
    max-width: none;
    width: 100vw;
    position: fixed;

    width: 100vw;
    height: 100vh;
    background: black;
    color: var(--echec);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;

    padding: 2vw;
    
    animation: appear 3s;

    font-family: 'Sinistre';
}
.échec p{
    font-size: 10vw;
}

/*personnages*/
.talk{
    margin: 10px auto; /* ← auto pour centrer horizontalement */
    display: block;
    text-align: center;
    font-size: 30px;
    line-height: 33px;
    padding: 10px;
    font-weight: 500;
    max-width: 60%;

}
.soeurs{
    text-shadow: 20px 20px 0px #000000bd, 50px 40px 0px #00000050 ;;
}

.credit{
    margin: 10px auto; /* ← auto pour centrer horizontalement */
    display: block;
    text-align: center;
    font-size: 15px;
    line-height: 18px;
    padding: 10px;
}

#italique{
    font-style: italic;
}

#info{
    font-family: Feroniapi;
    font-weight: 900;
}
#nomJoueur{
    white-space: nowrap;
    display: inline; /* ← ajouter */
}

/*backgrounds*/
.bg-accueil,
.bg-c1,
.bg-c2-1,
.bg-c2-2,
.bg-c3-1,
.bg-c3-1-1,
.bg-c3-1-2,
.bg-c3-1-3,
.bg-c3-1-4,
.bg-c3-2,
.bg-c25-2,
.bg-c26-1,
.bg-c26-2,
.bg-c26-3,
.bg-c27,
.bg-c28{
    background-image: url("../img/fond_etoile_jour.svg");
}

.bg-c4{ background-image:url("../img/porte.svg"),url("../img/fond_etoile_jour.svg");}
.bg-c5,
.bg-c6,
.bg-c12,
.bg-c13,
.bg-c14-1,
.bg-c14-2{
    background-image:url("../img/fond_etoile_bar.svg");}

.bg-c15,
.bg-c16{
    background-image: url("../img/fond_etoile_chambre.svg");
}

.bg-c17,
.bg-c18,
.bg-c19,
.bg-c19-1,
.bg-c19-2,
.bg-c19-3,
.bg-c19-4,
.bg-c20{
    background-image:url("../img/fond_etoile_nuit.svg");
    color: white;}

.bg-c21{
    background-image:url("../img/show.svg"), url("../img/fond_etoile_show.svg");
}
.bg-c22{
    background-image: url("../img/bravo.svg"), url("../img/fond_etoile_show.svg");
}
.bg-c23,
.bg-c24,
.bg-c25-1{
    background-image: url("../img/fond_etoile_show.svg");
}

/*poursuite police*/
#poursuite1{transform: translate(18vw, 3vw); display: inline-block;}
#poursuite2{transform: translate(39vw, 10vw);display: inline-block;}
#poursuite3{transform: translate(45vw, 16vw);display: inline-block;}

#courir1{transform: translate(20vw, -5vw); display: inline-block;}
#courir2{transform: translate(36vw, -10vw); display: inline-block;}
#courir3{transform: translate(46vw, -16vw); display: inline-block;}

/*anxiété*/
.anxiété3{
    text-align: center;
    width: 110vw;
    margin: 0;
    padding: 0;
    position: absolute;
    left:-3vw;
    top:-3vh;

    z-index: 1;
    font-size: 2.1vw;
}
.anxiété4 {
    text-align: center;
    width: 112vw;
    margin: 0;
    padding: 0;
    position: absolute;

    left: 4vw;
    top: -15vw;
    overflow: hidden;
    z-index: 2;

    font-size: 2.7vw;
    line-height: 1em;
    transform-origin: top;
    transform: rotate(20deg) translateX(80px);
}
.anxiété5 {
    text-align: center;
    width: 110vw;
    margin: 0;
    padding: 0;
    position: absolute;
    left: -10vw;
    top: -8vw;
    overflow: hidden;


    font-size: 3.8vw;
    line-height: .7em;
    transform-origin: top;
    transform: rotate(-10deg) scale(1.1);
}
.anxiété6{
    text-align: center;
    width: 110vw;
    margin: 0;
    padding: 0;
    position: absolute;
    left: 11vw;
    top: -16vw;
    overflow: hidden;


    font-size: 5.2vw;
    line-height: .5em;
    transform-origin: top;
    transform: rotate(20deg) scale(1.1);
}
.anxiété7 {
    text-align: center;
    width: 110vw;
    margin: 0;
    padding: 0;
    position: absolute;
    left: -4vw;
    top: 0;
    overflow: hidden;

    z-index: 7;
    font-size: 6vw;
    line-height: .2em;
    transform-origin: top;
    word-spacing: -20px;
}

.anxiété3,
.anxiété4,
.anxiété5,
.anxiété6{
    pointer-events: none;
}
.btn-inline,
.btn-continue{
    pointer-events: auto;
    position: relative;
    z-index: 200;
}

.overlay{
    position: fixed;
    inset: 0;

    z-index: 100;

    display: flex;
    justify-content: center;
    align-items: center;
}

/*version mobile*/
#mobile-warning {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;

    background-color: white;
    background-image: url("../img/fond_etoile_jour.svg");
    background-size: cover;
    background-repeat: no-repeat;

    color: black;
    font-family: Bilzig;
    font-size: 6vw;
    line-height: 1.4;
    text-align: center;

    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 10vw;
}

@media (max-width: 768px) {
    #mobile-warning {
        display: flex;
    }
}