/* MindState Git — thème magenta de marque (#C43A92) appliqué à Forgejo. */
:root {
  --color-primary: #C43A92;
  --color-primary-contrast: #ffffff;
  --color-primary-dark-1: #b13384;
  --color-primary-dark-2: #9e2e76;
  --color-primary-dark-3: #8b2968;
  --color-primary-dark-4: #78235a;
  --color-primary-dark-5: #651e4d;
  --color-primary-dark-6: #52183f;
  --color-primary-dark-7: #3f1331;
  --color-primary-light-1: #ce5ba6;
  --color-primary-light-2: #d87bba;
  --color-primary-light-3: #e29ccd;
  --color-primary-light-4: #ecbce1;
  --color-primary-light-5: #f6ddf0;
  --color-primary-light-6: #fbeef7;
  --color-primary-light-7: #fdf6fb;
  --color-primary-alpha-10: #C43A921a;
  --color-primary-alpha-20: #C43A9233;
  --color-primary-alpha-30: #C43A924d;
  --color-primary-alpha-40: #C43A9266;
  --color-primary-alpha-50: #C43A9280;
  --color-primary-alpha-60: #C43A9299;
  --color-primary-alpha-70: #C43A92b3;
  --color-primary-alpha-80: #C43A92cc;
  --color-primary-alpha-90: #C43A92e6;
  --color-primary-hover: #b13384;
  --color-primary-active: #9e2e76;
  --ms-grad: linear-gradient(100deg, #F5822E, #EF4D7A, #C43A92);
}
/* Logo arrondi + login un peu plus aéré */
.logo, img.logo { border-radius: 8px; }
#navbar .brand .logo { height: 30px; width: auto; }
.user.signin .ui.container, .page-content.user.signin { padding-top: 1rem; }

/* Logo header — réplique exacte de mindstate.tech (.nav-logo) */
.ms-brand { display:inline-flex; align-items:center; gap:14px; text-decoration:none; }
.ms-brand .ms-mark { width:54px; height:54px; object-fit:contain; display:block; }
.ms-brand .ms-wordmark { display:inline-flex; align-items:baseline; gap:9px; line-height:1; }
.ms-brand .ms-wordmark b { font-weight:600; letter-spacing:-0.02em; font-size:38px; color:var(--color-text); }
.ms-brand .ms-wordmark i { font-style:normal; font-weight:500; font-size:17px; letter-spacing:0.14em;
  text-transform:uppercase; padding:5px 11px; border-radius:999px;
  background:var(--ms-grad); color:#fff; position:relative; top:-4px; }

/* =================================================================
   Home MindState Git — landing façon GitHub (hero sombre + sections)
   ================================================================= */
.msg-home { width:100%; max-width:none; margin:0; padding:0; }

/* Boutons partagés */
.msg-btn { display:inline-flex; align-items:center; gap:.45rem; font-size:1rem; font-weight:600;
  line-height:1; padding:.85rem 1.7rem; border-radius:10px; text-decoration:none;
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.msg-btn svg { display:block; }
/* color en !important : neutralise la règle de lien globale de Forgejo
   (.page-content a { color: var(--color-primary) }) qui repeignait le
   texte des boutons en magenta au lieu du blanc. */
.msg-btn--primary { color:#fff !important; background:var(--ms-grad); background-size:140% 140%;
  box-shadow: 0 8px 22px rgba(196,58,146,.35); }
.msg-btn--primary:hover { color:#fff !important; transform:translateY(-1px); background-position:100% 50%;
  box-shadow: 0 12px 30px rgba(196,58,146,.45); }
.msg-btn--ghost { color:#e9eef5 !important; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.22); }
.msg-btn--ghost:hover { color:#fff !important; transform:translateY(-1px);
  background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.4); }

/* ---------- HERO (sombre, pleine largeur, halo dégradé) ---------- */
.msg-hero { position:relative; overflow:hidden; isolation:isolate;
  margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  padding: 5.5rem 1.25rem 5rem;
  background: radial-gradient(125% 120% at 50% -25%, #2b1430 0%, #161a20 52%, #0d1117 100%); }
.msg-hero::before { content:""; position:absolute; z-index:-1; top:-45%; left:50%; transform:translateX(-50%);
  width:min(960px,120vw); height:560px; pointer-events:none; filter:blur(18px);
  background: radial-gradient(ellipse at center, rgba(196,58,146,.50), rgba(239,77,122,.28) 40%, rgba(245,130,46,.12) 60%, transparent 72%); }
.msg-hero::after { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; opacity:.5;
  background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px); background-size:22px 22px;
  -webkit-mask-image: radial-gradient(120% 80% at 50% 0%, #000 30%, transparent 75%);
          mask-image: radial-gradient(120% 80% at 50% 0%, #000 30%, transparent 75%); }
.msg-hero-inner { max-width: 860px; margin:0 auto; text-align:center; }
.msg-hero-brand { justify-content:center; margin-bottom:1.8rem; }
.msg-hero-brand .ms-wordmark b { color:#fff; }
.msg-display { font-size: clamp(2.4rem, 5.4vw, 4rem); font-weight:800; letter-spacing:-0.035em;
  line-height:1.05; margin:0 0 1.1rem; color:#fff; text-wrap:balance; }
.msg-lede { font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height:1.55; color:#aeb9c6;
  max-width:660px; margin:0 auto 2rem; }
.msg-lede strong { color:#fff; font-weight:600; }
.msg-cta-row { display:flex; flex-wrap:wrap; gap:.85rem; justify-content:center; }
.msg-trust { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.55rem;
  margin-top:2.6rem; color:#8893a3; font-size:.82rem; font-weight:500; }
.msg-trust i { color:#566; font-style:normal; }
.msg-trust-label { text-transform:uppercase; letter-spacing:.12em; font-size:.7rem; color:#6b7686; margin-right:.2rem; }

/* ---------- SECTION (thème clair/sombre) ---------- */
.msg-section { max-width:1080px; margin:0 auto; padding: 4.5rem 1.25rem 1rem; }
.msg-section-head { text-align:center; max-width:640px; margin:0 auto 2.6rem; }
.msg-section-head h2 { font-size: clamp(1.7rem,3vw,2.3rem); font-weight:800; letter-spacing:-0.02em; margin:0 0 .7rem; color:var(--color-text); }
.msg-section-head p { font-size:1.05rem; line-height:1.6; color:var(--color-text-light-2); margin:0; }

.msg-features { display:grid; grid-template-columns: repeat(auto-fit, minmax(250px,1fr)); gap:1.1rem; }
.msg-card { padding:1.6rem 1.5rem; border-radius:16px; text-align:left;
  border:1px solid var(--color-secondary); background:var(--color-box-body);
  position:relative; overflow:hidden; transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease; }
.msg-card::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--ms-grad); }
.msg-card:hover { transform:translateY(-3px); box-shadow:0 14px 34px rgba(0,0,0,.18);
  border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-secondary)); }
.msg-card-icon { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px;
  border-radius:12px; margin-bottom:1rem; color:var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 12%, transparent); }
.msg-card h3 { font-size:1.12rem; font-weight:700; margin:0 0 .5rem; color:var(--color-text); }
.msg-card p { font-size:.92rem; color:var(--color-text-light-2); line-height:1.6; margin:0; }

/* ---------- STATS ---------- */
.msg-stats { max-width:1080px; margin:3rem auto 0; padding:1.6rem 1.25rem;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1rem;
  border-top:1px solid var(--color-secondary); border-bottom:1px solid var(--color-secondary); }
.msg-stat { text-align:center; }
.msg-stat b { display:block; font-size:1.7rem; font-weight:800; letter-spacing:-0.02em;
  background:var(--ms-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.msg-stat span { display:block; margin-top:.25rem; font-size:.85rem; color:var(--color-text-light-2); }

/* ---------- BOTTOM CTA ---------- */
.msg-cta-banner { max-width:1080px; margin:3.5rem auto 4.5rem; padding:3rem 1.5rem; text-align:center;
  border-radius:22px; position:relative; overflow:hidden; isolation:isolate;
  background: radial-gradient(120% 160% at 50% -30%, #2b1430, #161a20 70%); border:1px solid var(--color-secondary); }
.msg-cta-banner::before { content:""; position:absolute; z-index:-1; inset:-2px; opacity:.55; filter:blur(14px);
  background: radial-gradient(60% 120% at 50% 0%, rgba(196,58,146,.5), transparent 70%); }
.msg-cta-banner h2 { font-size:clamp(1.6rem,3vw,2.2rem); font-weight:800; color:#fff; margin:0 0 .6rem; letter-spacing:-0.02em; }
.msg-cta-banner p { color:#aeb9c6; font-size:1.05rem; margin:0 0 1.6rem; }

@media (max-width:560px) {
  .msg-hero { padding:4rem 1.1rem 3.5rem; }
  .msg-btn { width:100%; justify-content:center; }
  .msg-cta-row { flex-direction:column; }
}

/* ---------- Footer : masque les liens bruts/moches par défaut ----------
   "Licenses" pointe vers un dump texte GPL brut et "API" vers Swagger :
   pas des pages destinées aux utilisateurs. Le fichier licenses.txt reste
   accessible en direct (conformité GPL), seul le lien disparaît de l'UI. */
.page-footer a[href*="licenses.txt"],
.page-footer a[href*="/api/swagger"] { display:none !important; }
