*{box-sizing:border-box;}
html,body{margin:0;height:100%;overflow:hidden;background:#120c07;
  -webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;
  -webkit-text-size-adjust:100%;}

/* Plein écran kiosque : la scène est dessinée à sa taille native 2560x1440 et
   mise à l'échelle pour remplir l'écran (fidélité pixel de la maquette). */
#viewport{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
  background:#120c07;}
#stage{width:2560px;height:1440px;flex-shrink:0;position:relative;overflow:hidden;
  display:flex;color:#efe6d3;font-family:'Cormorant Garamond',serif;
  background:radial-gradient(125% 95% at 50% -15%,#241a11 0%,#18110a 72%);
  transform:scale(var(--s,1));transform-origin:center center;}

/* Zone de contenu (à droite de la barre latérale) : les panneaux y sont empilés
   et restent montés (l'état d'un onglet est conservé quand on bascule). */
#content{position:relative;flex:1;min-width:0;}
.panel{position:absolute;inset:0;display:none;}
.panel.active{display:flex;flex-direction:column;}

/* Barre latérale : éléments cliquables. */
.nav-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;
  padding:17px 0;color:#8a7c64;cursor:pointer;transition:color .12s;}
.nav-item:hover{color:#c9bfa6;}
.nav-item.active{color:#f0e7d4;background:rgba(207,168,86,0.07);}
.nav-item .nav-bar{position:absolute;left:0;top:10px;bottom:10px;width:3px;background:#cfa856;
  border-radius:0 2px 2px 0;display:none;}
.nav-item.active .nav-bar{display:block;}

/* Interactions tactiles génériques. */
.tap{cursor:pointer;}
.tap:active{transform:scale(0.99);}

/* Ascenseurs discrets dans les listes longues. */
.scrolly{overflow-y:auto;}
.scrolly::-webkit-scrollbar{width:8px;}
.scrolly::-webkit-scrollbar-thumb{background:rgba(207,168,86,0.25);border-radius:8px;}
.scrolly::-webkit-scrollbar-track{background:transparent;}

/* Overlays (modales) couvrant toute la scène. */
.overlay{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;}

input,textarea,button{font-family:inherit;}
.pl-input::placeholder{color:#6f6450;opacity:1;}
.pl-input:focus{outline:none;border-color:#cfa856 !important;}
