:root{--noir:#0a0a0f;--bleu-nuit:#141a3a;--violet:#8a5cf6;--violet-sombre:#6b4fa0;--argent:#c9cdd6;--ivoire:#f4efe6;--bg:var(--noir);--bg-elev:#15162a;--text:var(--ivoire);--muted:var(--argent);--accent:var(--violet);--border:#2a2c45;--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius:14px;--maxw:32rem}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 50% -10%, var(--bleu-nuit), transparent 60%), var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;margin:0;line-height:1.5}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;margin:0 0 .5rem;font-weight:600}.page{max-width:var(--maxw);flex-direction:column;gap:1rem;min-height:100vh;margin:0 auto;padding:2rem 1rem;display:flex}.page--hero{text-align:center;justify-content:center}.hero__name,.splash__name{color:var(--ivoire);font-size:clamp(2.5rem,10vw,3.5rem)}.hero__signature{font-family:var(--font-display);color:var(--argent);font-size:1.4rem}.hero__sub{color:var(--muted);font-size:.95rem}.disclaimer{color:var(--muted);opacity:.8;margin-top:1.5rem;font-size:.8rem}.splash{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:100vh;animation:2.5s forwards splash-fade;display:flex}.splash__name{animation:1.6s both splash-rise}.splash__signature{color:var(--argent);animation:1.6s .3s both splash-rise}@keyframes splash-rise{0%{opacity:0;letter-spacing:.3em;transform:translateY(12px)}to{opacity:1;letter-spacing:.02em;transform:translateY(0)}}@keyframes splash-fade{0%,80%{opacity:1}to{opacity:.85}}@media (prefers-reduced-motion:reduce){.splash,.splash__name,.splash__signature{animation:none}}.field{flex-direction:column;gap:.35rem;margin-bottom:.9rem;display:flex}label{color:var(--muted);font-size:.9rem}input{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:10px;padding:.65rem .8rem}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}fieldset{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 1rem;padding:1rem}legend{color:var(--muted);padding:0 .4rem}.btn{font:inherit;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);cursor:pointer;border-radius:999px;padding:.7rem 1.4rem}.btn--primary{background:linear-gradient(135deg, var(--violet), var(--violet-sombre));color:#fff;border-color:#0000}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.error{color:#ff9d9d;font-size:.9rem}.notice{color:var(--argent);font-size:.95rem}.social{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}select{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:10px;padding:.65rem .8rem}.tarot-deck{flex-wrap:wrap;justify-content:center;gap:.6rem;margin:1rem 0;display:flex}.tarot-card{border:1px solid var(--border);text-align:center;border-radius:10px;justify-content:center;align-items:center;width:84px;height:132px;padding:.4rem;display:flex}button.tarot-card{cursor:pointer}.tarot-card.is-down{background:repeating-linear-gradient(45deg, var(--bleu-nuit), var(--bleu-nuit) 6px, var(--violet-sombre) 6px, var(--violet-sombre) 12px)}.tarot-card.is-picked{outline:2px solid var(--accent);transition:transform .2s;transform:translateY(-8px)}.tarot-card.is-up{background:linear-gradient(160deg, var(--bg-elev), var(--bleu-nuit));animation:.5s both card-flip}.tarot-card--solo{margin-top:.5rem}.tarot-card__name{font-family:var(--font-display);color:var(--ivoire);font-size:1rem}@keyframes card-flip{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}@media (prefers-reduced-motion:reduce){.tarot-card.is-up{animation:none}.tarot-card.is-picked{transition:none}}.place-results{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;margin:.3rem 0 0;padding:0;list-style:none;overflow:hidden}.place-result{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;padding:.55rem .8rem}.place-result:hover,.place-result:focus-visible{background:var(--bleu-nuit)}
