:root{--nuit:#141a33;--nuit2:#1f2a52;--accent:#7c93ff;--accent-fonce:#4a63e0;--or:#f6c453;--fond:#f6f7fb;--carte:#ffffff;--texte:#232741;--texte2:#5b6178;--vert:#1e9e6a;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;background:var(--fond);color:var(--texte);line-height:1.6}.site-header{background:var(--nuit);color:#fff}.site-header .inner{max-width:960px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.logo{font-weight:800;font-size:1.05rem;color:#fff;text-decoration:none;letter-spacing:-.01em}.logo .lune-ico{margin-right:6px}.site-nav{display:flex;gap:18px;flex-wrap:wrap}.site-nav a{color:#c8d0f0;text-decoration:none;font-size:.9rem;font-weight:600}.site-nav a:hover{color:#fff}.hero{background:linear-gradient(150deg,var(--nuit) 0%,var(--nuit2) 70%,#2c3a6e 100%);color:#fff;padding:40px 20px 96px;text-align:center;position:relative;overflow:hidden}.hero .lune{position:absolute;top:26px;right:8%;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fdf6d8,var(--or));box-shadow:0 0 42px #f6c45373;opacity:.9}.hero .etoile{position:absolute;background:#fff;border-radius:50%;opacity:.7}.hero h1{font-size:clamp(1.5rem,4.5vw,2.3rem);font-weight:800;max-width:680px;margin:0 auto 12px;letter-spacing:-.02em}.hero .sous{max-width:560px;margin:0 auto;opacity:.85;font-size:1.02rem}.hero.compact{padding:34px 20px 40px}main.outil{max-width:680px;margin:-64px auto 0;padding:0 16px 60px;position:relative;z-index:1}main.page{max-width:760px;margin:0 auto;padding:28px 16px 60px}.carte{background:var(--carte);border-radius:var(--radius);box-shadow:0 10px 34px #141a331f;padding:24px}.modes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:20px}.mode{border:1.5px solid #dde1ee;background:#fbfbfe;border-radius:10px;padding:12px 8px;font-size:.86rem;font-weight:600;color:var(--texte2);cursor:pointer;text-align:center;transition:all .15s}.mode.actif{border-color:var(--accent-fonce);background:#eef1ff;color:#3a51c4}.ligne-heure{display:flex;align-items:center;justify-content:center;gap:14px;margin:8px 0 18px;flex-wrap:wrap}.ligne-heure label{font-weight:600;font-size:.98rem}input[type=time]{font-size:1.6rem;font-weight:700;padding:8px 14px;border:1.5px solid #dde1ee;border-radius:10px;color:var(--texte);background:#fbfbfe}.endormissement{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.88rem;color:var(--texte2);margin-bottom:18px}.endormissement select{padding:4px 8px;border-radius:8px;border:1px solid #dde1ee;font-size:.88rem;color:var(--texte)}.btn{display:block;width:100%;background:var(--accent-fonce);color:#fff;border:none;border-radius:10px;padding:15px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:background .15s;text-align:center;text-decoration:none}.btn:hover{background:#3a51c4}#resultats{margin-top:22px;display:none}#resultats h2{font-size:1.05rem;margin-bottom:12px;text-align:center;color:var(--texte)}.grille-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.res{border:1.5px solid #e6e9f4;border-radius:12px;padding:14px 10px;text-align:center;background:#fbfbfe}.res .h{font-size:1.5rem;font-weight:800;color:var(--nuit)}.res .d{font-size:.78rem;color:var(--texte2);margin-top:2px}.res.ideal{border-color:var(--vert);background:#effaf5}.res .badge{display:inline-block;font-size:.68rem;font-weight:700;color:#fff;background:var(--vert);border-radius:20px;padding:2px 9px;margin-bottom:6px}.note-res{font-size:.83rem;color:var(--texte2);text-align:center;margin-top:14px}section.contenu{margin-top:44px}section.contenu h2,.prose h2{font-size:1.35rem;margin:26px 0 12px;letter-spacing:-.01em}section.contenu p{color:var(--texte2);margin-bottom:12px}.prose h1{font-size:clamp(1.4rem,4vw,2rem);margin-bottom:14px;letter-spacing:-.02em}.prose h3{font-size:1.1rem;margin:20px 0 8px}.prose p,.prose li{color:var(--texte2);margin-bottom:12px}.prose ul,.prose ol{padding-left:22px;margin-bottom:14px}.prose li{margin-bottom:6px}.prose a{color:var(--accent-fonce)}.prose table{width:100%;border-collapse:collapse;margin:16px 0;background:var(--carte);border-radius:10px;overflow:hidden;font-size:.92rem}.prose th{background:#eef1ff;text-align:left;padding:10px 12px;font-size:.85rem}.prose td{padding:10px 12px;border-top:1px solid #eef0f7;color:var(--texte2)}.prose strong{color:var(--texte)}.faq details{background:var(--carte);border-radius:10px;padding:14px 18px;margin-bottom:10px;box-shadow:0 2px 10px #141a330d}.faq summary{font-weight:600;cursor:pointer}.faq p{margin-top:8px}.pub{margin:36px 0;padding:22px;border:1.5px dashed #c9cfe3;border-radius:var(--radius);text-align:center;color:var(--texte2);font-size:.82rem}.lien-outil{display:block;background:#eef1ff;border:1.5px solid var(--accent-fonce);border-radius:12px;padding:16px 18px;margin:22px 0;color:var(--accent-fonce);font-weight:700;text-decoration:none;text-align:center}.maillage{margin-top:40px}.maillage h2{font-size:1.1rem;margin-bottom:12px}.maillage ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.maillage a{display:block;background:var(--carte);border-radius:10px;padding:12px 14px;color:var(--texte);text-decoration:none;font-size:.9rem;font-weight:600;box-shadow:0 2px 10px #141a330d}.maillage a:hover{color:var(--accent-fonce)}.cartes-articles{list-style:none;padding:0;display:grid;gap:12px}.cartes-articles a{display:block;background:var(--carte);border-radius:12px;padding:18px;color:var(--texte);text-decoration:none;box-shadow:0 2px 10px #141a330f}.cartes-articles .t{font-weight:700;margin-bottom:4px}.cartes-articles .d{color:var(--texte2);font-size:.9rem}.cartes-articles a:hover .t{color:var(--accent-fonce)}.site-footer{background:var(--nuit);color:#aab3d6;margin-top:40px;padding:30px 16px;font-size:.85rem}.site-footer .inner{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.site-footer nav{display:flex;gap:16px;flex-wrap:wrap}.site-footer a{color:#c8d0f0;text-decoration:none}.site-footer a:hover{color:#fff}.site-footer .disclaimer{opacity:.75}@media(max-width:480px){.modes{grid-template-columns:1fr}.mode{padding:10px}}
