/* Retuka — pages web du serveur (Porcelaine et cobalt, clair et nuit) */
@font-face { font-family: 'Inter'; src: url('/polices/inter-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/polices/inter-latin-600-normal.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/polices/inter-latin-700-normal.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Sora'; src: url('/polices/sora-latin-600-normal.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Sora'; src: url('/polices/sora-latin-700-normal.woff2') format('woff2'); font-weight: 700; font-display: swap; }

:root { --fond: #F5F4F1; --surface: #FFFFFF; --ligne: #E7E4DF; --encre: #141416; --discret: #5F5C57; --accent: #2B4BF2; --accent-texte: #2B4BF2; --danger: #B3261E; --ok: #1F8A55; }
@media (prefers-color-scheme: dark) {
  :root { --fond: #0D0D0F; --surface: #151518; --ligne: #25252A; --encre: #F4F3F0; --discret: #A3A1A8; --accent: #4F6BFF; --accent-texte: #94A6FF; --danger: #FF6B61; --ok: #4CC38A; }
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body { background: var(--fond); color: var(--encre); font: 16px/1.55 'Inter', system-ui, sans-serif; }
a { color: var(--accent-texte); }
h1, h2 { font-family: 'Sora', 'Inter', sans-serif; letter-spacing: -0.02em; line-height: 1.2; }

.page-simple { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px 16px; }
.carte { width: 100%; max-width: 460px; background: var(--surface); border: 1px solid var(--ligne); border-radius: 20px; padding: 28px 24px; }
.carte h1 { margin: 0 0 8px; font-size: 26px; }
.carte p { color: var(--discret); margin: 0 0 14px; }
.logo { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 22px; letter-spacing: -0.045em; color: var(--encre); text-decoration: none; }
.logo img { width: 34px; height: 34px; }
.logo span { color: var(--accent-texte); }

label { display: block; font-size: 14px; font-weight: 600; margin: 14px 0 6px; }
input { width: 100%; height: 48px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--ligne); background: var(--fond); color: var(--encre); font: inherit; }
input:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.bouton { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 50px; margin-top: 18px; border: 0; border-radius: 12px; background: var(--accent); color: #fff; font: 600 15px 'Inter', sans-serif; cursor: pointer; text-decoration: none; }
.bouton:disabled { opacity: .5; cursor: default; }
.message { margin-top: 14px; font-size: 14px; }
.message.erreur { color: var(--danger); }
.message.ok { color: var(--ok); }
.aide { font-size: 13px; color: var(--discret); }
.cache { display: none; }

.accueil { max-width: 980px; margin: 0 auto; padding: 40px 20px 60px; }
.accueil header { display: flex; align-items: center; justify-content: space-between; }
.heros { padding: 72px 0 40px; }
.heros h1 { font-size: clamp(36px, 6vw, 60px); margin: 0 0 18px; max-width: 760px; }
.heros p { font-size: 18px; color: var(--discret); max-width: 620px; margin: 0 0 28px; }
.heros .bouton { width: auto; padding: 0 22px; }
.grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.grille div { background: var(--surface); border: 1px solid var(--ligne); border-radius: 16px; padding: 18px; }
.grille h2 { font-size: 17px; margin: 0 0 6px; }
.grille p { margin: 0; color: var(--discret); font-size: 14px; }
footer { margin-top: 48px; font-size: 13px; color: var(--discret); }
.texte-legal { max-width: 760px; margin: 0 auto; padding: 40px 20px 60px; }
.texte-legal h1 { font-size: 32px; }
.texte-legal h2 { font-size: 20px; margin-top: 28px; }

/* Module maj-version.js (data-styles="externe" : CSP stricte, pas de style en ligne) */
.bmv-bulle{position:fixed;right:16px;bottom:16px;z-index:2147483000;max-width:min(360px,calc(100vw - 32px));background:#fff;color:#1b1f2a;border:1px solid #e3e6ee;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:14px 16px;font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;animation:bmv-in .25s ease-out}
.bmv-titre{font-weight:700;margin:0 0 4px}
.bmv-texte{margin:0 0 12px;color:#5b6475}
.bmv-actions{display:flex;gap:8px;justify-content:flex-end}
.bmv-btn{border:0;border-radius:9px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer}
.bmv-principal{background:#4b3fd1;color:#fff}
.bmv-secondaire{background:#eef0f5;color:#1b1f2a}
.bmv-fond{position:fixed;inset:0;z-index:2147483001;background:rgba(10,12,20,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.bmv-fenetre{background:#fff;color:#1b1f2a;border-radius:16px;max-width:460px;width:100%;max-height:80vh;overflow:auto;padding:20px 22px;font:14px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.bmv-fenetre h2{margin:0 0 4px;font-size:19px}
.bmv-sous{margin:0 0 14px;color:#5b6475}
.bmv-version{margin:0 0 14px}
.bmv-version h3{margin:0 0 2px;font-size:15px}
.bmv-date{color:#8a93a3;font-size:12px}
.bmv-version ul{margin:6px 0 0;padding-left:20px}
.bmv-version li{margin:3px 0}
.bmv-bulle *,.bmv-fenetre *{color:inherit!important;font-family:inherit!important;letter-spacing:normal!important;text-transform:none!important;text-shadow:none!important}
.bmv-bulle .bmv-texte,.bmv-fenetre .bmv-sous{color:#5b6475!important}
.bmv-fenetre .bmv-date{color:#8a93a3!important}
.bmv-btn.bmv-principal{color:#fff!important}
@media (prefers-color-scheme:dark){.bmv-bulle .bmv-texte,.bmv-fenetre .bmv-sous{color:#a3abbb!important}
}
@keyframes bmv-in{from{transform:translateY(12px);opacity:0}
to{transform:none;opacity:1}
}
@media (prefers-color-scheme:dark){.bmv-bulle,.bmv-fenetre{background:#1e212b;color:#eef0f5;border-color:#2e3240}
.bmv-texte,.bmv-sous{color:#a3abbb}
.bmv-secondaire{background:#2e3240;color:#eef0f5}
}

/* Page Télécharger et menu */
.menu-haut { display: flex; gap: 18px; font-size: 15px; }
.menu-haut a { color: var(--discret); text-decoration: none; }
.menu-haut a[aria-current="page"], .menu-haut a:hover { color: var(--encre); }
.petit-heros { padding: 48px 0 24px; }
.grille-telechargement { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.carte-os { background: var(--surface); border: 1px solid var(--ligne); border-radius: 18px; padding: 22px; }
.carte-os h2 { margin: 0 0 6px; font-size: 22px; }
.carte-os p { margin: 0 0 6px; color: var(--discret); }
.carte-os.recommande { border: 2px solid var(--accent); }
.carte-os .bouton { width: auto; padding: 0 20px; margin: 10px 0 8px; }
.etapes { margin-top: 44px; }
.etapes h2 { font-size: 24px; margin: 0 0 14px; }
.etapes h3 { margin: 0 0 6px; font-size: 16px; font-family: 'Sora', sans-serif; }
.fonctions { margin-top: 40px; }
.fonctions h2 { font-size: 26px; margin: 0 0 14px; }
