:root{--bleu:#0b5cff;--bleu2:#e8f0ff;--fond:#f6f8fb;--txt:#1b1f24;--gris:#5f6875;--ligne:#e3e7ee;--rouge:#d93025;--vert:#188038}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--txt);background:var(--fond);font-size:15px}
button{font:inherit;cursor:pointer;border:0;border-radius:10px;padding:9px 16px;background:var(--bleu2);color:var(--bleu);font-weight:600}
button.p{background:var(--bleu);color:#fff}button.r{background:#fde8e6;color:var(--rouge)}button:disabled{opacity:.5;cursor:default}
input,textarea{font:inherit;width:100%;padding:11px 12px;border:1px solid var(--ligne);border-radius:10px;background:#fff;color:var(--txt)}
input:focus,textarea:focus{outline:2px solid var(--bleu);border-color:transparent}
::-webkit-scrollbar{width:12px}::-webkit-scrollbar-thumb{background:#c9ced6;border-radius:8px;border:3px solid transparent;background-clip:content-box}
.centre{min-height:100%;display:flex;align-items:center;justify-content:center;padding:20px}
.carte{background:#fff;border-radius:18px;box-shadow:0 6px 30px #0b1f4a14;padding:32px;width:100%;max-width:420px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px}.logo img{width:36px;height:36px}
.carte h1{font-size:22px;margin:18px 0 6px}.carte p.s{color:var(--gris);margin:0 0 18px}
.champ{margin:10px 0}.champ label{display:block;font-size:13px;color:var(--gris);margin-bottom:4px}
.suffixe{display:flex;align-items:center;gap:6px}.suffixe span{color:var(--gris);white-space:nowrap}
.msg{padding:10px 12px;border-radius:10px;margin:10px 0;font-size:14px}.msg.e{background:#fde8e6;color:var(--rouge)}.msg.o{background:#e6f4ea;color:var(--vert)}
.lien{color:var(--bleu);background:none;padding:0;font-weight:600}
.app{display:grid;grid-template-columns:240px 380px 1fr;grid-template-rows:60px 1fr;height:100vh}
header{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding:0 16px;background:#fff;border-bottom:1px solid var(--ligne)}
header .rech{flex:1;max-width:640px}header .rech input{background:var(--fond);border:0}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--bleu);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
nav{padding:12px;overflow:auto}nav button.ecrire{width:100%;padding:14px;margin-bottom:12px;background:var(--bleu);color:#fff;border-radius:14px}
nav a{display:flex;justify-content:space-between;padding:9px 14px;border-radius:0 20px 20px 0;color:var(--txt);text-decoration:none;cursor:pointer}
nav a.on{background:var(--bleu2);color:var(--bleu);font-weight:700}nav a b{font-size:13px}
.liste{background:#fff;border-left:1px solid var(--ligne);border-right:1px solid var(--ligne);overflow:auto}
.item{padding:12px 16px;border-bottom:1px solid var(--ligne);cursor:pointer}.item:hover{background:#f3f6fb}.item.on{background:var(--bleu2)}
.item .l1{display:flex;justify-content:space-between;gap:8px}.item .de{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .d{color:var(--gris);font-size:12px;white-space:nowrap}
.item .obj{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .ext{color:var(--gris);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item.nonlu .de,.item.nonlu .obj{font-weight:700}
.vide{color:var(--gris);text-align:center;padding:40px 20px}
.lecture{overflow:auto;background:#fff;padding:24px}.lecture h2{margin:0 0 12px;font-size:22px}
.meta{display:flex;justify-content:space-between;gap:10px;color:var(--gris);font-size:14px;border-bottom:1px solid var(--ligne);padding-bottom:12px;margin-bottom:12px}
.outils{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.alerte{background:#fff4e5;color:#8a4b00;padding:10px 12px;border-radius:10px;margin-bottom:12px;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}
iframe.corps{width:100%;border:0;min-height:60vh}pre.corps{white-space:pre-wrap;font-family:inherit;margin:0}
.pj{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.pj a{border:1px solid var(--ligne);border-radius:10px;padding:8px 12px;text-decoration:none;color:var(--txt);font-size:14px}.pj a.dang{border-color:var(--rouge);color:var(--rouge)}
.fenetre{position:fixed;right:24px;bottom:0;width:560px;max-width:100vw;background:#fff;border-radius:14px 14px 0 0;box-shadow:0 8px 40px #0003;display:flex;flex-direction:column;z-index:20}
.fenetre .t{background:#1b2a4a;color:#fff;padding:10px 14px;border-radius:14px 14px 0 0;display:flex;justify-content:space-between}.fenetre .t button{background:none;color:#fff;padding:0 6px}
.fenetre .c{padding:10px 14px;display:flex;flex-direction:column;gap:8px}.fenetre textarea{min-height:240px;resize:vertical}
.voile{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:30;padding:16px}
.dialogue{background:#fff;border-radius:16px;padding:24px;max-width:520px;width:100%;max-height:90vh;overflow:auto}
.dialogue h3{margin-top:0}.reglage{border:1px solid var(--ligne);border-radius:12px;padding:14px;margin:10px 0}
.retour{display:none}
@media(max-width:900px){.app{grid-template-columns:1fr;grid-template-rows:56px 1fr}nav{display:none}nav.ouvert{display:block;position:fixed;top:56px;left:0;bottom:0;width:260px;background:#fff;z-index:10;box-shadow:4px 0 20px #0002}
.liste,.lecture{grid-column:1}.app.lit .liste{display:none}.app:not(.lit) .lecture{display:none}.retour{display:inline-block}.menu{display:inline-block!important}.fenetre{right:0;width:100vw}}
.menu{display:none;background:none;font-size:22px;padding:4px 8px;color:var(--txt)}
.logo{white-space:nowrap}
@media(max-width:900px){header{gap:8px;padding:0 8px}header .logo{font-size:0;gap:0}header .rech{min-width:0}#bReg{padding:8px 10px}}
/* ===== Page d'accueil — style prestige ===== */
.accueil{position:relative;min-height:100vh;min-height:100dvh;background:#0a1220 url(/fond.jpg) 30% 4%/cover no-repeat;justify-content:flex-end;padding:32px 6vw;overflow:hidden;--or:#e2b866;--or2:#f5dca0}
.accueil .voile{position:absolute;inset:0;background:linear-gradient(90deg,#0a122000 28%,#0a1220b8 58%,#0a1220ee 100%),linear-gradient(0deg,#0a1220b0 0%,#0a122000 35%);pointer-events:none}
.accueil .colonne{position:relative;width:100%;max-width:430px;display:flex;flex-direction:column;gap:22px;animation:apparait .9s ease-out both}
@keyframes apparait{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.accueil .hero{color:#fff}
.accueil .hero .sur{display:inline-block;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--or2);border-bottom:1px solid #e2b86680;padding-bottom:6px}
.accueil .hero h2{font-family:"Didot","Bodoni MT","Playfair Display",Georgia,"Times New Roman",serif;font-weight:500;font-size:44px;line-height:1.08;margin:14px 0 10px;text-shadow:0 2px 18px #0008}
.accueil .hero p{margin:0;color:#e9e4d8;font-size:15px;text-shadow:0 1px 8px #000a}
.accueil .carte{background:linear-gradient(160deg,#141d2fd9,#0c1424e6);color:#f3efe6;border:1px solid #e2b86640;border-radius:22px;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 24px 60px #000a,inset 0 1px 0 #ffffff14;padding:30px 30px 22px}
.accueil .logo{color:#fff;letter-spacing:.04em}
.accueil .logo img{filter:drop-shadow(0 4px 10px #0b5cff66)}
.accueil .carte h1{font-family:"Didot","Bodoni MT","Playfair Display",Georgia,serif;font-weight:500;font-size:28px;color:#fff;margin-top:20px}
.accueil .carte p.s{color:#c9c2b2}
.accueil .champ label{color:#d8cfbb;letter-spacing:.02em}
.accueil input{background:#ffffff0f;border:1px solid #ffffff26;color:#fff;border-radius:12px;padding:13px 14px;transition:border-color .2s,background .2s}
.accueil input::placeholder{color:#ffffff66}
.accueil input:focus{outline:none;border-color:var(--or);background:#ffffff17;box-shadow:0 0 0 3px #e2b86633}
.accueil .suffixe span{color:#d8cfbb}
.accueil button.p{background:linear-gradient(135deg,#f5dca0,#d9a94e 55%,#b9842f);color:#1a1205;font-weight:700;letter-spacing:.03em;padding:13px 16px;border-radius:12px;box-shadow:0 8px 24px #d9a94e55;transition:transform .15s,box-shadow .15s}
.accueil button.p:hover{transform:translateY(-1px);box-shadow:0 12px 30px #d9a94e77}
.accueil .lien{color:var(--or2)}
.accueil a{color:#cfc6b3}
.accueil .msg.e{background:#5c1a1a;color:#ffd6d1}.accueil .msg.o{background:#163d25;color:#c9f2d4}
.accueil .badges{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid #ffffff1a}
.accueil .badges span{font-size:11px;color:#e9dcc0;border:1px solid #e2b86655;border-radius:999px;padding:4px 10px;background:#e2b86612}
.accueil .credit{position:absolute;left:16px;bottom:10px;color:#fff;font-size:11px;letter-spacing:.04em;opacity:.85;text-shadow:0 1px 3px #000a}
@media (max-width:700px){
 .accueil{display:block;background:#0a1220;padding:46vh 14px 40px;overflow:visible}
 .accueil .voile{bottom:auto;height:66vh;background:linear-gradient(180deg,#0a122000 45%,#0a1220c0 75%,#0a1220 100%),url(/fond.jpg) 40% 6%/cover no-repeat}
 .accueil .colonne{margin:0 auto;gap:16px}
 .accueil .hero{text-align:center}.accueil .hero h2{font-size:30px;margin:10px 0 6px}.accueil .hero p{font-size:13px}
 .accueil .carte{padding:24px 20px 18px}
 .accueil .credit{position:static;text-align:center;margin-top:18px}
}
