/* Lire Debord — LE RENDEZ-VOUS POSSIBLE : la bande des pages de lecture, les
   sorties barrées, et la page du jeu. Couleurs par les jetons seulement : la
   feuille suit les trois modes sans une ligne de plus. */

/* ---------- la bande, en bas de l'écran ---------- */
.rdv-b{position:fixed;left:var(--sb-w);right:0;bottom:0;z-index:52;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;
  padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:var(--blanc);border-top:2px solid var(--fleche);
  box-shadow:0 -10px 26px -18px rgba(var(--ombre-rgb),.5);font-family:var(--f-ui)}
.rdv-b[hidden]{display:none}
.rdv-b-k{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fleche-text)}
.rdv-b-t{margin:0;flex:1 1 220px;min-width:0;display:flex;align-items:center;gap:8px;font-family:var(--f-titre);font-weight:800;font-size:1rem;letter-spacing:-.02em;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rdv-b-fl{width:18px;height:12px;flex:none}
.rdv-b-fl path,.rdv-fl path{fill:none;stroke:var(--fleche);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rdv-b-m{margin:0;font-size:.84rem;color:var(--trait);flex:0 1 auto}
.rdv-b-m b{color:var(--fleche-text);font-weight:600}
.rdv-b-o{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.rdv-bb{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--border-strong);background:transparent;color:var(--encre);
  font:600 .84rem/1 var(--f-ui);text-decoration:none;cursor:pointer;white-space:nowrap}
.rdv-bb:hover{background:var(--survol)}
.rdv-bb[aria-expanded="true"]{border-color:var(--fleche);color:var(--fleche-text)}
.rdv-bb-p{background:var(--encre);border-color:var(--encre);color:var(--papier)}
.rdv-bb-p:hover{background:var(--encre-fort)}
/* la petite carte, posée au-dessus de la bande */
/* à gauche : à droite, elle couvrirait le bouton du retour en haut */
.rdv-carte{position:absolute;left:var(--gutter);bottom:calc(100% + 8px);width:min(420px,calc(100vw - 2 * var(--gutter)));padding:10px 12px 8px;
  background:var(--blanc);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 18px 40px -20px rgba(var(--ombre-rgb),.55)}
.rdv-carte[hidden]{display:none}
.rdv-leg{margin:4px 0 0;font-size:.78rem;color:var(--trait);display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.rdv-leg i{display:inline-block;width:10px;height:10px;border-radius:50%}
.rdv-lg-v{background:var(--encre)}
.rdv-lg-a{border:2px solid var(--fleche)}
.rdv-lg-s{width:16px!important;height:0!important;border-radius:0!important;border-top:2px dashed var(--fleche)}
/* la bande ne couvre ni la fin de la page, ni le retour en haut, ni le toast */
html.rdv-on body{padding-bottom:var(--rdv-h)}
html.rdv-on .ld-haut,html.rdv-on .ls-suivre{bottom:calc(16px + var(--rdv-h))}
html.rdv-on .ld-toast{bottom:calc(22px + var(--rdv-h))}
body.ls-plein .rdv-b{display:none}
@media(max-width:640px){
  .rdv-b{gap:4px 10px;padding-top:8px}
  .rdv-b-k{display:none}
  .rdv-b-t{flex-basis:100%;font-size:.95rem}
  .rdv-b-m{flex:1 1 auto}
  .rdv-b-o{margin-left:0;width:100%}
  .rdv-bb{min-height:32px;padding:0 11px}
}

/* ---------- les sorties, pendant un rendez-vous ---------- */
.so a.rdv-x{border-style:dashed;background:transparent;cursor:not-allowed}
.so a.rdv-x .so-t{text-decoration:line-through;text-decoration-thickness:2px;color:var(--muted)}
.so a.rdv-x .so-f path{stroke:var(--muted)}
.so a.rdv-x:hover{transform:none;border-color:var(--border-strong)}
.so a.rdv-but{border:2px solid var(--fleche)}
.rdv-pq{font-size:.8rem;font-weight:600;color:var(--fleche-text)}
.so a.rdv-x .rdv-pq{color:var(--trait)}
.so-rdv{margin:12px 0 0;font-family:var(--f-ui);font-size:.88rem}
.so-rdv a{display:inline-block;padding:3px 0;color:var(--fleche-text);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.so-rdv a:hover{color:var(--encre)}

/* ---------- le plan, petit ou grand ---------- */
.rdv-plan{display:block;width:100%;height:auto;margin:18px 0 6px;background:var(--papier);border:1px solid var(--border);border-radius:12px}
.rdv-plan-p{margin:0;border-radius:8px}
.rdv-pts circle{fill:var(--encre);opacity:.2}
.rdv-pts .rdv-pq-q{fill:var(--fleche);opacity:.45}
.rdv-tr{fill:none;stroke:var(--trait);stroke-width:2;stroke-dasharray:6 6;opacity:.6}
.rdv-rt{fill:none;stroke:var(--fleche);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.rdv-so{stroke:var(--fleche);stroke-width:3;stroke-dasharray:7 6}
.rdv-a{fill:none;stroke:var(--fleche);stroke-width:4}
.rdv-v{fill:var(--encre);stroke:var(--blanc);stroke-width:4}
.rdv-n circle{fill:var(--fleche)}
/* numéro sur le rouge : --sur-fleche, 5,08 / 5,22 / 6,58 selon le mode (mesuré pour /plan/) */
.rdv-n text{fill:var(--sur-fleche);font:700 18px var(--f-ui);text-anchor:middle}

/* ---------- la page du jeu ---------- */
.rdv{max-width:1080px}
.rdv-ex{margin:26px 0 0;padding:4px 0 4px 18px;border-left:3px solid var(--fleche);max-width:60ch}
.rdv-ex p{margin:0;font-family:var(--f-lecture);font-size:1.12rem;line-height:1.5}
.rdv-ex footer{margin-top:6px;font-size:.84rem}
.rdv-ex a{color:var(--fleche-text);text-decoration:underline;text-underline-offset:3px}
.rdv-ex a:hover{color:var(--encre)}
.rdv-s{margin-top:clamp(44px,6vw,72px)}
.rdv-s .sec-h{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.rdv-en,#fixer,#tenus{scroll-margin-top:72px}
.rdv-en{margin-top:clamp(32px,5vw,52px);padding:22px;border:2px solid var(--fleche);border-radius:16px;background:var(--blanc)}
.rdv-en[hidden],.rdv-s[hidden]{display:none}
.rdv-regles{margin:0;padding-left:1.4em;max-width:66ch;display:grid;gap:8px;font-size:1rem;line-height:1.5}
.rdv-regles li::marker{color:var(--fleche-text);font-weight:700}
.rdv-cs{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.rdv-c{display:flex;flex-direction:column;gap:2px;padding:16px 18px 18px;border:1px solid var(--border);border-radius:14px;background:var(--blanc)}
.rdv-c-g{border:0;padding:0;background:transparent}
.rdv-k{margin:0 0 8px;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fleche-text)}
.rdv-l{margin:0;display:grid;gap:2px}
.rdv-l b{font-family:var(--f-titre);font-weight:800;font-size:1.05rem;letter-spacing:-.02em;line-height:1.25}
.rdv-o{font-size:.8rem;color:var(--muted)}
.rdv-fl{width:18px;height:34px;margin:6px 0 6px 2px}
.rdv-c-g .rdv-l b{font-size:1.3rem}
.rdv-go{margin-top:auto;align-self:flex-start;translate:0 10px}
.rdv-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.rdv-aide{margin:-6px 0 0;font-size:.9rem;color:var(--trait)}
.rdv-aide:empty{display:none}
.rdv-err{margin:14px 0 0;padding:10px 14px;border-left:3px solid var(--fleche);background:var(--lavis);color:var(--encre);font-size:.95rem}
.rdv-err[hidden]{display:none}
.rdv-note{margin:22px 0 0;font-size:.88rem;color:var(--trait);max-width:66ch}
.rdv-note a{color:var(--fleche-text);text-decoration:underline;text-underline-offset:3px}
/* le formulaire */
.rdv-f{margin-top:20px;display:grid;gap:18px;max-width:640px}
.rdv-champ{margin:0;padding:0;border:0;display:grid;gap:8px}
.rdv-champ>span,.rdv-champ legend{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--trait);padding:0;margin-bottom:6px}
.rdv-f input:not([type]),.rdv-f select{font:inherit;font-size:1rem;padding:11px 14px;border:1px solid var(--border-strong);border-radius:10px;background:var(--blanc);color:var(--encre);width:100%;box-sizing:border-box}
.rdv-f input:not([type])::placeholder{color:var(--muted)}
.rdv-f [hidden]{display:none}
.rdv-r{display:flex;align-items:center;gap:8px;min-height:28px;font-size:.98rem;cursor:pointer}
.rdv-r input{width:18px;height:18px;accent-color:var(--fleche);margin:0}
.rdv-f .btn{justify-self:start}
/* le relevé */
.rdv-et{margin:18px 0 0;padding-left:1.6em;display:grid;gap:10px;max-width:70ch}
.rdv-et li{display:grid;gap:2px}
.rdv-et li::marker{color:var(--fleche-text);font-weight:700}
.rdv-et a{color:var(--encre);font-weight:600;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px;padding:2px 0}
.rdv-et a:hover{text-decoration-color:var(--fleche)}
.rdv-et q{font-family:var(--f-lecture);font-style:italic;color:var(--trait);quotes:"« " " »"}
.rdv-ret a{font-weight:400}
.rdv-aut{margin-top:28px}
.rdv-autres{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.rdv-lien{font:inherit;background:none;border:0;padding:4px 0;min-height:28px;color:var(--fleche-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.rdv-lien:hover{color:var(--encre)}
