:root{--encre: #211a12;--encre-douce: #3a2e22;--velin: #e8dcc0;--velin-vif: #f6eeda;--laiton: #b98a3c;--laiton-clair: #d9ac5e;--mousse: #4e6b3c;--brume: #9fb4c4;--alerte: #a8452b;--titre: "Cormorant Garamond", Georgia, "Times New Roman", serif;--texte: "Alegreya Sans", ui-sans-serif, system-ui, "Segoe UI", sans-serif;--marge: clamp(20px, 6vw, 40px);--bas: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box}html,body,#racine{height:100%}body{margin:0;background:var(--encre);color:var(--velin);font-family:var(--texte);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font:inherit;cursor:pointer}input{font:inherit}.ecran{position:relative;height:100%;overflow:hidden}.fond{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:60% center}.voile{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(33,26,18,.72) 0%,rgba(33,26,18,.1) 34%,rgba(33,26,18,.55) 62%,var(--encre) 96%)}.action{display:block;width:100%;padding:15px 20px;border:0;border-radius:3px;background:var(--laiton);color:#2b1f0e;font-weight:700;font-size:17px;letter-spacing:.01em;transition:background .12s ease}.action:hover:not(:disabled){background:var(--laiton-clair)}.action:disabled{background:#6a5738;color:#a2917a;cursor:default}.lien{border:0;background:none;padding:8px 0;color:var(--velin);text-decoration:underline;text-decoration-color:#e8dcc066;text-underline-offset:4px}.lien:hover{text-decoration-color:var(--laiton-clair)}:where(button,input,a):focus-visible{outline:2px solid var(--laiton-clair);outline-offset:3px}.erreur{margin:0;color:#f0b8a6;font-size:15px}.chargement{display:grid;place-items:center;height:100%;color:#93867a;font-family:var(--titre);font-size:22px;letter-spacing:.06em}.connexion{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:max(28px,env(safe-area-inset-top)) var(--marge) calc(24px + var(--bas));overflow-y:auto}.enseigne{margin:0;font-family:var(--titre);font-weight:500;font-size:clamp(46px,15vw,78px);line-height:.92;letter-spacing:.02em;color:var(--velin-vif);text-shadow:0 2px 24px rgba(33,26,18,.8)}.recit{max-width:30ch;margin:18px 0 0;font-family:var(--titre);font-size:clamp(19px,5vw,23px);line-height:1.42;color:#ded2b8;text-shadow:0 1px 14px rgba(33,26,18,.9)}.recit span{display:block}.recit span+span{margin-top:10px}.formulaire{width:100%;max-width:380px;margin-top:40px}.champ{display:block;margin-bottom:12px}.champ span{display:block;margin-bottom:5px;font-size:14px;color:#c3b699}.champ input{width:100%;padding:13px 14px;border:1px solid rgba(232,220,192,.28);border-radius:3px;background:#140f0a9e;color:var(--velin-vif)}.champ input::placeholder{color:#7d7263}.champ input:focus{border-color:var(--laiton);outline:none}.sous-formulaire{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:15px}.choix{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}.choix::-webkit-scrollbar{display:none}.candidat{position:relative;flex:0 0 100%;height:100%;scroll-snap-align:center}.candidat .fond{object-position:center}.candidat-texte{position:absolute;inset:auto 0 0 0;padding:0 var(--marge) calc(26px + var(--bas))}.candidat h2{margin:0;font-family:var(--titre);font-weight:500;font-size:clamp(34px,10vw,52px);line-height:1;color:var(--velin-vif)}.candidat p{max-width:34ch;margin:10px 0 0;font-size:16px;color:#d3c7ad}.candidat .penchant{margin-top:4px;color:#a2947c;font-size:15px}.candidat form,.candidat .attente{margin-top:20px;max-width:420px}.attente{padding:13px 16px;border:1px solid rgba(232,220,192,.22);border-radius:3px;color:#a2947c;font-size:15px;text-align:center}.consigne{position:absolute;top:max(22px,env(safe-area-inset-top));left:var(--marge);right:var(--marge);font-family:var(--titre);font-size:clamp(21px,5.5vw,27px);color:var(--velin-vif);text-shadow:0 1px 16px rgba(33,26,18,.9)}.pastilles{position:absolute;bottom:calc(10px + var(--bas));left:0;right:0;display:flex;justify-content:center;gap:7px;pointer-events:none}.pastille{width:6px;height:6px;border-radius:50%;background:#e8dcc04d}.pastille.active{background:var(--laiton-clair)}.accueil{display:grid;grid-template-rows:auto 1fr auto;height:100%}.bandeau{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:max(16px,env(safe-area-inset-top)) var(--marge) 12px}.bandeau h1{margin:0;font-family:var(--titre);font-weight:500;font-size:clamp(28px,8vw,40px);line-height:1;color:var(--velin-vif)}.bandeau .etat{color:#9b8e79;font-size:15px;white-space:nowrap}.plateau{position:relative;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;background:radial-gradient(ellipse at 50% 60%,#2c2318 0%,var(--encre) 78%)}.plateau::-webkit-scrollbar{display:none}.scene{position:relative;height:100%;width:max-content;margin:0 auto}.scene img{display:block;height:100%;width:auto;max-width:none}.alveole{position:absolute;transform:translate(-50%,-50%);border:2px solid rgba(246,238,218,.85);border-radius:50%;background:#4e6b3c38;box-shadow:0 0 0 6px #211a1247;color:var(--velin-vif);font-family:var(--titre);font-size:20px;display:grid;place-items:center;padding:0;transition:transform .14s ease,background .14s ease}.alveole:hover,.alveole:focus-visible{background:#d9ac5e57;transform:translate(-50%,-50%) scale(1.06)}.alveole.occupee{border-color:var(--laiton-clair)}.cartouche{padding:14px var(--marge) calc(20px + var(--bas));border-top:1px solid rgba(232,220,192,.14);color:#a2947c;font-size:15px;display:flex;align-items:center;justify-content:space-between;gap:14px}.cartouche strong{color:var(--velin);font-weight:500}@keyframes monte{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.anime{animation:monte .7s ease-out both}.anime:nth-child(2){animation-delay:.18s}.anime:nth-child(3){animation-delay:.34s}@media (prefers-reduced-motion: reduce){.anime{animation:none}.alveole{transition:none}}@media (min-width: 760px){.formulaire,.candidat form{max-width:420px}.candidat{flex-basis:min(100%,640px)}.choix{justify-content:safe center}}
