@font-face{font-family:"Rozha One";src:url(fonts/rozha-one-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Fredoka";src:url(fonts/fredoka-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Fredoka";src:url(fonts/fredoka-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url(fonts/nunito-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url(fonts/nunito-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Jost";src:url(fonts/jost-latin-300-normal.woff2) format("woff2");font-weight:300;font-display:swap}
/* Pages secondaires : même nuit que le décor, carte claire au centre */
:root{
  --night:#141c4a;--plum:#3b2c62;--violet:#5d3f92;--orchid:#b0548f;--gold:#ffd98a;--ink:#2d2552;--ink-2:#4b3f72;--text:#f7f3ff;
  --f-display:"Rozha One","Didot","Bodoni 72",Georgia,serif;
  --f-badge:"Fredoka","Baloo 2","Arial Rounded MT Bold",system-ui,sans-serif;
  --f-body:"Nunito Sans","Segoe UI",system-ui,sans-serif;
  --f-logo:"Jost","Futura","Century Gothic",system-ui,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--night)}
body{margin:0;min-height:100vh;color:var(--text);font-family:var(--f-body);font-size:16px;line-height:1.6;
  background:linear-gradient(180deg,#121a47 0%,#232a70 30%,#4f3b8c 60%,#9e4f8d 85%,#eda38a 100%) fixed;
  padding:calc(28px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(40px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));
  display:flex;flex-direction:column;align-items:center;gap:22px}
.logo{display:flex;flex-direction:column;align-items:center;gap:1px;text-decoration:none;color:var(--text)}
.logo img{display:block;width:118px;height:auto}
.logo span{font-family:var(--f-logo);font-weight:300;font-size:22px;letter-spacing:.32em;line-height:1;margin-right:-.32em}
.card{width:min(560px,100%);border-radius:26px;padding:34px 28px 28px;text-align:center;color:var(--ink);
  background:radial-gradient(120% 70% at 50% 0%,#fffaf0,#f8e2ee 55%,#e3d3f6);box-shadow:0 30px 80px rgba(10,5,40,.5)}
.card.doc{width:min(760px,100%);text-align:left;padding:36px clamp(20px,5vw,48px)}
.eyebrow{font-family:var(--f-badge);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:var(--violet)}
h1{font-family:var(--f-display);font-weight:400;font-size:clamp(30px,5vw,40px);line-height:1.08;margin:6px 0 12px;text-wrap:balance}
h2{font-family:var(--f-badge);font-weight:700;font-size:19px;margin:28px 0 8px;color:var(--plum)}
p,li{color:var(--ink-2);max-width:68ch}
.card:not(.doc) p{margin-left:auto;margin-right:auto}
ul{padding-left:20px}
a{color:var(--violet)}
.todo{background:#fff1b8;color:#5a4300;padding:0 4px;border-radius:4px;font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 24px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;
  font-family:var(--f-badge);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.05em;
  background:linear-gradient(180deg,#ffe6a8,#f4bf62);color:var(--plum);box-shadow:0 6px 24px rgba(255,200,100,.45)}
.btn.ghost{background:rgba(60,40,100,.08);box-shadow:none;border:1px solid rgba(60,40,100,.25)}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
.btn:disabled{opacity:.6;cursor:wait}
.row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.state[hidden]{display:none}
.icon{width:64px;height:64px;color:var(--orchid)}
footer{font-size:13px;color:rgba(247,243,255,.8);text-align:center}
footer a{color:inherit}
table{border-collapse:collapse;width:100%;font-size:14.5px}
.tbl{overflow-x:auto}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(60,40,100,.15);vertical-align:top;color:var(--ink-2)}
th{color:var(--plum);font-family:var(--f-badge);font-weight:600}

[hidden]{display:none!important}
