/* ============================================================
   GRAPHCONNECT — REFONTE 2026
   Palette « Bleu nuit & bleu électrique » : dégradé #020338 -> #0A0FC8 et ses nuances claires.
   (les variables --gc-cobalt, --gc-violet, --gc-cyan gardent leur nom mais sont toutes bleues). Chargé APRÈS main.css.
   ============================================================ */
:root {
  --gc-cobalt: #0A0FC8;
  --gc-cobalt-600: #060AA8;
  --gc-violet: #0A0FC8;
  --gc-cyan: #6C70F5;
  --gc-ink: #0E1330;
  --gc-ink-2: #2A3150;
  --gc-mist: #F3F4FB;
  --gc-line: rgba(14,19,48,.09);
  --gc-brand: linear-gradient(130deg, #020338 0%, #0A0FC8 100%);
  --gc-gradient: var(--gc-brand);
  --gc-nav-h: 4rem;
  --gc-rail-w: 15.5rem;
  --gc-tabbar-h: 4.25rem;
  --gc-ease: cubic-bezier(.22,.8,.24,1);
}

/* ---------- Logo ---------- */
.gc-brand { display:inline-flex; align-items:center; gap:.6rem; font-family:var(--gc-font-display); font-weight:800; font-size:1.2rem; letter-spacing:-.03em; color:var(--gc-ink); white-space:nowrap; }
.gc-brand img { width:2.1rem; height:2.1rem; border-radius:.65rem; }
.gc-brand b { color:var(--gc-cobalt); font-weight:800; }

/* ---------- Splash Screen ---------- */
.gc-splash { background: radial-gradient(80% 60% at 50% 40%, #FFFFFF 0%, #E8E9FF 55%, #E8E9FF 100%); gap:1.4rem; }
.gc-splash__logo { position:relative; width:5.5rem; height:5.5rem; }
.gc-splash__logo img { position:relative; z-index:1; width:100%; height:100%; border-radius:1.5rem; animation:gc-splash-pop .7s var(--gc-ease) both; box-shadow:0 24px 50px -18px rgba(10,15,200,.55); }
.gc-splash__logo::before, .gc-splash__logo::after { content:""; position:absolute; inset:-.6rem; border-radius:2rem; border:2px solid rgba(10,15,200,.35); animation:gc-splash-ring 1.8s var(--gc-ease) infinite; }
.gc-splash__logo::after { animation-delay:.6s; border-color:rgba(10,15,200,.3); }
.gc-splash__name { font-family:var(--gc-font-display); font-size:1.6rem; font-weight:800; letter-spacing:-.04em; color:var(--gc-ink); animation:gc-fade-up .6s .15s var(--gc-ease) both; }
.gc-splash__name b { color:var(--gc-cobalt); }
.gc-splash__bar { width:9rem; height:.25rem; border-radius:99px; background:rgba(10,15,200,.14); overflow:hidden; animation:gc-fade-up .6s .25s var(--gc-ease) both; }
.gc-splash__bar span { display:block; height:100%; width:40%; border-radius:inherit; background:var(--gc-brand); animation:gc-splash-bar 1.1s var(--gc-ease) infinite; }
.gc-splash__status { font-size:.85rem; color:var(--gc-text-muted); min-height:1.2em; animation:gc-fade-up .6s .35s var(--gc-ease) both; }
@keyframes gc-splash-pop { from { transform:scale(.6) rotate(-8deg); opacity:0; } to { transform:none; opacity:1; } }
@keyframes gc-splash-ring { 0% { transform:scale(.85); opacity:.9; } 100% { transform:scale(1.35); opacity:0; } }
@keyframes gc-splash-bar { 0% { transform:translateX(-110%); } 100% { transform:translateX(260%); } }
@keyframes gc-fade-up { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { .gc-splash__logo::before, .gc-splash__logo::after, .gc-splash__bar span { animation:none; } }

/* ---------- Navbar ---------- */
.gc-navbar { background:rgba(255,255,255,.82); }
.gc-navbar__inner { min-height:var(--gc-nav-h); }
.gc-has-rail .gc-navbar__inner { max-width:none; }
.gc-topsearch { flex:1; max-width:32rem; position:relative; display:flex; align-items:center; }
.gc-topsearch input { width:100%; height:2.6rem; padding:0 1rem 0 2.6rem; border-radius:99px; border:1px solid var(--gc-line); background:var(--gc-mist); font:inherit; font-size:.92rem; color:var(--gc-ink); transition:border-color .2s, box-shadow .2s, background .2s; }
.gc-topsearch input:focus { outline:none; background:#fff; border-color:var(--gc-cobalt); box-shadow:0 0 0 4px rgba(10,15,200,.14); }
.gc-topsearch .gc-icon { position:absolute; left:.9rem; color:var(--gc-text-muted); pointer-events:none; }
.gc-navbar__actions .gc-icon-btn { position:relative; }
.gc-count { position:absolute; top:-.35rem; right:-.45rem; min-width:1.15rem; height:1.15rem; padding:0 .3rem; border-radius:99px; background:var(--gc-cobalt); color:#fff; font-size:.68rem; font-weight:700; line-height:1.15rem; text-align:center; box-shadow:0 0 0 2px #fff; }
@media (max-width: 899px) { .gc-has-rail .gc-topsearch { display:none; } }

/* ---------- Rail (12 rubriques) ---------- */
.gc-rail { display:none; }
@media (min-width: 900px) {
  .gc-has-rail .gc-rail { display:flex; flex-direction:column; gap:.25rem; position:fixed; z-index:90; top:var(--gc-nav-h); bottom:0; left:0; width:5rem; padding:1rem .6rem; overflow-y:auto; background:rgba(255,255,255,.72); backdrop-filter:var(--gc-blur); -webkit-backdrop-filter:var(--gc-blur); border-right:1px solid var(--gc-line); }
  .gc-has-rail .gc-main, .gc-has-rail .gc-footer, .gc-has-rail .gc-donate-band { margin-left:5rem; }
  .gc-rail__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.2rem; }
  .gc-rail__link { display:flex; align-items:center; gap:.85rem; padding:.62rem .75rem; border-radius:.85rem; color:var(--gc-ink-2); font-weight:600; font-size:.93rem; transition:background .18s, color .18s, transform .18s var(--gc-ease); }
  .gc-rail__link:hover { background:rgba(10,15,200,.08); color:var(--gc-cobalt); }
  .gc-rail__link:active { transform:scale(.97); }
  .gc-rail__link.is-active { background:rgba(10,15,200,.12); color:var(--gc-cobalt); }
  .gc-rail__icon { position:relative; display:grid; place-items:center; width:1.6rem; flex-shrink:0; }
  .gc-rail__label { display:none; }
  .gc-rail__link--admin { margin-top:auto; }
}
@media (min-width: 1200px) {
  .gc-has-rail .gc-rail { width:var(--gc-rail-w); padding:1rem .85rem; }
  .gc-has-rail .gc-main, .gc-has-rail .gc-footer, .gc-has-rail .gc-donate-band { margin-left:var(--gc-rail-w); }
  .gc-rail__label { display:inline; }
}

/* ---------- Barre d'onglets mobile ---------- */
.gc-tabbar { display:none; }
@media (max-width: 899px) {
  /* Pas de backdrop-filter ici : il ferait de la barre le repère des éléments « fixed » (la feuille Plus). */
  .gc-has-rail .gc-tabbar { display:grid; grid-template-columns:repeat(5,1fr); position:fixed; z-index:110; left:0; right:0; bottom:0; height:calc(var(--gc-tabbar-h) + env(safe-area-inset-bottom, 0px)); padding:0 .25rem env(safe-area-inset-bottom, 0px); background:rgba(255,255,255,.97); border-top:1px solid var(--gc-line); }
  .gc-has-rail { padding-bottom:calc(var(--gc-tabbar-h) + env(safe-area-inset-bottom, 0px)); }
  .gc-has-rail .gc-navbar__toggle, .gc-has-rail .gc-navbar__links { display:none !important; }
}
.gc-tabbar__item { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2rem; font-size:.68rem; font-weight:600; color:var(--gc-text-muted); list-style:none; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.gc-tabbar__item::-webkit-details-marker { display:none; }
.gc-tabbar__item.is-active { color:var(--gc-cobalt); }
.gc-tabbar__icon { position:relative; display:grid; place-items:center; width:2.75rem; height:1.85rem; border-radius:99px; transition:background .2s; }
.gc-tabbar__item.is-active .gc-tabbar__icon { background:rgba(10,15,200,.12); }
.gc-tabbar__more { display:flex; }
.gc-tabbar__more > summary { flex:1; }
.gc-tabbar__more[open] > summary { color:var(--gc-cobalt); }
.gc-sheet { position:fixed; z-index:120; left:0; right:0; bottom:calc(var(--gc-tabbar-h) + env(safe-area-inset-bottom, 0px)); padding:.6rem 1rem 1.2rem; background:#fff; border-radius:1.4rem 1.4rem 0 0; box-shadow:0 -20px 50px -20px rgba(14,19,48,.35); animation:gc-sheet-in .28s var(--gc-ease); }
.gc-sheet__grip { width:2.6rem; height:.3rem; border-radius:99px; background:rgba(14,19,48,.15); margin:0 auto .9rem; }
.gc-sheet__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; }
.gc-sheet__item { display:flex; flex-direction:column; align-items:center; gap:.35rem; padding:.6rem .2rem; border-radius:1rem; font-size:.74rem; font-weight:600; color:var(--gc-ink-2); text-align:center; }
.gc-sheet__item.is-active, .gc-sheet__item:active { background:rgba(10,15,200,.1); color:var(--gc-cobalt); }
.gc-sheet__icon { display:grid; place-items:center; width:2.8rem; height:2.8rem; border-radius:.95rem; background:var(--gc-mist); }
@keyframes gc-sheet-in { from { transform:translateY(100%); } to { transform:none; } }

/* ---------- Boutons ---------- */
.gc-btn--primary { background:var(--gc-cobalt); color:#fff; }
.gc-btn--primary:hover { background:var(--gc-cobalt-600); }
.gc-btn--lg { padding:.95rem 1.6rem; font-size:1rem; border-radius:.95rem; }
.gc-btn--light { background:#fff; color:var(--gc-cobalt); }
.gc-btn--google { display:flex; align-items:center; justify-content:center; gap:.7rem; width:100%; padding:.85rem 1rem; border-radius:.9rem; border:1px solid var(--gc-line); background:#fff; color:var(--gc-ink); font-weight:600; font-size:.95rem; transition:border-color .2s, box-shadow .2s, transform .15s; }
.gc-btn--google:hover { border-color:rgba(10,15,200,.45); box-shadow:0 10px 24px -14px rgba(14,19,48,.35); }
.gc-btn--google:active { transform:scale(.99); }
.gc-btn--google.is-disabled { opacity:.55; pointer-events:none; }

/* ---------- Page d'accueil publique ---------- */
.gc-land { overflow:hidden; }
.gc-land-hero { position:relative; max-width:calc(var(--gc-container) + 2*var(--gc-gutter)); margin:0 auto; padding:clamp(2.5rem,7vw,5.5rem) var(--gc-gutter) clamp(2rem,5vw,4rem); display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.gc-land-hero__kicker { display:inline-flex; align-items:center; gap:.5rem; padding:.4rem .85rem; border-radius:99px; background:#fff; border:1px solid var(--gc-line); font-size:.82rem; font-weight:600; color:var(--gc-ink-2); }
.gc-land-hero__kicker i { width:.5rem; height:.5rem; border-radius:50%; background:var(--gc-cyan); box-shadow:0 0 0 4px rgba(108,112,245,.2); }
.gc-land-hero h1 { font-size:clamp(2.2rem, 1.4rem + 3.6vw, 4rem); line-height:1.04; letter-spacing:-.045em; margin:1.1rem 0 1rem; color:var(--gc-ink); }
.gc-land-hero h1 em { font-style:normal; background:var(--gc-brand); -webkit-background-clip:text; background-clip:text; color:transparent; }
.gc-land-hero p { font-size:clamp(1rem,.95rem + .3vw,1.15rem); color:var(--gc-text-muted); max-width:34rem; }
.gc-land-hero__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.75rem; }
.gc-land-stats { display:flex; flex-wrap:wrap; gap:2rem; margin-top:2.25rem; }
.gc-land-stats strong { display:block; font-family:var(--gc-font-display); font-size:1.65rem; letter-spacing:-.03em; color:var(--gc-ink); }
.gc-land-stats span { font-size:.85rem; color:var(--gc-text-muted); }
.gc-land-visual { position:relative; aspect-ratio:1/1.02; }
.gc-land-visual__card { position:absolute; background:#fff; border:1px solid var(--gc-line); border-radius:1.4rem; box-shadow:0 30px 60px -30px rgba(14,19,48,.35); padding:1rem; animation:gc-float 7s ease-in-out infinite; }
.gc-land-visual__card--main { inset:6% 10% 18% 4%; padding:0; overflow:hidden; display:grid; grid-template-rows:auto 1fr; }
.gc-land-visual__card--main header { display:flex; align-items:center; gap:.6rem; padding:.85rem 1rem; border-bottom:1px solid var(--gc-line); font-weight:700; font-size:.9rem; }
.gc-land-visual__card--main header img { width:1.6rem; height:1.6rem; border-radius:.5rem; }
.gc-land-visual__grid { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; padding:.8rem; }
.gc-land-visual__grid span { border-radius:.9rem; background:linear-gradient(135deg, rgba(10,15,200,.18), rgba(10,15,200,.22)); }
.gc-land-visual__grid span:nth-child(2) { background:linear-gradient(135deg, rgba(108,112,245,.25), rgba(10,15,200,.15)); }
.gc-land-visual__grid span:nth-child(3) { background:linear-gradient(135deg, rgba(10,15,200,.22), rgba(108,112,245,.2)); }
.gc-land-visual__card--chat { right:0; bottom:6%; width:58%; animation-delay:-2s; }
.gc-land-visual__card--chat strong { display:flex; align-items:center; gap:.45rem; font-size:.85rem; }
.gc-land-visual__card--chat p { margin:.35rem 0 0; padding:.55rem .75rem; border-radius:1rem 1rem 1rem .3rem; background:var(--gc-mist); font-size:.82rem; width:fit-content; }
.gc-land-visual__card--chat p.is-me { margin-left:auto; border-radius:1rem 1rem .3rem 1rem; background:var(--gc-cobalt); color:#fff; }
.gc-land-visual__card--badge { left:0; bottom:0; display:flex; align-items:center; gap:.6rem; font-size:.82rem; font-weight:700; animation-delay:-4s; }
.gc-land-visual__card--badge .gc-icon { color:var(--gc-violet); }
.gc-dot-online { display:inline-block; width:.55rem; height:.55rem; border-radius:50%; background:#0A0FC8; box-shadow:0 0 0 3px rgba(10,15,200,.18); }
@keyframes gc-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }

.gc-land-section { max-width:calc(var(--gc-container) + 2*var(--gc-gutter)); margin:0 auto; padding:clamp(3rem,7vw,5.5rem) var(--gc-gutter); }
.gc-land-eyebrow { font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gc-cobalt); margin:0 0 .75rem; }
.gc-land-title { font-size:clamp(1.8rem,1.3rem + 2vw,2.8rem); line-height:1.08; letter-spacing:-.035em; margin:0 0 1rem; color:var(--gc-ink); max-width:40rem; }
.gc-land-lead { color:var(--gc-text-muted); max-width:38rem; margin:0 0 2.5rem; font-size:1.05rem; }
.gc-feature-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1rem; }
.gc-feature { padding:1.6rem; border-radius:1.4rem; background:#fff; border:1px solid var(--gc-line); transition:transform .3s var(--gc-ease), box-shadow .3s; }
.gc-feature:hover { transform:translateY(-4px); box-shadow:0 26px 50px -30px rgba(14,19,48,.4); }
.gc-feature__icon { display:grid; place-items:center; width:3rem; height:3rem; border-radius:1rem; background:rgba(10,15,200,.1); color:var(--gc-cobalt); margin-bottom:1.1rem; }
.gc-feature:nth-child(3n+2) .gc-feature__icon { background:rgba(10,15,200,.12); color:var(--gc-violet); }
.gc-feature:nth-child(3n+3) .gc-feature__icon { background:rgba(108,112,245,.14); color:#0A0FC8; }
.gc-feature h3 { margin:0 0 .4rem; font-size:1.08rem; }
.gc-feature p { margin:0; color:var(--gc-text-muted); font-size:.94rem; }

.gc-land-dark { background:var(--gc-ink); color:#fff; border-radius:clamp(1.5rem,3vw,2.5rem); margin:0 var(--gc-gutter); }
.gc-land-dark .gc-land-title { color:#fff; }
.gc-land-dark .gc-land-lead { color:rgba(255,255,255,.7); }
.gc-land-dark .gc-land-eyebrow { color:var(--gc-cyan); }
.gc-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(13rem,1fr)); gap:1rem; counter-reset:step; list-style:none; padding:0; margin:0; }
.gc-steps li { padding:1.5rem; border-radius:1.2rem; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); }
.gc-steps li::before { counter-increment:step; content:counter(step, decimal-leading-zero); display:block; font-family:var(--gc-font-display); font-size:1.9rem; font-weight:800; letter-spacing:-.04em; background:linear-gradient(135deg,#6C70F5,#A3A6FF); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:.6rem; }
.gc-steps h3 { margin:0 0 .35rem; font-size:1.05rem; color:#fff; }
.gc-steps p { margin:0; font-size:.92rem; color:rgba(255,255,255,.68); }

.gc-land-cta { text-align:center; padding:clamp(2.5rem,6vw,4.5rem) var(--gc-gutter); margin:clamp(2rem,6vw,4rem) var(--gc-gutter) 0; border-radius:clamp(1.5rem,3vw,2.5rem); background:var(--gc-brand); color:#fff; }
.gc-land-cta h2 { font-size:clamp(1.8rem,1.3rem + 2vw,2.8rem); letter-spacing:-.035em; margin:0 0 .75rem; color:#fff; }
.gc-land-cta p { margin:0 auto 1.75rem; max-width:32rem; color:rgba(255,255,255,.85); }
.gc-reveal { opacity:0; transform:translateY(18px); transition:opacity .7s var(--gc-ease), transform .7s var(--gc-ease); }
.gc-reveal.is-visible { opacity:1; transform:none; }
.no-js .gc-reveal { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { .gc-reveal { opacity:1; transform:none; } .gc-land-visual__card { animation:none; } }
@media (max-width: 899px) {
  .gc-land-hero { grid-template-columns:1fr; }
  .gc-land-visual { max-width:26rem; width:100%; margin:0 auto; }
}

/* ---------- Authentification (écran partagé) ---------- */
.gc-auth2 { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); min-height:calc(100vh - var(--gc-nav-h)); }
.gc-auth2__aside { position:relative; overflow:hidden; padding:clamp(2rem,5vw,4rem); background:var(--gc-ink); color:#fff; display:flex; flex-direction:column; justify-content:space-between; gap:2rem; }
.gc-auth2__aside::before { content:""; position:absolute; width:28rem; height:28rem; right:-10rem; top:-8rem; border-radius:50%; background:radial-gradient(circle, rgba(10,15,200,.55), transparent 65%); }
.gc-auth2__aside::after { content:""; position:absolute; width:24rem; height:24rem; left:-8rem; bottom:-8rem; border-radius:50%; background:radial-gradient(circle, rgba(10,15,200,.45), transparent 65%); }
.gc-auth2__aside > * { position:relative; z-index:1; }
.gc-auth2__aside h2 { font-size:clamp(1.7rem,1.2rem + 1.8vw,2.5rem); line-height:1.1; letter-spacing:-.035em; margin:0 0 .9rem; color:#fff; }
.gc-auth2__aside p { color:rgba(255,255,255,.72); margin:0; max-width:26rem; }
.gc-auth2__points { list-style:none; margin:0; padding:0; display:grid; gap:.85rem; }
.gc-auth2__points li { display:flex; align-items:center; gap:.75rem; font-size:.95rem; color:rgba(255,255,255,.88); }
.gc-auth2__points .gc-icon { flex-shrink:0; padding:.35rem; width:1.9rem; height:1.9rem; border-radius:.6rem; background:rgba(255,255,255,.1); color:var(--gc-cyan); }
.gc-auth2__aside .gc-brand { color:#fff; }
.gc-auth2__aside .gc-brand b { color:#A3A6FF; }
.gc-auth2__main { display:flex; align-items:center; justify-content:center; padding:clamp(1.5rem,4vw,3rem) var(--gc-gutter); }
.gc-auth2__card { width:100%; max-width:28rem; animation:gc-fade-up .5s var(--gc-ease) both; }
.gc-auth2__card h1 { font-size:clamp(1.7rem,1.4rem + 1vw,2.1rem); letter-spacing:-.035em; margin:.35rem 0 .4rem; }
.gc-auth2__sub { color:var(--gc-text-muted); margin:0 0 1.6rem; }
.gc-auth2__kicker { font-size:.8rem; font-weight:700; color:var(--gc-cobalt); text-transform:uppercase; letter-spacing:.07em; }
.gc-divider { display:flex; align-items:center; gap:.9rem; margin:1.25rem 0; color:var(--gc-text-muted); font-size:.82rem; }
.gc-divider::before, .gc-divider::after { content:""; flex:1; height:1px; background:var(--gc-line); }
.gc-auth2 .gc-field input, .gc-auth2 .gc-field textarea { border-radius:.85rem; background:#fff; }
.gc-auth2 .gc-field input:focus, .gc-auth2 .gc-field textarea:focus { border-color:var(--gc-cobalt); box-shadow:0 0 0 4px rgba(10,15,200,.14); }
.gc-auth2__row { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:-.25rem 0 1.1rem; font-size:.88rem; }
.gc-auth2__row a, .gc-auth2__foot a { color:var(--gc-cobalt); font-weight:600; }
.gc-auth2__foot { margin-top:1.4rem; text-align:center; color:var(--gc-text-muted); font-size:.92rem; }
.gc-auth2__secure { margin-top:1.75rem; display:flex; justify-content:center; align-items:center; gap:.45rem; font-size:.78rem; color:var(--gc-text-muted); }
.gc-consent { padding:1.1rem 1.15rem; border-radius:1rem; background:var(--gc-mist); border:1px solid var(--gc-line); margin-bottom:1.25rem; }
.gc-consent h2 { font-size:.95rem; margin:0 0 .6rem; }
.gc-consent .gc-check { margin:0; font-size:.88rem; }
.gc-consent a { color:var(--gc-cobalt); font-weight:600; }
.gc-steps-bar { display:flex; gap:.4rem; margin-bottom:1.4rem; }
.gc-steps-bar span { flex:1; height:.3rem; border-radius:99px; background:rgba(14,19,48,.1); transition:background .3s; }
.gc-steps-bar span.is-done { background:var(--gc-brand); }
.gc-step-title { font-size:.8rem; font-weight:700; color:var(--gc-text-muted); margin:0 0 .25rem; }
[data-wizard-step] { animation:gc-fade-up .35s var(--gc-ease) both; }
.gc-register-actions { display:flex; gap:.75rem; }
.gc-register-actions .gc-btn { flex:1; justify-content:center; }
@media (max-width: 899px) {
  .gc-auth2 { grid-template-columns:1fr; min-height:0; }
  .gc-auth2__aside { padding:1.5rem var(--gc-gutter); gap:1rem; }
  .gc-auth2__aside h2 { font-size:1.35rem; margin:0; }
  .gc-auth2__aside p, .gc-auth2__points { display:none; }
}

/* ---------- En-têtes et cartes des rubriques ---------- */
.gc-hub { max-width:calc(72rem + 2*var(--gc-gutter)); margin:0 auto; padding:1.75rem var(--gc-gutter) 3rem; }
.gc-hub-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.gc-hub-head h1 { margin:0; letter-spacing:-.03em; }
.gc-hub-head p { margin:.3rem 0 0; color:var(--gc-text-muted); }
.gc-hub h2 { margin:2rem 0 1rem; font-size:1.15rem; }
.gc-tabs { display:flex; gap:.4rem; overflow-x:auto; padding-bottom:.25rem; margin-bottom:1.25rem; scrollbar-width:none; }
.gc-tabs::-webkit-scrollbar { display:none; }
.gc-tabs a { flex-shrink:0; padding:.5rem 1rem; border-radius:99px; border:1px solid var(--gc-line); background:#fff; font-size:.88rem; font-weight:600; color:var(--gc-ink-2); }
.gc-tabs a.is-active { background:var(--gc-ink); border-color:var(--gc-ink); color:#fff; }
.gc-tile-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(15rem,1fr)); gap:1rem; }
.gc-tile { display:flex; flex-direction:column; gap:.4rem; padding:1.25rem; border-radius:1.2rem; background:#fff; border:1px solid var(--gc-line); transition:transform .25s var(--gc-ease), box-shadow .25s; }
.gc-tile:hover { transform:translateY(-3px); box-shadow:0 22px 44px -28px rgba(14,19,48,.45); }
.gc-tile__icon { display:grid; place-items:center; width:2.6rem; height:2.6rem; border-radius:.85rem; background:rgba(10,15,200,.1); color:var(--gc-cobalt); margin-bottom:.35rem; }
.gc-tile h3 { margin:0; font-size:1rem; }
.gc-tile p { margin:0; color:var(--gc-text-muted); font-size:.88rem; }
.gc-tile__meta { margin-top:auto; padding-top:.5rem; font-size:.8rem; color:var(--gc-text-muted); }
.gc-media-card { display:block; border-radius:1.2rem; overflow:hidden; background:#fff; border:1px solid var(--gc-line); transition:transform .25s var(--gc-ease), box-shadow .25s; }
.gc-media-card:hover { transform:translateY(-3px); box-shadow:0 22px 44px -28px rgba(14,19,48,.45); }
.gc-media-card__thumb { position:relative; aspect-ratio:16/9; background:linear-gradient(135deg, rgba(10,15,200,.2), rgba(10,15,200,.25)); display:grid; place-items:center; color:#fff; }
.gc-media-card__thumb img, .gc-media-card__thumb video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.gc-media-card__body { padding:.9rem 1rem 1rem; }
.gc-media-card__body h3 { margin:0 0 .25rem; font-size:.98rem; }
.gc-media-card__body p { margin:0; font-size:.82rem; color:var(--gc-text-muted); }
.gc-person { display:flex; align-items:center; gap:.85rem; padding:.85rem 1rem; border-radius:1rem; background:#fff; border:1px solid var(--gc-line); }
.gc-person__body { flex:1; min-width:0; }
.gc-person__body strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gc-person__body span { font-size:.82rem; color:var(--gc-text-muted); }
.gc-people-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(17rem,1fr)); gap:.75rem; }
.gc-empty { padding:2.5rem 1.5rem; text-align:center; border-radius:1.2rem; border:1px dashed rgba(14,19,48,.18); color:var(--gc-text-muted); background:rgba(255,255,255,.6); }
.gc-empty .gc-icon { color:var(--gc-cobalt); margin-bottom:.5rem; }
.gc-date-chip { display:inline-grid; place-items:center; min-width:3.2rem; padding:.35rem .5rem; border-radius:.8rem; background:var(--gc-mist); text-align:center; line-height:1.1; }
.gc-date-chip b { display:block; font-size:1.2rem; color:var(--gc-cobalt); }
.gc-date-chip small { font-size:.7rem; text-transform:uppercase; color:var(--gc-text-muted); font-weight:700; }
.gc-event-row { display:flex; gap:1rem; align-items:center; padding:1rem; border-radius:1.1rem; background:#fff; border:1px solid var(--gc-line); }
.gc-event-row + .gc-event-row { margin-top:.6rem; }
.gc-event-row__body { flex:1; min-width:0; }
.gc-event-row__body h3 { margin:0 0 .2rem; font-size:1rem; }
.gc-event-row__body p { margin:0; font-size:.85rem; color:var(--gc-text-muted); }

/* ============================================================
   PHASE 2 — Groupes, Pages, Marketplace, Messagerie
   ============================================================ */
.gc-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:1.25rem; }
.gc-toolbar .gc-tabs { margin-bottom:0; min-width:0; }
.gc-toolbar__search { max-width:18rem; flex:1 1 14rem; }
.gc-media-card__thumb--short { aspect-ratio:3/1; }
.gc-media-card__thumb--square { aspect-ratio:4/3; }
.gc-ribbon { position:absolute; top:.6rem; left:.6rem; padding:.2rem .6rem; border-radius:99px; background:var(--gc-ink); color:#fff; font-size:.75rem; font-weight:700; }
.gc-price { display:block; font-family:var(--gc-font-display); font-weight:800; color:var(--gc-cobalt); letter-spacing:-.02em; margin-bottom:.15rem; }
.gc-price--lg { font-size:1.6rem; margin:.25rem 0; }

/* Boîtes de dialogue */
.gc-dialog { width:min(34rem, calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); padding:0; border:0; border-radius:1.4rem; box-shadow:0 40px 80px -30px rgba(14,19,48,.55); color:var(--gc-ink); }
.gc-dialog::backdrop { background:rgba(14,19,48,.45); backdrop-filter:blur(3px); }
.gc-dialog[open] { animation:gc-fade-up .28s var(--gc-ease); }
.gc-dialog__body { padding:1.5rem; }
.gc-dialog__body h2 { margin:0 0 1rem; }
.gc-choice { border:0; padding:0; margin:0 0 1rem; display:grid; gap:.5rem; }
.gc-choice legend { font-weight:600; font-size:.9rem; margin-bottom:.4rem; }

/* En-tête à couverture (groupe, page) */
.gc-cover-head { border-radius:1.4rem; overflow:hidden; background:#fff; border:1px solid var(--gc-line); margin-bottom:1.25rem; }
.gc-cover-head__img { aspect-ratio:4/1; min-height:7rem; background:var(--gc-brand); position:relative; }
.gc-cover-head__img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.gc-cover-head__body { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; padding:1.1rem 1.25rem .5rem; }
.gc-cover-head__body h1 { margin:0; letter-spacing:-.03em; }
.gc-cover-head__body p { margin:.25rem 0 0; color:var(--gc-text-muted); font-size:.9rem; display:flex; align-items:center; gap:.35rem; flex-wrap:wrap; }
.gc-cover-head__body a { color:var(--gc-cobalt); }
.gc-cover-head__desc { padding:0 1.25rem 1.1rem; margin:0; color:var(--gc-ink-2); }
.gc-cover-head__desc a { color:var(--gc-cobalt); font-weight:600; }
.gc-split { display:grid; grid-template-columns:minmax(0,1fr) 18rem; gap:1.25rem; align-items:start; }
.gc-side-card { background:#fff; border:1px solid var(--gc-line); border-radius:1.2rem; padding:1rem; margin-bottom:1rem; }
.gc-side-card h2 { margin:0 0 .75rem; font-size:1rem; }
.gc-avatar-stack { display:flex; flex-wrap:wrap; gap:.35rem; }
.gc-person--flat { border:0; padding:.5rem 0; flex-wrap:wrap; }
@media (max-width: 899px) { .gc-split { grid-template-columns:1fr; } .gc-split__side { order:-1; } }

/* Compositeur et publications (groupes, pages) */
.gc-composer { display:flex; gap:.75rem; padding:1rem; background:#fff; border:1px solid var(--gc-line); border-radius:1.2rem; margin-bottom:1rem; }
.gc-composer__main { flex:1; min-width:0; }
.gc-composer textarea { width:100%; border:0; resize:vertical; font:inherit; font-size:.98rem; padding:.4rem 0; background:transparent; color:var(--gc-ink); outline:none; }
.gc-composer__bar { display:flex; justify-content:space-between; align-items:center; gap:.5rem; border-top:1px solid var(--gc-line); padding-top:.6rem; margin-top:.4rem; }
.gc-chip-btn { display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .8rem; border-radius:99px; background:var(--gc-mist); font-size:.85rem; font-weight:600; color:var(--gc-ink-2); cursor:pointer; max-width:100%; }
.gc-chip-btn__name { font-weight:500; color:var(--gc-text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:10rem; }
.gc-post { background:#fff; border:1px solid var(--gc-line); border-radius:1.2rem; padding:1rem 1.1rem; margin-bottom:.85rem; }
.gc-post__head { display:flex; align-items:center; gap:.7rem; }
.gc-post__head > div { flex:1; min-width:0; display:flex; flex-direction:column; }
.gc-post__head span { font-size:.8rem; color:var(--gc-text-muted); }
.gc-post__menu { margin:0; }
.gc-post__text { margin:.75rem 0 0; white-space:normal; overflow-wrap:anywhere; }
.gc-post__media { margin-top:.75rem; width:100%; max-height:32rem; object-fit:cover; border-radius:.9rem; }

/* Annonce */
.gc-listing { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:1.5rem; margin-top:1rem; }
.gc-listing__media { position:relative; border-radius:1.4rem; overflow:hidden; background:linear-gradient(135deg, rgba(10,15,200,.18), rgba(10,15,200,.22)); min-height:18rem; display:grid; place-items:center; color:#fff; }
.gc-listing__media img { width:100%; height:100%; object-fit:cover; max-height:34rem; }
.gc-listing__body h1 { margin:.5rem 0 0; letter-spacing:-.03em; }
.gc-listing__desc { margin:1rem 0 1.25rem; color:var(--gc-ink-2); overflow-wrap:anywhere; }
.gc-listing__actions { display:flex; flex-wrap:wrap; gap:.6rem; margin:1rem 0; }
@media (max-width: 899px) { .gc-listing { grid-template-columns:1fr; } }

/* ---------- Messagerie ---------- */
.gc-page-messenger .gc-footer, .gc-page-messenger .gc-donate-band { display:none; }
.gc-page-messenger .gc-main { min-height:0; }
.gc-messenger { display:grid; grid-template-columns:22rem minmax(0,1fr); height:calc(100dvh - var(--gc-nav-h)); background:#fff; }
.gc-messenger__list { display:flex; flex-direction:column; min-height:0; border-right:1px solid var(--gc-line); }
.gc-messenger__list-head { display:flex; justify-content:space-between; align-items:center; padding:1rem 1rem .5rem; }
.gc-messenger__list-head h1 { margin:0; font-size:1.5rem; letter-spacing:-.03em; }
.gc-messenger__search { position:relative; margin:0 1rem .75rem; display:flex; align-items:center; }
.gc-messenger__search .gc-icon { position:absolute; left:.8rem; color:var(--gc-text-muted); }
.gc-messenger__search input { width:100%; height:2.5rem; padding:0 .9rem 0 2.3rem; border-radius:99px; border:1px solid var(--gc-line); background:var(--gc-mist); font:inherit; font-size:.9rem; }
.gc-messenger__search input:focus { outline:none; border-color:var(--gc-cobalt); background:#fff; }
.gc-convs { list-style:none; margin:0; padding:0 .5rem 1rem; overflow-y:auto; flex:1; }
.gc-convs__empty { padding:1.5rem 1rem; color:var(--gc-text-muted); font-size:.9rem; text-align:center; }
.gc-conv { display:flex; align-items:center; gap:.75rem; padding:.65rem .6rem; border-radius:.9rem; transition:background .15s; }
.gc-conv:hover { background:var(--gc-mist); }
.gc-conv.is-active { background:rgba(10,15,200,.1); }
.gc-conv__avatar { position:relative; flex-shrink:0; }
.gc-conv__avatar .gc-dot-online { position:absolute; right:0; bottom:0; box-shadow:0 0 0 2px #fff; }
.gc-conv__body { flex:1; min-width:0; display:flex; flex-direction:column; }
.gc-conv__top { display:flex; justify-content:space-between; gap:.5rem; }
.gc-conv__top strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.94rem; }
.gc-conv__top small { color:var(--gc-text-muted); font-size:.74rem; white-space:nowrap; }
.gc-conv__preview { font-size:.85rem; color:var(--gc-text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gc-conv__badge { min-width:1.35rem; height:1.35rem; padding:0 .35rem; border-radius:99px; background:var(--gc-cobalt); color:#fff; font-size:.72rem; font-weight:700; display:grid; place-items:center; }
.gc-messenger__thread { display:flex; flex-direction:column; min-height:0; background:var(--gc-mist); }
.gc-thread-empty { margin:auto; text-align:center; color:var(--gc-text-muted); padding:2rem; }
.gc-thread-empty .gc-feature__icon { margin:0 auto 1rem; }
.gc-thread-empty h2 { color:var(--gc-ink); margin:0 0 .3rem; }
.gc-thread { display:flex; flex-direction:column; min-height:0; height:100%; }
.gc-thread[hidden], .gc-thread-empty[hidden] { display:none; }
.gc-thread__head { display:flex; align-items:center; gap:.5rem; padding:.6rem 1rem; background:#fff; border-bottom:1px solid var(--gc-line); }
.gc-thread__back { display:none; }
.gc-thread__who { display:flex; align-items:center; gap:.7rem; min-width:0; }
.gc-thread__who > span:last-child { display:flex; flex-direction:column; min-width:0; }
.gc-thread__who strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gc-thread__who small { font-size:.78rem; color:var(--gc-text-muted); }
.gc-thread__who small.is-typing { color:var(--gc-cobalt); font-weight:600; }
.gc-thread__scroll { flex:1; overflow-y:auto; padding:1rem clamp(.75rem, 3vw, 2rem); overscroll-behavior:contain; }
.gc-thread__more { display:block; margin:0 auto .75rem; }
.gc-thread__hello, .gc-thread__error { text-align:center; color:var(--gc-text-muted); margin-top:2rem; }
.gc-day { text-align:center; margin:1rem 0 .6rem; font-size:.75rem; font-weight:700; color:var(--gc-text-muted); text-transform:capitalize; }
.gc-msg { display:flex; margin:.18rem 0; }
.gc-msg--mine { justify-content:flex-end; }
.gc-msg__bubble { max-width:min(78%, 34rem); padding:.5rem .75rem .35rem; border-radius:1.1rem 1.1rem 1.1rem .35rem; background:#fff; box-shadow:0 1px 2px rgba(14,19,48,.08); animation:gc-fade-up .2s var(--gc-ease); }
.gc-msg--mine .gc-msg__bubble { background:var(--gc-cobalt); color:#fff; border-radius:1.1rem 1.1rem .35rem 1.1rem; }
.gc-msg.is-pending .gc-msg__bubble { opacity:.6; }
.gc-msg__text { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.gc-msg__meta { display:flex; justify-content:flex-end; align-items:center; gap:.25rem; font-size:.68rem; opacity:.7; margin-top:.15rem; }
.gc-msg__tick { letter-spacing:-.15em; font-weight:700; }
.gc-msg__tick.is-read { color:#C9CBFF; opacity:1; }
.gc-msg__media { display:block; margin:-.2rem -.4rem .3rem; }
.gc-msg__media img, video.gc-msg__media { display:block; max-width:100%; max-height:20rem; border-radius:.8rem; }
.gc-msg__audio { width:15rem; max-width:100%; height:2.4rem; }
.gc-msg__file { display:block; font-weight:600; text-decoration:underline; overflow-wrap:anywhere; }
.gc-typing { display:inline-flex; gap:.25rem; padding:.7rem .9rem; background:#fff; border-radius:1.1rem; margin:.3rem 0; }
.gc-typing[hidden] { display:none; }
.gc-typing span { width:.45rem; height:.45rem; border-radius:50%; background:var(--gc-text-muted); animation:gc-typing 1.2s infinite ease-in-out; }
.gc-typing span:nth-child(2) { animation-delay:.15s; } .gc-typing span:nth-child(3) { animation-delay:.3s; }
@keyframes gc-typing { 0%,60%,100% { transform:translateY(0); opacity:.5; } 30% { transform:translateY(-4px); opacity:1; } }
.gc-composer2 { display:flex; align-items:flex-end; gap:.4rem; padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom, 0px)); background:#fff; border-top:1px solid var(--gc-line); }
.gc-composer2 .gc-icon-btn { flex-shrink:0; cursor:pointer; }
.gc-composer2__field { flex:1; min-width:0; background:var(--gc-mist); border-radius:1.3rem; padding:.15rem .9rem; }
.gc-composer2__field textarea { width:100%; border:0; background:transparent; resize:none; font:inherit; font-size:.96rem; line-height:1.4; padding:.55rem 0; max-height:10rem; outline:none; color:var(--gc-ink); }
.gc-composer2__field textarea[hidden] { display:none; }
.gc-composer2__attach { display:flex; align-items:center; gap:.5rem; padding:.5rem 0 0; font-size:.82rem; color:var(--gc-ink-2); }
.gc-composer2__attach[hidden] { display:none; }
.gc-composer2__attach img { width:2.6rem; height:2.6rem; object-fit:cover; border-radius:.5rem; }
.gc-composer2__attach span { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gc-composer2__send { flex-shrink:0; display:grid; place-items:center; width:2.6rem; height:2.6rem; border-radius:50%; border:0; background:var(--gc-cobalt); color:#fff; cursor:pointer; transition:transform .15s, background .15s; }
.gc-composer2__send:hover { background:var(--gc-cobalt-600); }
.gc-composer2__send:active { transform:scale(.92); }
.gc-composer2__send:disabled { opacity:.6; }
.gc-composer2__mic.is-recording { background:#F2F3FF; color:#060AA8; }
.gc-recorder { display:flex; align-items:center; gap:.5rem; padding:.55rem 0; font-size:.9rem; color:var(--gc-ink-2); }
.gc-recorder[hidden] { display:none; }
.gc-recorder i { width:.6rem; height:.6rem; border-radius:50%; background:#060AA8; animation:gc-pulse-rec 1s infinite; }
.gc-recorder button { margin-left:auto; }
@keyframes gc-pulse-rec { 50% { opacity:.3; } }
@media (max-width: 899px) {
  .gc-messenger { grid-template-columns:1fr; height:calc(100dvh - var(--gc-nav-h) - var(--gc-tabbar-h) - env(safe-area-inset-bottom, 0px)); }
  .gc-messenger.is-thread-open .gc-messenger__list { display:none; }
  .gc-messenger:not(.is-thread-open) .gc-messenger__thread { display:none; }
  .gc-thread__back { display:inline-grid; }
  body.gc-page-messenger:has(.gc-messenger.is-thread-open) .gc-tabbar { display:none; }
  body.gc-page-messenger:has(.gc-messenger.is-thread-open) { padding-bottom:0; }
  .gc-messenger.is-thread-open { height:calc(100dvh - var(--gc-nav-h)); }
}

/* ============================================================
   PHASE 3 — Interface façon Farata / écran de chargement façon référence
   ============================================================ */
:root {
  --gc-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --gc-navy: #0B1240;
  --gc-pill: linear-gradient(130deg, #020338 0%, #0A0FC8 100%);
  --gc-tint: #F2F3FF;
}

/* Un seul menu : la mise en page à deux colonnes de l'ancien menu disparaît sous le rail. */
.gc-has-rail .gc-app-layout { display:block; max-width:calc(64rem + 2*var(--gc-gutter)); margin:0 auto; padding:1.75rem var(--gc-gutter) 3rem; }

/* Boutons « pilule » */
.gc-pill-cta { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:3.25rem; padding:0 1.6rem; border:0; border-radius:99px; background:var(--gc-pill); color:#fff; font:inherit; font-weight:700; font-size:1rem; cursor:pointer; box-shadow:0 18px 34px -18px rgba(11,18,64,.75); transition:transform .2s var(--gc-ease), box-shadow .2s, filter .2s; text-decoration:none; }
.gc-pill-cta:hover { filter:brightness(1.08); box-shadow:0 22px 40px -18px rgba(10,15,200,.7); }
.gc-pill-cta:active { transform:scale(.98); }
.gc-pill-cta--block { width:100%; }
.gc-pill-cta--sm { min-height:2.5rem; padding:0 1.2rem; font-size:.92rem; }
.gc-pill-ghost { display:inline-flex; align-items:center; justify-content:center; min-height:3.25rem; padding:0 1.5rem; border-radius:99px; border:1.5px solid rgba(255,255,255,.55); color:#fff; font-weight:700; backdrop-filter:blur(6px); }
.gc-pill-ghost:hover { background:rgba(255,255,255,.12); }

/* ---------- Écran de chargement ---------- */
html.gc-splash-open { overflow:hidden; }
.gc-splash { position:fixed; inset:0; z-index:3000; display:flex; align-items:center; justify-content:center; padding:0; background:#EEEFFB; transition:opacity .5s ease, visibility .5s ease; }
.gc-splash.is-leaving { opacity:0; visibility:hidden; }
.gc-splash__stage { position:relative; overflow:hidden; width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; background-color:#fff;
  background-image:linear-gradient(rgba(14,19,48,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(14,19,48,.055) 1px, transparent 1px);
  background-size:22px 22px; }
.gc-splash__stage::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at center, transparent 35%, #fff 85%); }
@media (min-width: 700px) {
  .gc-splash { background:radial-gradient(70% 60% at 50% 40%, #F2F3FF, #E9EAFB); }
  .gc-splash__stage { width:400px; height:min(820px, calc(100dvh - 3rem)); border-radius:46px; border:10px solid #0B1240; box-shadow:0 50px 100px -40px rgba(11,18,64,.6); }
}
.gc-splash__stage > * { position:relative; z-index:1; }
.gc-splash__wave { position:absolute !important; z-index:0 !important; width:62%; pointer-events:none; }
.gc-splash__wave--top { top:-4%; right:-6%; transform:translate(40%,-40%); animation:gc-wave-in-top .9s 1.15s var(--gc-ease) forwards; }
.gc-splash__wave--bottom { bottom:-6%; left:-6%; width:80%; transform:translate(-40%,40%); animation:gc-wave-in-bottom .9s 1.25s var(--gc-ease) forwards; }
@keyframes gc-wave-in-top { to { transform:translate(0,0); } }
@keyframes gc-wave-in-bottom { to { transform:translate(0,0); } }
.gc-splash__label { position:absolute !important; top:1.6rem; left:1.6rem; font-weight:700; color:#fff; opacity:0; animation:gc-fade-up .5s 1.6s forwards; text-shadow:0 1px 8px rgba(11,18,64,.25); }
@media (max-width: 699px) { .gc-splash__label { color:var(--gc-cobalt); text-shadow:none; } }
.gc-splash__intro { display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 1.5rem; }
.gc-splash__mark { width:3.6rem; height:3.6rem; border-radius:1.1rem; margin-bottom:.9rem; transform:scale(0) rotate(-20deg); animation:gc-mark-pop .6s .1s cubic-bezier(.34,1.56,.64,1) forwards; box-shadow:0 16px 30px -14px rgba(10,15,200,.7); }
@keyframes gc-mark-pop { to { transform:none; } }
.gc-splash__word { margin:0; font-family:var(--gc-font-display); font-size:clamp(2.4rem, 11vw, 3.2rem); font-weight:800; letter-spacing:-.05em; line-height:1; white-space:nowrap; }
.gc-splash__word span { display:inline-block; opacity:0; transform:translateY(.6em) scale(.8); animation:gc-letter .5s calc(.35s + var(--i) * .065s) cubic-bezier(.34,1.56,.64,1) forwards; }
.gc-splash__word .is-ink { color:var(--gc-navy); }
.gc-splash__word .is-brand { color:var(--gc-cobalt); }
@keyframes gc-letter { to { opacity:1; transform:none; } }
.gc-splash__tagline { margin:.8rem 0 0; font-weight:600; color:var(--gc-ink-2); opacity:0; animation:gc-fade-up .6s 1.25s forwards; }
.gc-splash__status { margin:.6rem 0 0; font-size:.82rem; color:var(--gc-text-muted); min-height:1.2em; opacity:0; animation:gc-fade-up .5s 1.4s forwards; }
.gc-splash__cta { margin-top:2.6rem; min-width:15rem; animation:gc-fade-up .5s var(--gc-ease); }
.gc-splash__cta[hidden] { display:none; }
.gc-splash.is-onboarding .gc-splash__label { display:none; }
@media (prefers-reduced-motion: reduce) {
  .gc-splash__word span, .gc-splash__mark, .gc-splash__tagline, .gc-splash__status, .gc-splash__label { animation:none; opacity:1; transform:none; }
  .gc-splash__wave--top, .gc-splash__wave--bottom { animation:none; transform:none; }
}

/* Carrousel d'accueil */
.gc-onboard { position:absolute !important; inset:0; display:flex; flex-direction:column; padding:1.4rem 1.5rem 2rem; animation:gc-fade-up .45s var(--gc-ease); }
.gc-onboard[hidden] { display:none; }
.gc-onboard__head { display:flex; justify-content:space-between; align-items:center; }
.gc-onboard__head .gc-brand { font-size:1.05rem; }
.gc-onboard__head .gc-brand img { width:1.8rem; height:1.8rem; }
.gc-onboard__skip { border:0; background:none; font:inherit; font-weight:600; color:var(--gc-ink-2); cursor:pointer; padding:.4rem .2rem; }
.gc-onboard__slides { flex:1; position:relative; display:grid; }
.gc-onboard__slide { grid-area:1/1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; opacity:0; transform:translateX(30px); pointer-events:none; transition:opacity .45s var(--gc-ease), transform .45s var(--gc-ease); }
.gc-onboard__slide.is-active { opacity:1; transform:none; pointer-events:auto; }
.gc-onboard__slide h2 { font-family:var(--gc-font-display); font-size:clamp(1.8rem, 8vw, 2.3rem); font-weight:800; letter-spacing:-.04em; line-height:1.1; margin:.3rem 0 1rem; color:var(--gc-navy); }
.gc-onboard__slide h2 span { display:block; color:var(--gc-cobalt); font-size:1.25em; }
.gc-onboard__slide p:last-child { color:var(--gc-text-muted); max-width:19rem; line-height:1.6; margin:0; }
.gc-onboard__eyebrow { margin:0; font-size:.74rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--gc-cobalt); }
.gc-onboard__icon { display:grid; place-items:center; width:4.5rem; height:4.5rem; margin-bottom:1.2rem; border-radius:1.4rem; background:var(--gc-tint); color:var(--gc-cobalt); box-shadow:inset 0 0 0 1px rgba(10,15,200,.15); }
.gc-onboard__dots { display:flex; justify-content:center; gap:.4rem; margin-bottom:1.4rem; }
.gc-onboard__dots i { width:.45rem; height:.45rem; border-radius:99px; background:rgba(10,15,200,.25); transition:width .3s var(--gc-ease), background .3s; }
.gc-onboard__dots i.is-active { width:1.6rem; background:var(--gc-cobalt); }
.gc-onboard .gc-pill-cta { width:100%; }
.gc-onboard__login { margin-top:1rem; text-align:center; font-size:.9rem; color:var(--gc-ink-2); }
.gc-onboard__login b { color:var(--gc-cobalt); }

/* ---------- Authentification ---------- */
.gc-auth3 { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); min-height:100dvh; background:linear-gradient(180deg, #F2F3FF 0%, #fff 60%); }
.gc-auth3__aside { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; gap:2rem; padding:2.5rem clamp(2rem,4vw,3.5rem); color:#fff; background:linear-gradient(160deg, #060AA8 0%, #0A0FC8 55%, #2A30E0 100%); }
.gc-auth3__aside::before { content:""; position:absolute; inset:0; opacity:.14; background-image:radial-gradient(circle at 1px 1px, #fff 1.2px, transparent 0); background-size:22px 22px; }
.gc-auth3__aside > * { position:relative; }
.gc-brand--light { color:#fff; }
.gc-brand--light b { color:#C9CBFF; }
.gc-auth3__quote { margin:0; font-family:var(--gc-serif); font-style:italic; font-size:clamp(1.4rem, 1rem + 1.2vw, 1.9rem); line-height:1.35; max-width:24rem; }
.gc-auth3__quote cite { display:block; margin-top:.8rem; font-family:var(--gc-font); font-style:normal; font-size:.9rem; font-weight:600; opacity:.8; }
.gc-auth3__why { padding:1.2rem 1.3rem; border-radius:1.2rem; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22); backdrop-filter:blur(8px); max-width:24rem; }
.gc-auth3__why-title { display:flex; align-items:center; gap:.45rem; margin:0 0 .8rem; font-weight:700; }
.gc-auth3__why ul { list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.gc-auth3__why li { display:flex; align-items:center; gap:.6rem; font-size:.95rem; }
.gc-auth3__why .gc-icon { color:#C9CBFF; flex-shrink:0; }
.gc-auth3__tag { margin:0; font-size:.72rem; letter-spacing:.18em; font-weight:700; opacity:.75; }
.gc-auth3__main { display:flex; justify-content:center; align-items:flex-start; padding:clamp(2rem,6vh,4.5rem) var(--gc-gutter) 2.5rem; }
.gc-auth3__col { width:100%; max-width:27rem; display:flex; flex-direction:column; align-items:center; text-align:center; animation:gc-fade-up .5s var(--gc-ease) both; }
.gc-auth3__logo { display:inline-flex; align-items:center; gap:.55rem; font-family:var(--gc-font-display); font-weight:800; font-size:1.45rem; letter-spacing:-.04em; color:var(--gc-navy); }
.gc-auth3__logo img { width:2.4rem; height:2.4rem; border-radius:.75rem; }
.gc-auth3__logo b { color:var(--gc-cobalt); }
.gc-auth3__tagline { margin:1.1rem 0 0; font-size:.72rem; font-weight:700; letter-spacing:.16em; color:#686C88; }
.gc-auth3__title { margin:1.2rem 0 .5rem; font-family:var(--gc-serif); font-weight:600; font-size:clamp(2rem, 1.6rem + 1.6vw, 2.5rem); letter-spacing:-.01em; color:var(--gc-cobalt); }
.gc-auth3__sub { margin:0; color:var(--gc-text-muted); line-height:1.55; }
.gc-auth3__chip { display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem; padding:.35rem .85rem; border-radius:99px; background:#E8E9FF; color:var(--gc-cobalt); font-size:.84rem; font-weight:700; }
.gc-auth3__col > .gc-flash { width:100%; margin:1rem 0 0; text-align:left; }
.gc-auth3__card { width:100%; margin-top:1.6rem; padding:1.4rem; border-radius:1.4rem; background:#fff; text-align:left; box-shadow:0 30px 60px -36px rgba(14,19,48,.35), 0 0 0 1px rgba(14,19,48,.05); }
.gc-auth3__card > .gc-flash { margin:0 0 .9rem; }
.gc-auth3__form .gc-field { margin-bottom:1rem; }
.gc-auth3__form .gc-field label { font-weight:600; font-size:.88rem; color:var(--gc-ink); }
.gc-auth3 input[type=text], .gc-auth3 input[type=email], .gc-auth3 input[type=password], .gc-auth3 textarea { width:100%; min-height:3.1rem; border-radius:.9rem; border:1px solid rgba(14,19,48,.12); background:#FAFAFF; font:inherit; font-size:.97rem; padding:.7rem .95rem; color:var(--gc-ink); transition:border-color .2s, box-shadow .2s, background .2s; }
.gc-auth3 textarea { min-height:5rem; }
.gc-auth3 input:focus, .gc-auth3 textarea:focus { outline:none; border-color:var(--gc-cobalt); background:#fff; box-shadow:0 0 0 4px rgba(10,15,200,.13); }
.gc-field__wrap { position:relative; display:block; }
.gc-field__wrap > .gc-icon { position:absolute; left:.95rem; top:50%; transform:translateY(-50%); color:#686C88; pointer-events:none; z-index:1; }
.gc-field--icon input { padding-left:2.75rem !important; }
.gc-field__labelrow { display:flex; justify-content:space-between; align-items:baseline; }
.gc-field__labelrow a, .gc-auth3__foot a { color:var(--gc-cobalt); font-weight:700; font-size:.88rem; }
.gc-auth3__foot { margin:1.4rem 0 0; color:var(--gc-text-muted); }
.gc-auth3__foot a { font-size:inherit; }
.gc-auth3__secure { margin:1.4rem 0 0; display:flex; align-items:center; gap:.4rem; font-size:.78rem; color:#686C88; }
.gc-auth3__note { color:var(--gc-text-muted); margin:0 0 1.1rem; }
.gc-auth3 .gc-btn--google { min-height:3.1rem; border-radius:.9rem; border-color:rgba(14,19,48,.1); }
.gc-auth3 .gc-btn--google.is-disabled, .gc-auth3 .gc-btn--google:disabled { opacity:.45; cursor:not-allowed; }
.gc-auth3 .gc-btn--google + .gc-divider, .gc-auth3 .gc-divider { margin:1rem 0; }
.gc-auth3 .gc-pill-cta--block { margin-top:.4rem; }
.gc-auth3 .gc-steps-bar { margin-bottom:1.1rem; }
.gc-consent3 { margin-bottom:1rem; padding:1.05rem 1.1rem; border-radius:1rem; background:var(--gc-tint); border:1px solid rgba(10,15,200,.14); }
.gc-consent3__title { display:flex; align-items:center; gap:.5rem; margin:0 0 .7rem; font-weight:700; color:var(--gc-navy); }
.gc-consent3__title .gc-icon { color:var(--gc-cobalt); }
.gc-consent3 .gc-check { align-items:flex-start; font-size:.9rem; line-height:1.5; color:var(--gc-ink-2); }
.gc-consent3 .gc-check input { width:1.25rem; height:1.25rem; margin-top:.1rem; accent-color:var(--gc-cobalt); flex-shrink:0; }
.gc-consent3 a { color:var(--gc-cobalt); font-weight:700; }
@media (max-width: 899px) {
  .gc-auth3 { grid-template-columns:1fr; }
  .gc-auth3__aside { display:none; }
  .gc-auth3__main { padding-top:2.2rem; }
}

/* ---------- Accueil public ---------- */
.gc-page-landing .gc-navbar { position:absolute; left:0; right:0; background:transparent; border-bottom:0; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.gc-page-landing .gc-navbar .gc-brand, .gc-page-landing .gc-navbar__links a { color:#fff; }
.gc-page-landing .gc-navbar .gc-brand b { color:#C9CBFF; }
.gc-page-landing .gc-navbar__toggle span { background:#fff; }
@media (min-width: 900px) {
  .gc-page-landing .gc-navbar__links { flex:1; justify-content:center; gap:1.8rem; }
  .gc-page-landing .gc-navbar__links a { font-weight:600; font-size:.95rem; opacity:.85; padding:.3rem 0; border-bottom:2px solid transparent; }
  .gc-page-landing .gc-navbar__links a:hover, .gc-page-landing .gc-navbar__links a.is-current { opacity:1; border-bottom-color:#A3A6FF; }
  .gc-page-landing .gc-pill-cta--sm { background:#fff; color:var(--gc-navy); }
}
@media (max-width: 899px) {
  .gc-page-landing .gc-navbar__links.is-open a { color:var(--gc-ink); }
}
.gc-hero3 { position:relative; overflow:hidden; min-height:min(100dvh, 56rem); display:flex; align-items:center; padding:7rem var(--gc-gutter) 4rem; color:#fff;
  background:radial-gradient(60% 70% at 85% 30%, rgba(10,15,200,.55), transparent 60%), radial-gradient(50% 60% at 10% 90%, rgba(108,112,245,.25), transparent 60%), linear-gradient(135deg, #020338 0%, #0A0FC8 100%); }
.gc-hero3.has-photo { background:linear-gradient(90deg, rgba(11,18,64,.92) 0%, rgba(11,18,64,.6) 45%, rgba(11,18,64,.1) 100%), var(--gc-hero-photo) center/cover no-repeat; }
.gc-hero3.has-photo .gc-hero3__art { display:none; }
.gc-hero3__content { position:relative; z-index:1; width:100%; max-width:var(--gc-container); margin:0 auto; }
.gc-hero3__content > * { max-width:38rem; }
.gc-hero3__kicker { display:inline-flex; align-items:center; gap:.45rem; padding:.4rem .9rem; border-radius:99px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22); font-size:.85rem; font-weight:600; backdrop-filter:blur(6px); }
.gc-hero3__kicker .gc-icon { color:#A3A6FF; }
.gc-hero3 h1 { margin:1.2rem 0 1.1rem; font-family:var(--gc-serif); font-weight:600; font-size:clamp(2.3rem, 1.4rem + 3.6vw, 4.1rem); line-height:1.08; letter-spacing:-.015em; color:#fff; }
.gc-hero3 h1 em { font-style:normal; color:#A3A6FF; }
.gc-hero3 p { font-size:clamp(1rem,.95rem + .3vw,1.15rem); color:rgba(255,255,255,.82); line-height:1.6; }
.gc-hero3__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.8rem; }
.gc-hero3__actions .gc-pill-cta { background:#fff; color:var(--gc-navy); }
.gc-hero3 .gc-land-stats strong { color:#fff; font-family:var(--gc-serif); }
.gc-hero3 .gc-land-stats span { color:rgba(255,255,255,.7); }
.gc-hero3__art { position:absolute; inset:0; pointer-events:none; }
.gc-hero3__grid { position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.35) 1px, transparent 1px); background-size:44px 44px; mask-image:radial-gradient(ellipse at 75% 45%, #000 10%, transparent 65%); -webkit-mask-image:radial-gradient(ellipse at 75% 45%, #000 10%, transparent 65%); }
.gc-hero3__card { position:absolute; background:rgba(255,255,255,.95); color:var(--gc-ink); border-radius:1.3rem; box-shadow:0 40px 70px -35px rgba(0,0,0,.6); padding:1rem; animation:gc-float 7s ease-in-out infinite; }
.gc-hero3__card--a { right:8%; top:22%; width:min(26vw, 22rem); aspect-ratio:1/1.1; display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.gc-hero3__card--a span { border-radius:.9rem; background:linear-gradient(135deg, rgba(10,15,200,.25), rgba(10,15,200,.35)); }
.gc-hero3__card--a span:nth-child(2) { background:linear-gradient(135deg, rgba(108,112,245,.35), rgba(10,15,200,.2)); }
.gc-hero3__card--a span:nth-child(3) { background:linear-gradient(135deg, rgba(163,166,255,.45), rgba(10,15,200,.25)); }
.gc-hero3__card--b { right:3%; top:58%; width:min(22vw, 17rem); animation-delay:-2.5s; }
.gc-hero3__card--b strong { display:flex; align-items:center; gap:.45rem; font-size:.85rem; }
.gc-hero3__card--b p { margin:.4rem 0 0; padding:.5rem .75rem; border-radius:1rem 1rem 1rem .3rem; background:var(--gc-tint); font-size:.8rem; color:var(--gc-ink); width:fit-content; }
.gc-hero3__card--b p.is-me { margin-left:auto; border-radius:1rem 1rem .3rem 1rem; background:var(--gc-cobalt); color:#fff; }
.gc-hero3__card--c { right:27%; top:70%; display:flex; align-items:center; gap:.5rem; font-size:.82rem; font-weight:700; animation-delay:-4.5s; }
.gc-hero3__card--c .gc-icon { color:var(--gc-violet); }
@media (max-width: 1099px) { .gc-hero3__art { display:none; } }
.gc-land-title, .gc-land-cta h2 { font-family:var(--gc-serif); font-weight:600; letter-spacing:-.01em; }
.gc-land-title { color:var(--gc-navy); }
.gc-land-dark .gc-land-title { color:#fff; }
.gc-land-dark { background:linear-gradient(135deg, #020338, #0A0FC8); }
.gc-land-cta { background:linear-gradient(120deg, #020338 0%, #0A0FC8 100%); }
.gc-land-cta .gc-btn--light { border-radius:99px; }
.gc-page-landing .gc-footer { margin-top:0; }

/* ---------- Mon espace ---------- */
.gc-me-card { display:grid; grid-template-columns:auto 1fr; gap:1rem 1.25rem; align-items:center; padding:1.4rem; border-radius:1.4rem; color:#fff; background:linear-gradient(135deg, #020338 0%, #0A0FC8 100%); box-shadow:0 30px 60px -35px rgba(11,18,64,.7); }
.gc-me-card__avatar { width:5rem; height:5rem; border-radius:50%; object-fit:cover; border:3px solid rgba(255,255,255,.7); }
.gc-me-card__body h1 { margin:0; font-family:var(--gc-serif); font-weight:600; color:#fff; letter-spacing:-.01em; }
.gc-me-card__body p { margin:.2rem 0 .8rem; color:rgba(255,255,255,.75); }
.gc-me-card__actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.gc-me-card__actions .gc-btn--primary { background:#fff; color:var(--gc-navy); }
.gc-me-card__actions .gc-btn--outline { border-color:rgba(255,255,255,.5); color:#fff; background:transparent; }
.gc-me-card__stats { grid-column:1 / -1; display:grid; grid-template-columns:repeat(4, 1fr); gap:.5rem; margin:.4rem 0 0; }
.gc-me-card__stats div { padding:.7rem; border-radius:1rem; background:rgba(255,255,255,.1); text-align:center; }
.gc-me-card__stats dt { font-size:.75rem; opacity:.75; }
.gc-me-card__stats dd { margin:.15rem 0 0; font-family:var(--gc-serif); font-size:1.4rem; font-weight:600; }
@media (max-width: 560px) { .gc-me-card__stats { grid-template-columns:repeat(2, 1fr); } .gc-me-card { grid-template-columns:1fr; text-align:center; justify-items:center; } .gc-me-card__actions { justify-content:center; } }
.gc-list-card { background:#fff; border:1px solid var(--gc-line); border-radius:1.2rem; overflow:hidden; }
.gc-list-card__item { display:flex; align-items:center; gap:.85rem; padding:.8rem 1rem; font-weight:600; color:var(--gc-ink); transition:background .15s; }
.gc-list-card__item + .gc-list-card__item { border-top:1px solid var(--gc-line); }
.gc-list-card__item:hover { background:var(--gc-tint); }
.gc-list-card__item > span:nth-child(2) { flex:1; }
.gc-list-card__item .gc-tile__icon { margin:0; width:2.2rem; height:2.2rem; }
.gc-list-card__chev { color:#686C88; }

/* Titres des rubriques : même famille élégante que l'accueil */
.gc-hub-head h1, .gc-cover-head__body h1, .gc-messenger__list-head h1 { font-family:var(--gc-serif); font-weight:600; letter-spacing:-.01em; color:var(--gc-navy); }
@media (max-width: 899px) {
  .gc-page-landing .gc-navbar__actions { display:none; }
  .gc-hero3 { padding-top:6rem; min-height:auto; }
  .gc-hero3 .gc-land-stats { display:grid; grid-template-columns:repeat(3, auto); gap:1.2rem; justify-content:start; }
  .gc-hero3 .gc-land-stats strong { font-size:1.35rem; }
  .gc-hero3__actions .gc-pill-cta, .gc-hero3__actions .gc-pill-ghost { flex:1 1 100%; }
}
/* Superposition de l'écran de chargement : voile du quadrillage < vagues < contenu */
.gc-splash__stage::after { z-index:0; }
.gc-splash__wave { z-index:1 !important; }
.gc-splash__intro, .gc-onboard, .gc-splash__label { z-index:2 !important; }
.gc-splash__intro[hidden] { display:none !important; }
.gc-splash.is-onboarding .gc-splash__wave--top { opacity:.35; }
.gc-splash.is-onboarding .gc-splash__wave { opacity:.12 !important; transition:opacity .4s; }
.gc-onboard__head { position:relative; z-index:3; padding-top:env(safe-area-inset-top, 0px); }
/* Onglets du fil : même style en pilules que les autres rubriques */
.gc-feed-tabs { border-bottom:0; gap:.4rem; }
.gc-feed-tabs a { margin:0; padding:.5rem 1rem; border:1px solid var(--gc-line); border-radius:99px; background:#fff; color:var(--gc-ink-2); }
.gc-feed-tabs a.gc-btn--primary, .gc-feed-tabs a.is-active { background:var(--gc-navy); border-color:var(--gc-navy); color:#fff; }
.gc-has-rail .gc-app-layout h1 { font-family:var(--gc-serif); font-weight:600; letter-spacing:-.01em; color:var(--gc-navy); }
.gc-page-landing .gc-main > .gc-flash { position:absolute; z-index:120; top:4.6rem; left:50%; transform:translateX(-50%); width:min(36rem, calc(100% - 2rem)); margin:0; box-shadow:0 20px 40px -20px rgba(0,0,0,.5); }
/* Filet de sécurité : dès que le bouton « Découvrir » apparaît, tout l'écran est dans son état final
   (même si le navigateur a mis les animations en pause, onglet en arrière-plan par exemple). */
.gc-splash.is-ready .gc-splash__word span, .gc-splash.is-ready .gc-splash__mark, .gc-splash.is-ready .gc-splash__tagline,
.gc-splash.is-ready .gc-splash__label { animation:none !important; opacity:1 !important; transform:none !important; }
.gc-splash.is-ready .gc-splash__wave--top, .gc-splash.is-ready .gc-splash__wave--bottom { animation:none !important; transform:none !important; }
@media (max-width: 600px) { .gc-auth3__sub br { display:none; } .gc-auth3__title { font-size:2rem; } }
.gc-dot-online[hidden] { display:none !important; }

/* ============================================================
   FIL D'ACTUALITÉ — refonte (ordinateur + mobile)
   ============================================================ */
.gc-page-feed .gc-main { background:linear-gradient(180deg, #F2F3FF 0%, #F6F7FC 40%); }
.gc-feed2 { display:grid; grid-template-columns:minmax(0, 40rem) 20rem; gap:2rem; justify-content:center; max-width:66rem; margin:0 auto; padding:1.5rem var(--gc-gutter) 3rem; }
.gc-feed2__main { min-width:0; }
.gc-feed2__side { position:sticky; top:calc(var(--gc-nav-h) + 1rem); align-self:start; display:flex; flex-direction:column; gap:1rem; }
@media (max-width: 1099px) { .gc-feed2 { grid-template-columns:minmax(0, 40rem); } .gc-feed2__side { display:none; } }

/* Rangée d'avatars */
.gc-stories { display:flex; gap:.9rem; overflow-x:auto; padding:.3rem .2rem .9rem; margin-bottom:.4rem; scrollbar-width:none; scroll-snap-type:x proximity; }
.gc-stories::-webkit-scrollbar { display:none; }
.gc-story { flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:.35rem; width:4.6rem; border:0; background:none; padding:0; font:inherit; cursor:pointer; scroll-snap-align:start; }
.gc-story__ring { position:relative; display:block; width:4.2rem; height:4.2rem; padding:3px; border-radius:50%; background:linear-gradient(135deg, #CFD1F2, #E3E7F7); transition:transform .2s var(--gc-ease); }
.gc-story.is-followed .gc-story__ring { background:conic-gradient(from 200deg, #0A0FC8, #0A0FC8, #6C70F5, #0A0FC8); }
.gc-story__ring img { width:100%; height:100%; border-radius:50%; object-fit:cover; border:3px solid #fff; background:#fff; }
.gc-story:hover .gc-story__ring { transform:scale(1.05); }
.gc-story__ring i { position:absolute; right:-1px; bottom:-1px; display:grid; place-items:center; width:1.45rem; height:1.45rem; border-radius:50%; background:var(--gc-cobalt); color:#fff; border:2.5px solid #fff; }
.gc-story__name { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.76rem; font-weight:600; color:var(--gc-ink-2); }
.gc-story--me .gc-story__name { color:var(--gc-cobalt); }

/* Publier rapidement */
.gc-quick { display:grid; grid-template-columns:auto 1fr; gap:.7rem .8rem; align-items:center; padding:1rem 1.1rem; margin-bottom:1rem; border-radius:1.3rem; background:#fff; border:1px solid var(--gc-line); box-shadow:0 14px 34px -28px rgba(14,19,48,.45); }
.gc-quick__avatar { width:2.8rem; height:2.8rem; border-radius:50%; object-fit:cover; }
.gc-quick__input { text-align:left; height:2.8rem; padding:0 1.1rem; border-radius:99px; border:1px solid var(--gc-line); background:var(--gc-tint); color:var(--gc-text-muted); font:inherit; font-size:.95rem; cursor:text; transition:background .2s, border-color .2s; }
.gc-quick__input:hover { background:#fff; border-color:rgba(10,15,200,.35); }
.gc-quick__chips { grid-column:1 / -1; display:grid; grid-template-columns:repeat(4, 1fr); gap:.4rem; padding-top:.7rem; border-top:1px solid var(--gc-line); }
.gc-quick__chips > * { display:flex; align-items:center; justify-content:center; gap:.45rem; padding:.55rem .4rem; border:0; border-radius:.8rem; background:none; font:inherit; font-size:.86rem; font-weight:600; color:var(--gc-ink-2); cursor:pointer; transition:background .15s; }
.gc-quick__chips > *:hover { background:var(--gc-tint); }
.gc-quick__chips > *:nth-child(1) .gc-icon { color:#060AA8; }
.gc-quick__chips > *:nth-child(2) .gc-icon { color:#0A0FC8; }
.gc-quick__chips > *:nth-child(3) .gc-icon { color:var(--gc-violet); }
.gc-quick__chips > *:nth-child(4) .gc-icon { color:var(--gc-cobalt); }

/* Onglets segmentés */
.gc-seg { position:sticky; top:calc(var(--gc-nav-h) + .5rem); z-index:20; display:grid; grid-template-columns:1fr 1fr; gap:.25rem; padding:.3rem; margin-bottom:1rem; border-radius:99px; background:rgba(255,255,255,.85); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid var(--gc-line); box-shadow:0 10px 24px -20px rgba(14,19,48,.5); }
.gc-seg a { text-align:center; padding:.55rem; border-radius:99px; font-weight:700; font-size:.92rem; color:var(--gc-text-muted); transition:background .2s, color .2s; }
.gc-seg a.is-active { background:var(--gc-navy); color:#fff; box-shadow:0 8px 18px -10px rgba(11,18,64,.7); }

/* Carte de publication */
.gc-feed2__list { display:flex; flex-direction:column; gap:1rem; }
.gc-post2 { background:#fff; border:1px solid var(--gc-line); border-radius:1.35rem; padding:1rem 1.1rem .4rem; box-shadow:0 18px 40px -34px rgba(14,19,48,.55); animation:gc-fade-up .4s var(--gc-ease) both; }
.gc-post2__head { display:flex; align-items:center; gap:.75rem; }
.gc-post2__avatar img { width:2.85rem; height:2.85rem; border-radius:50%; object-fit:cover; box-shadow:0 0 0 2px #fff, 0 0 0 3.5px rgba(10,15,200,.25); }
.gc-post2__who { flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.3; }
.gc-post2__name { font-weight:700; color:var(--gc-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gc-post2__name:hover { color:var(--gc-cobalt); }
.gc-post2__meta { font-size:.8rem; color:var(--gc-text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gc-post2__chip { flex-shrink:0; padding:.25rem .65rem; border-radius:99px; font-size:.72rem; font-weight:800; letter-spacing:.02em; background:var(--gc-tint); color:var(--gc-cobalt); }
.gc-post2__chip--project { background:#E8E9FF; color:#0A0FC8; }
.gc-post2__chip--question { background:#F2F3FF; color:#0A0FC8; }
.gc-post2__chip--resource, .gc-post2__chip--tutorial { background:#F2F3FF; color:#060AA8; }
.gc-post2__menu { position:relative; }
.gc-post2__menu > summary { list-style:none; cursor:pointer; }
.gc-post2__menu > summary::-webkit-details-marker { display:none; }
.gc-post2__menu-list { position:absolute; right:0; top:calc(100% + .3rem); z-index:30; min-width:11rem; padding:.35rem; border-radius:1rem; background:#fff; box-shadow:0 24px 50px -20px rgba(14,19,48,.45), 0 0 0 1px rgba(14,19,48,.06); animation:gc-fade-up .18s var(--gc-ease); }
.gc-post2__menu-list button { display:flex; align-items:center; gap:.55rem; width:100%; padding:.6rem .7rem; border:0; border-radius:.7rem; background:none; font:inherit; font-size:.9rem; font-weight:600; color:var(--gc-ink-2); text-align:left; cursor:pointer; }
.gc-post2__menu-list button:hover { background:var(--gc-tint); }
.gc-post2__menu-list .feed-delete-post-btn { color:#060AA8; }
.gc-post2__body { margin-top:.75rem; }
.gc-post2__text { margin:0; font-size:.98rem; line-height:1.6; color:var(--gc-ink); overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden; }
.gc-post2__text.is-open { display:block; -webkit-line-clamp:unset; }
.gc-post2__text--big { font-family:var(--gc-serif); font-size:1.32rem; line-height:1.45; color:var(--gc-navy); }
.gc-post2__more { border:0; background:none; padding:.2rem 0 0; font:inherit; font-weight:700; font-size:.9rem; color:var(--gc-cobalt); cursor:pointer; }
.gc-post2__media { position:relative; margin:.8rem -1.1rem 0; overflow:hidden; background:var(--gc-tint); }
.gc-post2__media img, .gc-post2__media video { display:block; width:100%; max-height:36rem; object-fit:cover; }
.gc-post2__media--video video { object-fit:contain; background:#000; }
.gc-post2__burst { position:absolute; inset:0; display:grid; place-items:center; color:#fff; opacity:0; pointer-events:none; filter:drop-shadow(0 10px 25px rgba(0,0,0,.35)); }
.gc-post2__media.is-burst .gc-post2__burst { animation:gc-burst .8s var(--gc-ease); }
@keyframes gc-burst { 0% { opacity:0; transform:scale(.3); } 30% { opacity:1; transform:scale(1.15); } 60% { opacity:1; transform:scale(.95); } 100% { opacity:0; transform:scale(1.1); } }
.gc-feed-item__link { display:inline-flex; align-items:center; gap:.4rem; margin-top:.7rem; padding:.55rem .9rem; border-radius:.8rem; background:var(--gc-tint); font-weight:600; font-size:.88rem; color:var(--gc-cobalt); }
.gc-feed-item__ref-card { display:flex; flex-direction:column; gap:.2rem; margin-top:.7rem; padding:.9rem 1rem; border-radius:1rem; background:var(--gc-tint); border:1px solid rgba(10,15,200,.15); }
.gc-post2__project { position:relative; display:block; margin:0 -1.1rem; aspect-ratio:4 / 3; overflow:hidden; background:linear-gradient(135deg, #060AA8, #0A0FC8); }
.gc-post2__project img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--gc-ease); }
.gc-post2__project:hover img { transform:scale(1.03); }
.gc-post2__project-ph { position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.6); }
.gc-post2__project-info { position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column; gap:.25rem; padding:2.5rem 1.1rem 1rem; color:#fff; background:linear-gradient(180deg, transparent, rgba(11,18,64,.85)); }
.gc-post2__project-info strong { font-family:var(--gc-serif); font-size:1.35rem; font-weight:600; line-height:1.2; }
.gc-post2__project-info span { display:flex; align-items:center; gap:.3rem; font-size:.82rem; opacity:.9; }
.gc-post2__tile, .gc-post2__question { display:flex; align-items:center; gap:.85rem; padding:.95rem 1rem; border-radius:1rem; background:var(--gc-tint); }
.gc-post2__tile div, .gc-post2__question div { display:flex; flex-direction:column; min-width:0; }
.gc-post2__tile strong, .gc-post2__question strong { color:var(--gc-ink); line-height:1.35; }
.gc-post2__tile span, .gc-post2__question div span { font-size:.82rem; color:var(--gc-text-muted); }
.gc-post2__tile-ic { flex-shrink:0; display:grid; place-items:center; width:2.8rem; height:2.8rem; border-radius:.9rem; background:#fff; color:var(--gc-cobalt); }
.gc-post2__question { background:#F6F6FF; }
.gc-post2__q { flex-shrink:0; display:grid; place-items:center; width:2.8rem; height:2.8rem; border-radius:50%; background:#C9CBFF; color:#060AA8; font-family:var(--gc-serif); font-size:1.5rem; font-weight:700; }
.gc-post2__note { margin:0; display:flex; align-items:center; gap:.4rem; font-size:.9rem; color:var(--gc-ink-2); }
.gc-post2__cta { padding:.8rem 0 .6rem; }
.gc-post2__actions { display:flex; align-items:center; gap:.15rem; margin:.5rem -.4rem 0; padding-top:.35rem; }
.gc-act { display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .7rem; border:0; border-radius:99px; background:none; font:inherit; font-weight:700; font-size:.9rem; color:var(--gc-ink-2); cursor:pointer; transition:background .15s, color .15s; -webkit-tap-highlight-color:transparent; }
.gc-act .gc-icon { width:1.4rem; height:1.4rem; }
.gc-act:hover { background:var(--gc-tint); }
.gc-act--end { margin-left:auto; }
.feed-like-btn.is-on, .feed-like-btn[data-liked="1"] { color:#0A0FC8; }
.feed-share-btn.is-on, .feed-share-btn[data-shared="1"] { color:var(--gc-violet); }
.feed-save-btn.is-on, .feed-save-btn[data-saved="1"] { color:var(--gc-cobalt); }
.gc-act.is-pop .gc-icon { animation:gc-pop .45s cubic-bezier(.34,1.56,.64,1); }
@keyframes gc-pop { 0% { transform:scale(1); } 40% { transform:scale(1.35); } 100% { transform:scale(1); } }
.gc-post2__comments { margin:0 -1.1rem; padding:.8rem 1.1rem .9rem; border-top:1px solid var(--gc-line); background:#FAFAFF; border-radius:0 0 1.35rem 1.35rem; }
.gc-post2__comment-form { display:flex; align-items:center; gap:.55rem; margin-top:.6rem; }
.gc-post2__comment-form input { flex:1; min-width:0; height:2.5rem; padding:0 1rem; border-radius:99px; border:1px solid var(--gc-line); background:#fff; font:inherit; font-size:.9rem; }
.gc-post2__comment-form input:focus { outline:none; border-color:var(--gc-cobalt); box-shadow:0 0 0 3px rgba(10,15,200,.12); }
.gc-post2__send { display:grid; place-items:center; width:2.5rem; height:2.5rem; border:0; border-radius:50%; background:var(--gc-cobalt); color:#fff; cursor:pointer; }

/* Nouveaux membres regroupés */
.gc-post2--members { padding-bottom:1rem; }
.gc-post2__grouphead { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; }
.gc-post2__grouphead .gc-icon { color:var(--gc-violet); }
.gc-post2__grouphead span { width:100%; font-size:.82rem; color:var(--gc-text-muted); }
.gc-post2__members { display:flex; gap:.75rem; overflow-x:auto; margin:.9rem -1.1rem 0; padding:0 1.1rem .3rem; scrollbar-width:none; }
.gc-post2__members::-webkit-scrollbar { display:none; }
.gc-member-chip { flex:0 0 9.5rem; display:flex; flex-direction:column; align-items:center; gap:.3rem; padding:1rem .7rem .8rem; border-radius:1.1rem; border:1px solid var(--gc-line); background:linear-gradient(180deg, var(--gc-tint), #fff 55%); text-align:center; }
.gc-member-chip__img { width:4rem; height:4rem; border-radius:50%; object-fit:cover; box-shadow:0 0 0 3px #fff, 0 0 0 4.5px rgba(10,15,200,.35); }
.gc-member-chip__name { font-weight:700; font-size:.9rem; color:var(--gc-ink); max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:.35rem; }
.gc-member-chip__meta { font-size:.75rem; color:var(--gc-text-muted); max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gc-member-chip .gc-btn { margin-top:.4rem; width:100%; justify-content:center; }

.gc-feed2__more { text-align:center; margin-top:1rem; }
.gc-feed2__empty h2 { margin:.4rem 0 .2rem; font-family:var(--gc-serif); color:var(--gc-navy); }
.gc-feed2__empty .gc-pill-cta { margin-top:1rem; }

/* Colonne latérale */
.gc-side2 { padding:1rem 1.1rem; border-radius:1.3rem; background:#fff; border:1px solid var(--gc-line); }
.gc-side2 h2 { display:flex; justify-content:space-between; align-items:baseline; margin:0 0 .7rem; font-size:.95rem; }
.gc-side2 h2 a { font-size:.8rem; font-weight:700; color:var(--gc-cobalt); }
.gc-side2__row { display:flex; align-items:center; gap:.7rem; padding:.45rem 0; }
.gc-side2__row img { width:2.4rem; height:2.4rem; border-radius:50%; object-fit:cover; }
.gc-side2__rowtxt { flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.3; }
.gc-side2__rowtxt strong { font-size:.9rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gc-side2__rowtxt small { font-size:.76rem; color:var(--gc-text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gc-side2__follow { flex-shrink:0; padding:.35rem .85rem; border:0; border-radius:99px; background:var(--gc-tint); color:var(--gc-cobalt); font:inherit; font-weight:700; font-size:.8rem; cursor:pointer; }
.gc-side2__follow:hover { background:var(--gc-cobalt); color:#fff; }
.gc-side2__empty { margin:0; font-size:.85rem; color:var(--gc-text-muted); }
.gc-side2 .gc-date-chip { min-width:2.6rem; padding:.25rem .4rem; }
.gc-side2 .gc-tile__icon { margin:0; width:2.4rem; height:2.4rem; }
.gc-side2--me { color:#fff; background:linear-gradient(135deg, #020338 0%, #0A0FC8 100%); border:0; }
.gc-side2__me { display:flex; align-items:center; gap:.75rem; color:#fff; }
.gc-side2__me img { width:3rem; height:3rem; border-radius:50%; object-fit:cover; border:2px solid rgba(255,255,255,.7); }
.gc-side2__me span { display:flex; flex-direction:column; min-width:0; }
.gc-side2__me small { opacity:.7; }
.gc-side2__stats { display:grid; grid-template-columns:repeat(3, 1fr); gap:.4rem; margin:.9rem 0 0; }
.gc-side2__stats div { padding:.5rem .3rem; border-radius:.8rem; background:rgba(255,255,255,.1); text-align:center; }
.gc-side2__stats dt { font-size:.68rem; opacity:.75; }
.gc-side2__stats dd { margin:0; font-family:var(--gc-serif); font-size:1.15rem; font-weight:600; }

/* Fenêtre de publication */
.gc-composer3 { width:min(36rem, calc(100vw - 1.5rem)); }
.gc-composer3__form { display:flex; flex-direction:column; }
.gc-composer3__head { display:flex; align-items:center; gap:.6rem; padding:.8rem 1rem; border-bottom:1px solid var(--gc-line); }
.gc-composer3__head h2 { flex:1; margin:0; font-size:1.05rem; text-align:center; }
.gc-composer3__author { display:flex; align-items:center; gap:.7rem; padding:1rem 1.2rem 0; }
.gc-composer3__author img { width:2.7rem; height:2.7rem; border-radius:50%; object-fit:cover; }
.gc-composer3__author div { display:flex; flex-direction:column; }
.gc-composer3__author small { font-size:.78rem; color:var(--gc-text-muted); }
.gc-composer3 textarea { min-height:7rem; max-height:20rem; margin:.4rem 0 0; padding:.6rem 1.2rem; border:0; resize:none; font:inherit; font-size:1.1rem; line-height:1.55; color:var(--gc-ink); outline:none; }
.gc-composer3__preview { position:relative; margin:0 1.2rem .6rem; border-radius:1rem; overflow:hidden; background:var(--gc-tint); }
.gc-composer3__preview img, .gc-composer3__preview video { display:block; width:100%; max-height:18rem; object-fit:contain; }
.gc-composer3__remove { position:absolute; top:.5rem; right:.5rem; width:2rem; height:2rem; border:0; border-radius:50%; background:rgba(0,0,0,.6); color:#fff; font-size:1.3rem; line-height:1; cursor:pointer; }
.gc-composer3__link, .gc-composer3__refs { margin:0 1.2rem .6rem; display:flex; flex-direction:column; gap:.5rem; }
.gc-composer3__link[hidden], .gc-composer3__refs[hidden], .gc-composer3__preview[hidden] { display:none; }
.gc-composer3__link input, .gc-composer3__refs select { width:100%; height:2.8rem; border-radius:.8rem; border:1px solid var(--gc-line); background:var(--gc-tint); padding:0 .9rem 0 2.6rem; font:inherit; }
.gc-composer3__refs select { padding-left:.9rem; }
.gc-composer3__tools { display:flex; align-items:center; gap:.2rem; margin:0 1rem 1rem; padding:.45rem .6rem; border:1px solid var(--gc-line); border-radius:1rem; }
.gc-composer3__tools > span { font-weight:600; font-size:.88rem; color:var(--gc-ink-2); margin-right:auto; padding-left:.3rem; }
.gc-composer3__tools .gc-icon-btn { cursor:pointer; }
.gc-composer3__tools label:nth-of-type(1) .gc-icon { color:#060AA8; }
.gc-composer3__tools label:nth-of-type(2) .gc-icon { color:#0A0FC8; }
.gc-composer3__count { font-size:.75rem; color:var(--gc-text-muted); margin-left:.4rem; }
@media (max-width: 699px) {
  .gc-composer3 { width:100vw; max-width:100vw; max-height:100dvh; height:100dvh; margin:0; border-radius:0; }
  .gc-composer3__form { height:100%; }
  .gc-composer3 textarea { flex:1; max-height:none; }
}

/* ---------- Fil sur mobile : cartes bord à bord, comme une appli ---------- */
@media (max-width: 699px) {
  .gc-feed2 { padding:.6rem 0 1.5rem; }
  .gc-stories { padding:.3rem 1rem .8rem; margin:0; }
  .gc-quick { margin:0 .75rem .8rem; }
  .gc-seg { margin:0 .75rem .8rem; top:calc(var(--gc-nav-h) + .4rem); }
  .gc-feed2__list { gap:.55rem; }
  .gc-post2 { border-radius:0; border-left:0; border-right:0; box-shadow:none; padding:.9rem 1rem .3rem; }
  .gc-post2__media, .gc-post2__project { margin-left:-1rem; margin-right:-1rem; }
  .gc-post2__comments { margin:0 -1rem; border-radius:0; }
  .gc-post2__members { margin-left:-1rem; margin-right:-1rem; padding:0 1rem .3rem; }
  .gc-quick__chips span { display:none; }
  .gc-quick__chips > * { padding:.6rem; }
  .gc-feed2__list > .gc-flash, .gc-feed2__main > .gc-flash { margin:0 .75rem .8rem; }
}

/* ---------- Barre mobile : bouton central « Publier » ---------- */
.gc-tabbar__fab-wrap { position:relative; }
.gc-tabbar__fab { display:grid; place-items:center; width:3.3rem; height:3.3rem; margin-top:-1.55rem; border-radius:50%; color:#fff; background:linear-gradient(135deg, #020338 0%, #0A0FC8 100%); box-shadow:0 14px 26px -10px rgba(10,15,200,.75), 0 0 0 4px #fff; transition:transform .25s var(--gc-ease); }
.gc-tabbar__create[open] .gc-tabbar__fab { transform:rotate(45deg); }
.gc-tabbar__fab-wrap > span:last-child { margin-top:.1rem; }
.gc-sheet--create { padding-bottom:1.4rem; }
.gc-sheet__title { margin:0 0 .8rem; text-align:center; font-family:var(--gc-serif); font-size:1.15rem; font-weight:600; color:var(--gc-navy); }
.gc-create-opt { display:flex; align-items:center; gap:.75rem; padding:.85rem .9rem; border-radius:1rem; background:var(--gc-tint); color:var(--gc-ink); }
.gc-create-opt span:last-child { display:flex; flex-direction:column; }
.gc-create-opt small { font-size:.78rem; color:var(--gc-text-muted); }
.gc-create-opt__ic { flex-shrink:0; display:grid; place-items:center; width:2.6rem; height:2.6rem; border-radius:.85rem; background:#fff; color:var(--gc-cobalt); }
.gc-create-opt--main { margin-bottom:.6rem; color:#fff; background:linear-gradient(120deg, #020338 0%, #0A0FC8 100%); }
.gc-create-opt--main small { color:rgba(255,255,255,.75); }
.gc-create-opt--main .gc-create-opt__ic { background:rgba(255,255,255,.15); color:#fff; }
.gc-create-grid { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.gc-create-grid .gc-create-opt { padding:.7rem .75rem; font-size:.9rem; }
.gc-create-grid .gc-create-opt__ic { width:2.2rem; height:2.2rem; }

/* ============================================================
   ENGAGEMENT — mascotte Nodi, palette du jour, niveaux, défis, mode sombre
   ============================================================ */
.gc-nodi { display:block; overflow:visible; }
.gc-nodi .gc-nodi__body { transform-origin:100px 186px; animation:gc-nodi-bob 3.2s ease-in-out infinite; }
.gc-nodi .gc-nodi__eyes { transform-origin:100px 78px; animation:gc-nodi-blink 5s infinite; }
.gc-nodi--hello .gc-nodi__arm--r { transform-origin:125px 116px; animation:gc-nodi-wave 1.6s ease-in-out infinite; }
.gc-nodi--cheer .gc-nodi__body { animation:gc-nodi-jump 1.2s ease-in-out infinite; }
.gc-nodi--cheer .gc-nodi__confetti { animation:gc-nodi-confetti 1.2s ease-in-out infinite; }
.gc-nodi--sleep .gc-nodi__zzz { animation:gc-nodi-zzz 2.4s ease-in-out infinite; }
.gc-nodi--think .gc-nodi__bubble { animation:gc-nodi-bob 2.4s ease-in-out infinite; }
@keyframes gc-nodi-bob { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@keyframes gc-nodi-jump { 0%,100% { transform:translateY(0); } 40% { transform:translateY(-12px) rotate(-3deg); } 60% { transform:translateY(-12px) rotate(3deg); } }
@keyframes gc-nodi-wave { 0%,100% { transform:rotate(0); } 25% { transform:rotate(-14deg); } 75% { transform:rotate(10deg); } }
@keyframes gc-nodi-blink { 0%,94%,100% { transform:scaleY(1); } 97% { transform:scaleY(.1); } }
@keyframes gc-nodi-confetti { 0%,100% { transform:translateY(0); opacity:1; } 50% { transform:translateY(-6px); opacity:.7; } }
@keyframes gc-nodi-zzz { 0% { opacity:0; transform:translateY(6px); } 50% { opacity:1; } 100% { opacity:0; transform:translateY(-8px); } }
@media (prefers-reduced-motion: reduce) { .gc-nodi * { animation:none !important; } }
.gc-onboard__slide .gc-nodi { margin:0 auto .4rem; }
.gc-thread-empty .gc-nodi { margin:0 auto 1rem; }
.gc-empty2 { padding:1.5rem 1rem 2rem; text-align:center; color:var(--gc-text-muted); }
.gc-empty2 .gc-nodi, .gc-feed2__empty .gc-nodi { margin:0 auto .4rem; }
.gc-empty2 h2 { margin:.3rem 0 .2rem; font-family:var(--gc-serif); color:var(--gc-navy); }
.gc-section .gc-nodi { margin:0 auto; }

/* Palette du jour */
.gc-palette__name { margin:-.3rem 0 .6rem; font-family:var(--gc-serif); font-size:1.05rem; color:var(--gc-navy); }
.gc-palette__swatches { display:grid; grid-template-columns:repeat(5, 1fr); height:4.2rem; border-radius:.9rem; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(14,19,48,.08); }
.gc-swatch { position:relative; border:0; padding:0; background:var(--c); cursor:pointer; transition:flex .3s var(--gc-ease), transform .2s; }
.gc-swatch span { position:absolute; left:50%; bottom:.35rem; transform:translateX(-50%); padding:.1rem .35rem; border-radius:.4rem; background:rgba(255,255,255,.88); color:#0B1240; font:700 .62rem/1.3 ui-monospace, Consolas, monospace; opacity:0; transition:opacity .2s; white-space:nowrap; }
.gc-swatch:hover span, .gc-swatch:focus-visible span, .gc-swatch.is-copied span { opacity:1; }
.gc-swatch.is-copied { transform:scaleY(1.06); }
.gc-palette__hint { margin:.5rem 0 0; font-size:.75rem; color:var(--gc-text-muted); }
.gc-palette h2 small { font-weight:600; font-size:.75rem; color:var(--gc-text-muted); }
.gc-palette-list { display:grid; grid-template-columns:repeat(auto-fill, minmax(17rem, 1fr)); gap:1rem; }
.gc-palette.is-today { box-shadow:0 0 0 2px var(--gc-cobalt); }
.gc-feed2__mobile-palette { display:none; }
@media (max-width: 1099px) { .gc-feed2__mobile-palette { display:block; margin-bottom:1rem; } }
@media (max-width: 699px) { .gc-feed2__mobile-palette { margin:0 .75rem .8rem; } }

/* Niveau et série */
.gc-level { margin-top:.9rem; padding-top:.8rem; border-top:1px solid rgba(255,255,255,.15); }
.gc-level__top { display:flex; justify-content:space-between; align-items:center; font-size:.82rem; }
.gc-streak { display:inline-flex; align-items:center; gap:.25rem; padding:.15rem .5rem; border-radius:99px; background:rgba(163,166,255,.18); color:#C9CBFF; font-weight:700; }
.gc-level__bar { height:.45rem; margin:.5rem 0 .35rem; border-radius:99px; background:rgba(255,255,255,.15); overflow:hidden; }
.gc-level__bar span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg, #6C70F5, #A3A6FF); }
.gc-level small { font-size:.72rem; opacity:.75; }

/* Conseil du jour */
.gc-tip { display:flex; gap:.6rem; align-items:flex-start; background:linear-gradient(180deg, #F2F3FF, #fff); }
.gc-tip .gc-nodi { flex-shrink:0; margin-top:-.3rem; }
.gc-tip h2 { margin:0 0 .25rem; }
.gc-tip p { margin:0; font-size:.86rem; line-height:1.5; color:var(--gc-ink-2); }

/* Bannière et page du défi */
.gc-challenge-banner { display:flex; align-items:center; gap:.9rem; margin-bottom:1rem; padding:.8rem 1.1rem .8rem .6rem; border-radius:1.3rem; color:#fff; background:linear-gradient(120deg, #020338 0%, #0A0FC8 100%); box-shadow:0 20px 40px -26px rgba(6,10,168,.9); transition:transform .2s var(--gc-ease); }
.gc-challenge-banner:hover { transform:translateY(-2px); }
.gc-challenge-banner__nodi { flex-shrink:0; display:grid; place-items:center; width:4.6rem; height:4.6rem; border-radius:1rem; background:rgba(255,255,255,.1); }
.gc-challenge-banner__txt { flex:1; min-width:0; display:flex; flex-direction:column; }
.gc-challenge-banner__txt small { font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#C9CBFF; }
.gc-challenge-banner__txt strong { font-family:var(--gc-serif); font-size:1.2rem; font-weight:600; line-height:1.25; }
.gc-challenge-banner__txt span { font-size:.82rem; opacity:.8; }
@media (max-width: 699px) { .gc-challenge-banner { margin:0 .75rem .8rem; } }
.gc-challenge-hero { display:grid; grid-template-columns:1fr auto; gap:1.5rem; align-items:center; padding:1.8rem; border-radius:1.6rem; color:#fff; background:linear-gradient(130deg, #020338 0%, #0A0FC8 100%); }
.gc-challenge-hero__kicker { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .8rem; border-radius:99px; background:rgba(255,255,255,.12); font-size:.8rem; font-weight:700; }
.gc-challenge-hero h1 { margin:.8rem 0 .6rem; font-family:var(--gc-serif); font-weight:600; font-size:clamp(1.8rem, 1.3rem + 2vw, 2.6rem); color:#fff; }
.gc-challenge-hero p { margin:0; color:rgba(255,255,255,.85); max-width:36rem; line-height:1.6; }
.gc-challenge-hero__rules { list-style:none; margin:1.1rem 0 0; padding:0; display:grid; gap:.4rem; font-size:.88rem; }
.gc-challenge-hero__rules li { display:flex; align-items:center; gap:.45rem; }
.gc-challenge-hero__rules .gc-icon { color:#C9CBFF; }
@media (max-width: 699px) { .gc-challenge-hero { grid-template-columns:1fr; } .gc-challenge-hero__nodi { display:none; } }
.gc-challenge-form, .gc-challenge-mine { margin-top:1.2rem; padding:1.2rem 1.3rem; border-radius:1.3rem; background:#fff; border:1px solid var(--gc-line); }
.gc-challenge-form h2 { margin:0 0 .8rem; }
.gc-challenge-mine { display:flex; align-items:center; gap:1rem; }
.gc-challenge-mine > div { flex:1; display:flex; flex-direction:column; }
.gc-challenge-mine span { font-size:.85rem; color:var(--gc-text-muted); }
.gc-entries { display:grid; grid-template-columns:repeat(auto-fill, minmax(15rem, 1fr)); gap:1rem; }
.gc-entry { display:flex; flex-direction:column; border-radius:1.2rem; overflow:hidden; background:#fff; border:1px solid var(--gc-line); }
.gc-entry__img { position:relative; display:block; aspect-ratio:4 / 3; background:var(--gc-tint); }
.gc-entry__img img { width:100%; height:100%; object-fit:cover; }
.gc-entry__lead { position:absolute; top:.6rem; left:.6rem; display:inline-flex; align-items:center; gap:.3rem; padding:.25rem .6rem; border-radius:99px; background:#A3A6FF; color:#060AA8; font-size:.74rem; font-weight:800; }
.gc-entry__body { flex:1; display:flex; flex-direction:column; gap:.3rem; padding:.8rem 1rem .2rem; }
.gc-entry__body span { font-size:.8rem; color:var(--gc-text-muted); }
.gc-entry__author { display:flex; align-items:center; gap:.4rem; font-size:.82rem; color:var(--gc-ink-2); }
.gc-entry__author img { width:1.5rem; height:1.5rem; border-radius:50%; object-fit:cover; }
.gc-entry__vote { padding:0 .6rem .6rem; }
.gc-entry__vote .gc-act:disabled { opacity:.5; cursor:not-allowed; }

/* Bienvenue */
.gc-welcome { text-align:center; width:min(28rem, calc(100vw - 1.5rem)); }
.gc-welcome .gc-nodi { margin:0 auto; }
.gc-welcome h2 { margin:.3rem 0; font-family:var(--gc-serif); font-weight:600; color:var(--gc-navy); }
.gc-welcome p { color:var(--gc-text-muted); }
.gc-welcome__steps { list-style:none; margin:1rem 0 1.2rem; padding:0; display:grid; gap:.5rem; text-align:left; }
.gc-welcome__steps a { display:flex; align-items:center; gap:.6rem; padding:.75rem .9rem; border-radius:.9rem; background:var(--gc-tint); font-weight:600; color:var(--gc-ink); }
.gc-welcome__steps .gc-icon { color:var(--gc-cobalt); }

/* Bouton thème */
.gc-theme-btn .gc-icon:last-child { display:none; }
html[data-theme="dark"] .gc-theme-btn .gc-icon:first-child { display:none; }
html[data-theme="dark"] .gc-theme-btn .gc-icon:last-child { display:inline-block; }

/* ---------- Mode sombre ---------- */
html[data-theme="dark"] {
  --gc-bg:#0B0F24; --gc-text:#E7EAF7; --gc-text-muted:#9AA3C7; --gc-ink:#E7EAF7; --gc-ink-2:#C5CBE4; --gc-navy:#E7EAF7;
  --gc-line:rgba(255,255,255,.09); --gc-tint:#1A2048; --gc-mist:#141A3B; --gc-border:rgba(255,255,255,.1);
  --gc-surface:rgba(20,26,59,.75); --gc-surface-2:#141A3B; color-scheme:dark;
}
html[data-theme="dark"] body { background:#0B0F24; color:var(--gc-text); }
html[data-theme="dark"] .gc-page-feed .gc-main { background:#0B0F24; }
html[data-theme="dark"] .gc-navbar, html[data-theme="dark"] .gc-rail, html[data-theme="dark"] .gc-tabbar, html[data-theme="dark"] .gc-seg { background:rgba(14,19,44,.92); border-color:var(--gc-line); }
html[data-theme="dark"] .gc-brand, html[data-theme="dark"] .gc-auth3__logo { color:#fff; }
html[data-theme="dark"] .gc-post2, html[data-theme="dark"] .gc-quick, html[data-theme="dark"] .gc-side2:not(.gc-side2--me), html[data-theme="dark"] .gc-card,
html[data-theme="dark"] .gc-tile, html[data-theme="dark"] .gc-media-card, html[data-theme="dark"] .gc-person, html[data-theme="dark"] .gc-list-card,
html[data-theme="dark"] .gc-event-row, html[data-theme="dark"] .gc-entry, html[data-theme="dark"] .gc-challenge-form, html[data-theme="dark"] .gc-challenge-mine,
html[data-theme="dark"] .gc-sheet, html[data-theme="dark"] .gc-dialog, html[data-theme="dark"] .gc-post2__menu-list, html[data-theme="dark"] .gc-tabs a,
html[data-theme="dark"] .gc-messenger, html[data-theme="dark"] .gc-thread__head, html[data-theme="dark"] .gc-composer2, html[data-theme="dark"] .gc-msg__bubble,
html[data-theme="dark"] .gc-typing, html[data-theme="dark"] .gc-form, html[data-theme="dark"] .gc-auth3__card, html[data-theme="dark"] .gc-empty, html[data-theme="dark"] .gc-tip,
html[data-theme="dark"] .gc-cover-head, html[data-theme="dark"] .gc-composer, html[data-theme="dark"] .gc-post { background:#141A3B; border-color:var(--gc-line); color:var(--gc-text); }
html[data-theme="dark"] .gc-messenger__thread, html[data-theme="dark"] .gc-post2__comments, html[data-theme="dark"] .gc-auth3, html[data-theme="dark"] .gc-auth3__main { background:#0F1430; }
html[data-theme="dark"] .gc-msg--mine .gc-msg__bubble { background:var(--gc-cobalt); color:#fff; }
html[data-theme="dark"] input, html[data-theme="dark"] textarea, html[data-theme="dark"] select,
html[data-theme="dark"] .gc-quick__input, html[data-theme="dark"] .gc-topsearch input, html[data-theme="dark"] .gc-messenger__search input,
html[data-theme="dark"] .gc-composer2__field, html[data-theme="dark"] .gc-post2__comment-form input { background:#1A2048 !important; color:var(--gc-text) !important; border-color:var(--gc-line) !important; }
html[data-theme="dark"] .gc-member-chip { background:linear-gradient(180deg, #1A2048, #141A3B 55%); }
html[data-theme="dark"] .gc-story__ring img, html[data-theme="dark"] .gc-post2__avatar img { border-color:#141A3B; }
html[data-theme="dark"] .gc-tabs a.is-active, html[data-theme="dark"] .gc-seg a.is-active, html[data-theme="dark"] .gc-feed-tabs a.gc-btn--primary { background:var(--gc-cobalt); color:#fff; }
html[data-theme="dark"] .gc-footer { background:#0B0F24; border-color:var(--gc-line); }
html[data-theme="dark"] .gc-tile__icon, html[data-theme="dark"] .gc-post2__tile-ic, html[data-theme="dark"] .gc-sheet__icon, html[data-theme="dark"] .gc-create-opt__ic { background:#1A2048; }
html[data-theme="dark"] .gc-post2__question { background:#1F2760; }
html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] h3 { color:var(--gc-text); }
html[data-theme="dark"] .gc-flash { filter:brightness(.9); }

/* ---------- Boîte à outils ---------- */
.gc-tool { padding:1.4rem; border-radius:1.4rem; background:#fff; border:1px solid var(--gc-line); }
.gc-tool[hidden] { display:none; }
.gc-tool h2 { margin:0 0 .3rem; }
.gc-tool__intro { margin:0 0 1.1rem; color:var(--gc-text-muted); }
.gc-tool__note { font-size:.82rem; color:var(--gc-text-muted); margin:.8rem 0 0; }
.gc-tool__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(13rem, 1fr)); gap:.8rem 1rem; margin-bottom:1rem; }
.gc-tool input:not([type=color]):not([type=checkbox]), .gc-tool select { width:100%; height:2.8rem; padding:0 .85rem; border-radius:.8rem; border:1px solid var(--gc-line); background:var(--gc-tint); font:inherit; color:var(--gc-ink); }
.gc-colorfield { display:flex; gap:.5rem; align-items:center; }
.gc-colorfield input[type=color] { flex-shrink:0; width:2.8rem; height:2.8rem; padding:0; border:0; border-radius:.8rem; background:none; cursor:pointer; }
.gc-contrast { display:grid; grid-template-columns:1.4fr 1fr; gap:1rem; }
.gc-contrast__preview { display:flex; flex-direction:column; justify-content:center; gap:.4rem; min-height:9rem; padding:1.2rem 1.4rem; border-radius:1.1rem; border:1px solid var(--gc-line); }
.gc-contrast__preview strong { font-family:var(--gc-serif); font-size:1.6rem; }
.gc-contrast__score { padding:1rem 1.2rem; border-radius:1.1rem; background:var(--gc-tint); }
.gc-contrast__score b { display:block; font-family:var(--gc-serif); font-size:2.2rem; color:var(--gc-navy); }
.gc-contrast__score > span { font-size:.82rem; color:var(--gc-text-muted); }
.gc-contrast__score ul { list-style:none; margin:.8rem 0 0; padding:0; display:grid; gap:.3rem; font-size:.88rem; font-weight:600; }
.gc-contrast__score .is-ok { color:#060AA8; }
.gc-contrast__score .is-ko { color:#060AA8; }
@media (max-width: 699px) { .gc-contrast { grid-template-columns:1fr; } }
.gc-harmonies { display:grid; gap:1rem; }
.gc-harmony h3 { margin:0 0 .45rem; font-size:.95rem; }
.gc-convert__swatch { height:5rem; border-radius:1rem; box-shadow:inset 0 0 0 1px rgba(14,19,48,.08); }
.gc-print-out { display:grid; grid-template-columns:repeat(auto-fit, minmax(11rem, 1fr)); gap:.6rem; margin-top:1rem; }
.gc-print-out > div { display:flex; flex-direction:column; padding:.8rem 1rem; border-radius:1rem; background:var(--gc-tint); }
.gc-print-out span { font-size:.78rem; color:var(--gc-text-muted); }
.gc-print-out strong { font-family:var(--gc-serif); font-size:1.25rem; color:var(--gc-navy); }
.gc-print-out .gc-tool__note { grid-column:1 / -1; }
.gc-hub-head .gc-nodi { flex-shrink:0; }
html[data-theme="dark"] .gc-tool { background:#141A3B; }

/* ---------- Collections et récapitulatif ---------- */
.gc-collect__list { list-style:none; margin:0 0 1rem; padding:0; display:grid; gap:.4rem; max-height:16rem; overflow-y:auto; }
.gc-collect__empty { padding:.8rem; color:var(--gc-text-muted); font-size:.9rem; }
.gc-collect__item { display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; align-items:center; width:100%; padding:.65rem .9rem; border:1px solid var(--gc-line); border-radius:.9rem; background:var(--gc-tint); font:inherit; color:var(--gc-ink); text-align:left; cursor:pointer; }
.gc-collect__item small { grid-row:2; color:var(--gc-text-muted); font-size:.78rem; }
.gc-collect__tick { grid-row:1 / 3; grid-column:2; display:grid; place-items:center; width:1.9rem; height:1.9rem; border-radius:50%; background:#fff; color:var(--gc-cobalt); font-weight:800; }
.gc-collect__item.is-in { border-color:var(--gc-cobalt); }
.gc-collect__item.is-in .gc-collect__tick { background:var(--gc-cobalt); color:#fff; }
.gc-collect__new { display:flex; gap:.5rem; margin-bottom:1rem; }
.gc-collect__new input, .gc-collect__rename input { flex:1; min-width:0; height:2.5rem; padding:0 .9rem; border-radius:.8rem; border:1px solid var(--gc-line); background:var(--gc-tint); font:inherit; color:var(--gc-ink); }
.gc-collect__rename { display:flex; gap:.5rem; flex:1; max-width:30rem; }
.gc-collect__rename input { font-family:var(--gc-serif); font-size:1.4rem; height:3rem; }
.gc-boards { display:grid; grid-template-columns:repeat(auto-fill, minmax(14rem, 1fr)); gap:1rem; }
.gc-board { display:flex; flex-direction:column; gap:.2rem; padding:.6rem .6rem .9rem; border-radius:1.2rem; background:#fff; border:1px solid var(--gc-line); transition:transform .2s var(--gc-ease); }
.gc-board:hover { transform:translateY(-3px); }
.gc-board__grid { display:grid; grid-template-columns:1fr 1fr; gap:4px; aspect-ratio:1; border-radius:.9rem; overflow:hidden; margin-bottom:.5rem; }
.gc-board__grid span { background:linear-gradient(135deg, rgba(10,15,200,.15), rgba(10,15,200,.2)) center/cover no-repeat; }
.gc-board strong, .gc-board small { padding:0 .3rem; }
.gc-board small { color:var(--gc-text-muted); font-size:.8rem; }
.gc-moodboard { columns:3 14rem; column-gap:1rem; }
.gc-mood { break-inside:avoid; margin:0 0 1rem; border-radius:1.1rem; overflow:hidden; background:#fff; border:1px solid var(--gc-line); }
.gc-mood img { display:block; width:100%; }
.gc-mood__text { display:block; padding:1.4rem 1.1rem; font-family:var(--gc-serif); font-size:1.1rem; color:var(--gc-navy); background:var(--gc-tint); }
.gc-mood figcaption { display:flex; align-items:center; gap:.4rem; padding:.4rem .4rem .4rem .8rem; font-size:.82rem; color:var(--gc-ink-2); }
.gc-mood figcaption span { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gc-mood form { margin:0; }
.gc-digest { display:flex; align-items:center; gap:.8rem; margin:1.4rem 0 0; padding:1rem 1.1rem; border-radius:1.2rem; background:#fff; border:1px solid var(--gc-line); }
.gc-digest .gc-tile__icon { margin:0; flex-shrink:0; }
.gc-digest label { flex:1; align-items:flex-start; }
.gc-digest label span { display:flex; flex-direction:column; }
.gc-digest small { color:var(--gc-text-muted); font-size:.8rem; }
@media (max-width: 599px) { .gc-digest { flex-wrap:wrap; } }
html[data-theme="dark"] .gc-board, html[data-theme="dark"] .gc-mood, html[data-theme="dark"] .gc-digest { background:#141A3B; }

/* Bouton clair/sombre : même taille que Messages et Notifications */
.gc-theme-btn { border:0; background:transparent; padding:0; margin:0; color:inherit; font:inherit; cursor:pointer; }
.gc-theme-btn .gc-icon { width:20px; height:20px; }

/* ---------- Notifications ---------- */
.gc-notifs { max-width:calc(44rem + 2 * var(--gc-gutter)); }
.gc-notifs__group { margin:1.4rem 0 .6rem !important; font-size:.8rem !important; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--gc-text-muted) !important; }
.gc-notifs__list { list-style:none; margin:0; padding:0; border-radius:1.2rem; overflow:hidden; background:#fff; border:1px solid var(--gc-line); }
.gc-notifs__list li + li { border-top:1px solid var(--gc-line); }
.gc-notif { display:flex; align-items:center; gap:.85rem; padding:.85rem 1rem; color:var(--gc-ink); transition:background .15s; }
a.gc-notif:hover { background:var(--gc-tint); }
.gc-notif.is-unread { background:rgba(10,15,200,.05); }
.gc-notif__ic { flex-shrink:0; display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:50%; }
.gc-notif__ic--pink { background:#F2F3FF; color:#0A0FC8; } .gc-notif__ic--blue { background:#E8E9FF; color:var(--gc-cobalt); }
.gc-notif__ic--gold { background:#F2F3FF; color:#0A0FC8; } .gc-notif__ic--green { background:#E8E9FF; color:#060AA8; } .gc-notif__ic--violet { background:#E8E9FF; color:var(--gc-violet); }
.gc-notif__body { flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.4; }
.gc-notif__body small { color:var(--gc-text-muted); font-size:.78rem; }
.gc-notif.is-unread .gc-notif__body > span { font-weight:600; }
.gc-notif__dot { width:.6rem; height:.6rem; border-radius:50%; background:var(--gc-cobalt); flex-shrink:0; }
html[data-theme="dark"] .gc-notifs__list { background:#141A3B; }

/* ---------- Harmonisation des anciennes pages (publication, corrections, questions, paramètres…) ---------- */
.gc-has-rail .gc-form, .gc-has-rail .gc-form--wide { max-width:48rem; margin:1.75rem auto 3rem; padding:clamp(1.2rem, 3vw, 2rem); border-radius:1.5rem; background:#fff; border:1px solid var(--gc-line); box-shadow:0 30px 60px -45px rgba(14,19,48,.5); backdrop-filter:none; }
.gc-has-rail .gc-form h1, .gc-has-rail .gc-section h1, .gc-has-rail .gc-container > h1 { font-family:var(--gc-serif); font-weight:600; letter-spacing:-.01em; color:var(--gc-navy); }
.gc-has-rail .gc-card { background:#fff; border:1px solid var(--gc-line); border-radius:1.2rem; box-shadow:0 18px 40px -38px rgba(14,19,48,.55); backdrop-filter:none; }
.gc-has-rail .gc-field label { color:var(--gc-ink); font-weight:600; }
.gc-has-rail .gc-field input:not([type=checkbox]):not([type=radio]):not([type=color]), .gc-has-rail .gc-field select, .gc-has-rail .gc-field textarea { min-height:2.9rem; border-radius:.9rem; border:1px solid rgba(14,19,48,.12); background:#FAFAFF; }
.gc-has-rail .gc-field textarea { min-height:7rem; line-height:1.55; }
.gc-has-rail .gc-field input:focus, .gc-has-rail .gc-field select:focus, .gc-has-rail .gc-field textarea:focus { border-color:var(--gc-cobalt); background:#fff; box-shadow:0 0 0 4px rgba(10,15,200,.13); }
.gc-has-rail input[type=file] { width:100%; padding:.9rem; border:1.5px dashed rgba(10,15,200,.35); border-radius:1rem; background:var(--gc-tint); font:inherit; font-size:.88rem; color:var(--gc-ink-2); }
.gc-has-rail input[type=file]::file-selector-button { margin-right:.8rem; padding:.5rem 1rem; border:0; border-radius:99px; background:var(--gc-cobalt); color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.gc-has-rail .gc-form .gc-btn--primary, .gc-has-rail form .gc-btn--primary:not(.gc-btn--sm) { border-radius:99px; padding:.8rem 1.5rem; background:var(--gc-pill); box-shadow:0 14px 28px -16px rgba(11,18,64,.7); }
.gc-has-rail .gc-btn--outline, .gc-has-rail .gc-btn--ghost { border-radius:99px; }
.gc-has-rail table { width:100%; border-collapse:separate; border-spacing:0; background:#fff; border:1px solid var(--gc-line); border-radius:1.1rem; overflow:hidden; }
.gc-has-rail th { text-align:left; padding:.8rem 1rem; background:var(--gc-tint); font-size:.82rem; font-weight:700; color:var(--gc-ink-2); }
.gc-has-rail td { padding:.8rem 1rem; border-top:1px solid var(--gc-line); }
.gc-has-rail .gc-tag { border-radius:99px; background:var(--gc-tint); color:var(--gc-cobalt); font-weight:700; }
.gc-has-rail .gc-flash { border-radius:1rem; }
.gc-has-rail .gc-section { max-width:calc(64rem + 2 * var(--gc-gutter)); }
html[data-theme="dark"] .gc-has-rail .gc-form, html[data-theme="dark"] .gc-has-rail table { background:#141A3B; }
html[data-theme="dark"] .gc-has-rail th { background:#1A2048; }

/* ---------- Document joint (publication) ---------- */
.gc-post2__doc { display:flex; align-items:center; gap:.85rem; margin-top:.8rem; padding:.8rem .95rem; border-radius:1rem; background:var(--gc-tint); border:1px solid rgba(10,15,200,.15); color:var(--gc-ink); }
a.gc-post2__doc:hover { border-color:var(--gc-cobalt); }
.gc-post2__doc-ext { flex-shrink:0; display:grid; place-items:center; width:2.8rem; height:3.2rem; border-radius:.5rem .9rem .5rem .5rem; background:linear-gradient(135deg, #020338, #0A0FC8); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.04em; }
.gc-post2__doc-txt { flex:1; min-width:0; display:flex; flex-direction:column; }
.gc-post2__doc-txt strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gc-post2__doc-txt small { font-size:.78rem; color:var(--gc-text-muted); }
.gc-post2__doc > .gc-icon { color:var(--gc-cobalt); flex-shrink:0; }
.gc-composer3__preview.is-doc { background:transparent; overflow:visible; }
.gc-composer3__preview.is-doc .gc-post2__doc { margin:0; padding-right:2.8rem; }
.gc-composer3__preview.is-doc .gc-composer3__remove { top:50%; transform:translateY(-50%); background:var(--gc-ink-2); }
.gc-composer3__tools label:nth-of-type(3) .gc-icon { color:var(--gc-violet); }
.gc-create-grid { grid-template-columns:repeat(3, 1fr); }
.gc-create-grid .gc-create-opt { flex-direction:column; justify-content:center; text-align:center; gap:.4rem; font-size:.84rem; }
html[data-theme="dark"] .gc-post2__doc { background:#1A2048; }

/* ============================================================
   TYPOGRAPHIE UNIQUE : Plus Jakarta Sans (police variable 200–800, hébergée sur le site, licence OFL)
   ============================================================ */
@font-face { font-family:"Plus Jakarta Sans"; font-style:normal; font-weight:200 800; font-display:swap;
  src:url("../fonts/plus-jakarta-sans-latin-wght-normal.woff2") format("woff2-variations"), url("../fonts/plus-jakarta-sans-latin-wght-normal.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Plus Jakarta Sans"; font-style:normal; font-weight:200 800; font-display:swap;
  src:url("../fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2") format("woff2-variations"), url("../fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
:root {
  --gc-font:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gc-font-display:var(--gc-font);
  --gc-serif:var(--gc-font);
}
html, body, button, input, select, textarea { font-family:var(--gc-font); }
body { font-feature-settings:"ss01" off; letter-spacing:-.005em; }
/* Les anciens titres à empattements deviennent des titres gras de la même famille. */
:is(.gc-auth3__title, .gc-hero3 h1, .gc-land-title, .gc-land-cta h2, .gc-hub-head h1, .gc-cover-head__body h1,
    .gc-messenger__list-head h1, .gc-me-card__body h1, .gc-challenge-hero h1, .gc-challenge-banner__txt strong,
    .gc-has-rail .gc-app-layout h1, .gc-has-rail .gc-form h1, .gc-has-rail .gc-section h1, .gc-has-rail .gc-container > h1,
    .gc-welcome h2, .gc-empty2 h2, .gc-feed2__empty h2, .gc-sheet__title, .gc-post2__project-info strong) { font-weight:800; letter-spacing:-.035em; }
:is(.gc-post2__text--big) { font-weight:600; letter-spacing:-.02em; font-size:1.22rem; }
:is(.gc-side2__stats dd, .gc-me-card__stats dd, .gc-contrast__score b, .gc-print-out strong, .gc-land-stats strong, .gc-palette__name, .gc-mood__text, .gc-collect__rename input) { font-weight:800; letter-spacing:-.03em; }
.gc-auth3__quote { font-weight:600; letter-spacing:-.02em; }
h1, h2, h3, h4 { font-family:var(--gc-font); }

/* ---------- Accueil : nouveau titre plus aéré et engageant ---------- */
.gc-hero3__top { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.gc-hero3__nodi { flex-shrink:0; margin:-1rem 0 -1.2rem; filter:drop-shadow(0 18px 24px rgba(0,0,0,.35)); }
.gc-hero3 h1 { font-size:clamp(2.2rem, 1.4rem + 3.2vw, 3.9rem); font-weight:800; line-height:1.06; letter-spacing:-.04em; margin:1.1rem 0 1rem; text-wrap:balance; }
.gc-hero3 h1 em { display:block; font-style:normal; background:linear-gradient(90deg, #C9CBFF 0%, #C9CBFF 45%, #D6C4FF 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.gc-hero3 > .gc-hero3__content > p { font-size:clamp(1rem, .95rem + .3vw, 1.15rem); max-width:31rem; color:rgba(255,255,255,.8); }
.gc-hero3__actions .gc-pill-cta { box-shadow:0 18px 40px -16px rgba(201,203,255,.55); }
.gc-hero3__proof { display:flex; align-items:center; gap:.75rem; margin-top:1.4rem; font-size:.86rem; color:rgba(255,255,255,.75); }
.gc-hero3__faces { display:flex; flex-shrink:0; }
.gc-hero3__faces img { width:2.1rem; height:2.1rem; border-radius:50%; border:2.5px solid #060AA8; margin-left:-.55rem; }
.gc-hero3__faces img:first-child { margin-left:0; }
.gc-land-stats:empty { display:none; }
@media (min-width: 1100px) { .gc-hero3__nodi { display:none; } }
@media (max-width: 899px) {
  .gc-hero3 { padding-top:5.5rem; padding-bottom:3rem; }
  .gc-hero3 h1 { font-size:clamp(2.1rem, 9vw, 2.7rem); }
  .gc-hero3__proof { align-items:flex-start; }
}
.gc-land-stats:not(:has(div)) { display:none; }

/* ===== Quadrillage bleu fin sur les pages claires (rappel des pages bleues) ===== */
html:not([data-theme="dark"]) body::before {
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:linear-gradient(rgba(10,15,200,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(10,15,200,.16) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse at 50% 30%, #000 35%, transparent 95%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 30%, #000 35%, transparent 95%);
}

/* ============================================================
   REFONTE : Questions/réponses, Corrections, Paramètres
   ============================================================ */
.gc-sr-only { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.gc-panel { background:#fff; border:1px solid var(--gc-line); border-radius:1.3rem; padding:clamp(1rem, 2.5vw, 1.5rem); box-shadow:0 22px 44px -40px rgba(14,19,48,.55); }
.gc-back { display:inline-flex; align-items:center; gap:.4rem; margin-bottom:1rem; font-size:.9rem; font-weight:700; color:var(--gc-text-muted); }
.gc-back:hover { color:var(--gc-cobalt); }
.gc-pill-cta--sm { min-height:2.6rem; padding:0 1.15rem; font-size:.9rem; }
.gc-btn-white { display:inline-flex; align-items:center; gap:.45rem; min-height:2.6rem; padding:0 1.1rem; border-radius:99px; background:#fff; color:#0B1240; font-weight:700; font-size:.9rem; box-shadow:0 14px 28px -18px rgba(0,0,0,.6); white-space:nowrap; }
.gc-btn-white:hover { transform:translateY(-1px); }
.gc-btn-text { font-weight:700; color:var(--gc-text-muted); padding:.6rem .4rem; }
.gc-btn-danger { display:inline-flex; align-items:center; min-height:2.6rem; padding:0 1.15rem; border-radius:99px; background:#fff; border:1.5px solid #0A0FC8; color:#060AA8; font-weight:700; font-size:.9rem; }
.gc-btn-danger:hover { background:#F2F3FF; }
.gc-chip-mini { display:inline-flex; align-items:center; padding:.18rem .6rem; border-radius:99px; background:var(--gc-tint); color:var(--gc-cobalt); font-size:.74rem; font-weight:700; }
a.gc-chip-mini:hover { background:#E8E9FF; }

/* Statuts en pastille */
.gc-pstat { flex-shrink:0; display:inline-flex; align-items:center; gap:.35rem; padding:.28rem .7rem; border-radius:99px; font-size:.76rem; font-weight:800; white-space:nowrap; }
.gc-pstat::before { content:""; width:.45rem; height:.45rem; border-radius:50%; background:currentColor; }
.gc-pstat--open, .gc-pstat--wait { background:#F2F3FF; color:#0A0FC8; }
.gc-pstat--answered { background:#E8E9FF; color:var(--gc-cobalt); }
.gc-pstat--done { background:#E8E9FF; color:#060AA8; }

/* Personne (avatar + nom) */
.gc-who { display:inline-flex; align-items:center; gap:.7rem; min-width:0; color:var(--gc-ink); }
.gc-who img { border-radius:50%; object-fit:cover; flex-shrink:0; }
.gc-who > span { display:flex; flex-direction:column; min-width:0; line-height:1.3; }
.gc-who strong { font-size:.95rem; }
.gc-who small { font-size:.78rem; color:var(--gc-text-muted); }
.gc-who--sm strong { font-size:.9rem; }

/* Bandeau bleu (rappel de l'accueil) */
.gc-bluehead { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:clamp(1.4rem, 4vw, 2.4rem); margin-bottom:1.25rem; border-radius:1.6rem; color:#fff; background:radial-gradient(circle at 85% 20%, rgba(10,15,200,.55), transparent 45%), linear-gradient(130deg, #020338 0%, #0A0FC8 100%); box-shadow:0 30px 60px -40px rgba(11,18,64,.9); }
.gc-bluehead__grid { position:absolute; inset:0; opacity:.22; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.35) 1px, transparent 1px); background-size:40px 40px; -webkit-mask-image:radial-gradient(ellipse at 70% 40%, #000 15%, transparent 70%); mask-image:radial-gradient(ellipse at 70% 40%, #000 15%, transparent 70%); }
.gc-bluehead__body { position:relative; flex:1; min-width:0; max-width:36rem; }
.gc-bluehead__kicker { display:inline-flex; align-items:center; gap:.4rem; margin:0 0 .6rem; padding:.3rem .75rem; border-radius:99px; background:rgba(255,255,255,.14); font-size:.8rem; font-weight:700; }
.gc-hub .gc-bluehead h1 { margin:0; color:#fff; font-size:clamp(1.7rem, 1.2rem + 2vw, 2.4rem); letter-spacing:-.03em; }
.gc-bluehead p { margin:.45rem 0 0; color:rgba(255,255,255,.82); }
.gc-bluehead__side { position:relative; display:flex; flex-direction:column; align-items:center; gap:.9rem; }
.gc-searchbar { display:flex; align-items:center; gap:.5rem; margin-top:1.2rem; padding:.3rem .3rem .3rem 1rem; border-radius:99px; background:#fff; color:var(--gc-text-muted); box-shadow:0 16px 30px -20px rgba(0,0,0,.6); }
.gc-searchbar input { flex:1; min-width:0; height:2.5rem; border:0; outline:0; background:transparent; font:inherit; color:var(--gc-ink); }
.gc-searchbar button { height:2.5rem; padding:0 1.1rem; border:0; border-radius:99px; background:var(--gc-pill); color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.gc-searchbar--light { margin:0 0 .75rem; padding:.15rem 1rem; background:var(--gc-tint); box-shadow:none; border:1px solid var(--gc-line); }

/* Liste des questions */
.gc-qa__found { margin:-.25rem 0 1rem; font-size:.9rem; color:var(--gc-text-muted); }
.gc-qa__found a { color:var(--gc-cobalt); font-weight:700; }
.gc-qa-list, .gc-crlist__items { list-style:none; margin:0; padding:0; display:grid; gap:.75rem; }
.gc-qa-item { display:flex; gap:1rem; padding:1rem 1.1rem; border-radius:1.2rem; background:#fff; border:1px solid var(--gc-line); color:var(--gc-ink); transition:transform .2s var(--gc-ease), box-shadow .2s, border-color .2s; }
.gc-qa-item:hover { transform:translateY(-2px); border-color:rgba(10,15,200,.35); box-shadow:0 22px 40px -32px rgba(14,19,48,.6); }
.gc-qa-item__count { flex-shrink:0; display:flex; flex-direction:column; align-items:center; justify-content:center; width:4.2rem; height:4.2rem; border-radius:1rem; background:var(--gc-tint); color:var(--gc-cobalt); line-height:1.1; }
.gc-qa-item__count strong { font-size:1.35rem; font-weight:800; }
.gc-qa-item__count small { font-size:.68rem; font-weight:700; }
.gc-qa-item__count--open { background:#F2F3FF; color:#0A0FC8; }
.gc-qa-item__count--done { background:#E8E9FF; color:#060AA8; }
.gc-qa-item__body { flex:1; min-width:0; display:flex; flex-direction:column; gap:.3rem; }
.gc-qa-item__title { font-size:1.02rem; line-height:1.35; }
.gc-qa-item__excerpt { font-size:.88rem; color:var(--gc-text-muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gc-qa-item__meta { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-top:.2rem; font-size:.8rem; color:var(--gc-text-muted); }
.gc-qa-item__meta img { border-radius:50%; }
.gc-qa-item__likes { display:inline-flex; align-items:center; gap:.2rem; }
.gc-pager { display:flex; justify-content:center; gap:.4rem; margin-top:1.5rem; }
.gc-pager a { display:grid; place-items:center; min-width:2.4rem; height:2.4rem; border-radius:99px; background:#fff; border:1px solid var(--gc-line); font-weight:700; color:var(--gc-ink-2); }
.gc-pager a.is-active { background:#0B1240; border-color:transparent; color:#fff; }

/* Fil d'une question / d'une correction */
.gc-thread { max-width:calc(48rem + 2 * var(--gc-gutter)); }
.gc-thread__top { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.gc-hub .gc-thread__q h1 { margin:1rem 0 .6rem; font-size:clamp(1.35rem, 1.1rem + 1vw, 1.75rem); line-height:1.25; letter-spacing:-.02em; color:var(--gc-navy); }
.gc-thread__text { line-height:1.7; color:var(--gc-ink-2); overflow-wrap:anywhere; margin-top:.75rem; }
.gc-thread__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-top:1rem; }
.gc-thread__actions form { margin:0; }
.gc-thread__actions [data-report-type] { margin-left:auto; border-radius:99px; color:var(--gc-text-muted); }
.gc-chipbtn { display:inline-flex; align-items:center; gap:.4rem; min-height:2.3rem; padding:0 .9rem; border-radius:99px; border:1px solid var(--gc-line); background:var(--gc-tint); color:var(--gc-ink-2); font:inherit; font-size:.86rem; font-weight:700; cursor:pointer; }
.gc-chipbtn:hover { border-color:rgba(10,15,200,.4); color:var(--gc-cobalt); }
.gc-chipbtn .gc-icon { width:17px; height:17px; }
.gc-chipbtn[data-liked="1"] { color:var(--gc-cobalt); background:#E8E9FF; }
.gc-chipbtn--ok { background:#E8E9FF; color:#060AA8; border-color:transparent; }
.gc-hub .gc-thread__count { margin:1.6rem 0 .8rem; font-size:1rem; }
.gc-thread__none { display:flex; align-items:center; gap:1rem; color:var(--gc-text-muted); }
.gc-thread__none p { margin:0; line-height:1.55; }
.gc-thread__none strong { color:var(--gc-ink); }
.gc-thread__none a { color:var(--gc-cobalt); font-weight:700; }
.gc-thread__none .gc-nodi { flex-shrink:0; }
.gc-answer { margin-bottom:.75rem; }
.gc-answer.is-best { border:2px solid #0A0FC8; box-shadow:0 22px 44px -34px rgba(6,10,168,.6); }
.gc-answer__badge { display:flex; width:fit-content; align-items:center; gap:.35rem; margin:0 0 .8rem; padding:.28rem .75rem; border-radius:99px; background:#E8E9FF; color:#060AA8; font-size:.78rem; font-weight:800; }
.gc-reply { display:flex; align-items:flex-start; gap:.8rem; margin-top:1.25rem; }
.gc-reply > img { border-radius:50%; flex-shrink:0; }
.gc-reply__box { flex:1; min-width:0; display:grid; gap:.6rem; }
.gc-reply textarea { width:100%; min-height:6rem; padding:.85rem 1rem; border-radius:1rem; border:1px solid rgba(14,19,48,.12); background:#FAFAFF; font:inherit; line-height:1.55; color:var(--gc-ink); resize:vertical; }
.gc-reply textarea:focus { outline:0; border-color:var(--gc-cobalt); background:#fff; box-shadow:0 0 0 4px rgba(10,15,200,.13); }
.gc-reply__foot { display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap; }
.gc-reply__foot small { color:var(--gc-text-muted); font-size:.8rem; }

/* Formulaires de rédaction (question, correction) */
.gc-compose { max-width:calc(68rem + 2 * var(--gc-gutter)); }
.gc-compose__grid { display:grid; grid-template-columns:minmax(0, 1fr) 18rem; gap:1.25rem; align-items:start; }
.gc-compose__form .gc-field { margin-bottom:1.1rem; }
.gc-compose__form .gc-field > label, .gc-chips legend { display:block; margin-bottom:.45rem; font-weight:700; color:var(--gc-ink); }
.gc-compose__form input[type=text], .gc-compose__form textarea { width:100%; min-height:2.9rem; padding:.75rem 1rem; border-radius:.9rem; border:1px solid rgba(14,19,48,.12); background:#FAFAFF; font:inherit; color:var(--gc-ink); }
.gc-compose__form textarea { line-height:1.55; resize:vertical; }
.gc-compose__form input:focus, .gc-compose__form textarea:focus { outline:0; border-color:var(--gc-cobalt); background:#fff; box-shadow:0 0 0 4px rgba(10,15,200,.13); }
.gc-compose__actions { display:flex; align-items:center; justify-content:flex-end; gap:.75rem; margin-top:.5rem; }
.gc-chips { border:0; padding:0; display:flex; flex-wrap:wrap; gap:.45rem; }
.gc-chips legend { width:100%; }
.gc-chips label { cursor:pointer; }
.gc-chips input { position:absolute; opacity:0; pointer-events:none; }
.gc-chips span { display:inline-block; padding:.45rem .9rem; border-radius:99px; border:1px solid var(--gc-line); background:#fff; font-size:.86rem; font-weight:600; color:var(--gc-ink-2); transition:background .15s, color .15s; }
.gc-chips input:checked + span { background:#0B1240; border-color:transparent; color:#fff; }
.gc-chips input:focus-visible + span { box-shadow:0 0 0 3px rgba(10,15,200,.35); }
.gc-tips { position:sticky; top:calc(var(--gc-nav-h, 64px) + 1rem); background:linear-gradient(180deg, #F2F3FF, #fff 60%); }
.gc-hub .gc-tips h2 { margin:.4rem 0 .8rem; font-size:1.05rem; }
.gc-tips ol { list-style:none; counter-reset:tip; margin:0 0 1rem; padding:0; display:grid; gap:.8rem; }
.gc-tips li { counter-increment:tip; display:grid; grid-template-columns:1.7rem 1fr; column-gap:.6rem; font-size:.86rem; line-height:1.4; }
.gc-tips li::before { content:counter(tip); grid-row:span 2; display:grid; place-items:center; width:1.7rem; height:1.7rem; border-radius:50%; background:var(--gc-cobalt); color:#fff; font-weight:800; font-size:.8rem; }
.gc-tips li span { color:var(--gc-text-muted); }
.gc-tips > p { margin:0; padding:.75rem .85rem; border-radius:.9rem; background:#fff; border:1px dashed rgba(10,15,200,.35); font-size:.82rem; color:var(--gc-ink-2); }

/* Étapes du formulaire de correction */
.gc-step2 + .gc-step2 { margin-top:1.4rem; padding-top:1.4rem; border-top:1px solid var(--gc-line); }
.gc-hub .gc-step2 h2 { display:flex; align-items:center; gap:.6rem; margin:0 0 .9rem; font-size:1.02rem; }
.gc-step2 h2 span { display:grid; place-items:center; width:1.8rem; height:1.8rem; border-radius:50%; background:var(--gc-pill); color:#fff; font-size:.85rem; }
.gc-people { display:grid; grid-template-columns:repeat(auto-fill, minmax(14rem, 1fr)); gap:.5rem; max-height:17rem; overflow-y:auto; padding:.15rem; }
.gc-person { position:relative; display:flex; align-items:center; gap:.65rem; padding:.6rem .7rem; border-radius:1rem; border:1.5px solid var(--gc-line); background:#fff; cursor:pointer; transition:border-color .15s, background .15s; }
.gc-person[hidden] { display:none; }
.gc-person:hover { border-color:rgba(10,15,200,.35); }
.gc-person input { position:absolute; opacity:0; pointer-events:none; }
.gc-person img { border-radius:50%; flex-shrink:0; }
.gc-person > span { display:flex; flex-direction:column; min-width:0; line-height:1.3; }
.gc-person strong { font-size:.9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gc-person small { font-size:.76rem; color:var(--gc-text-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gc-person__tick { margin-left:auto; display:grid; place-items:center; width:1.4rem; height:1.4rem; flex-shrink:0; border-radius:50%; border:1.5px solid var(--gc-line); color:transparent; }
.gc-person:has(input:checked) { border-color:var(--gc-cobalt); background:#F2F3FF; }
.gc-person:has(input:checked) .gc-person__tick { background:var(--gc-cobalt); border-color:var(--gc-cobalt); color:#fff; }
.gc-person:has(input:focus-visible) { box-shadow:0 0 0 3px rgba(10,15,200,.3); }
.gc-people__none { grid-column:1 / -1; margin:.5rem 0; color:var(--gc-text-muted); font-size:.88rem; }
.gc-people__none[hidden] { display:none; }
.gc-drop { position:relative; display:flex; flex-direction:column; align-items:center; gap:.3rem; padding:1.4rem 1rem; border-radius:1.1rem; border:1.5px dashed rgba(10,15,200,.4); background:var(--gc-tint); text-align:center; cursor:pointer; transition:background .15s, border-color .15s; }
.gc-drop:hover, .gc-drop.has-file { border-color:var(--gc-cobalt); background:#E8E9FF; }
.gc-drop input { position:absolute; inset:0; width:100%; opacity:0; cursor:pointer; }
.gc-drop__ic { display:grid; place-items:center; width:2.8rem; height:2.8rem; border-radius:50%; background:#fff; color:var(--gc-cobalt); box-shadow:0 10px 20px -14px rgba(14,19,48,.5); }
.gc-drop__name { font-size:.92rem; color:var(--gc-ink); overflow-wrap:anywhere; }
.gc-drop small { font-size:.78rem; color:var(--gc-text-muted); }
.gc-drop--sm { flex-direction:row; justify-content:flex-start; gap:.7rem; padding:.6rem .8rem; text-align:left; }
.gc-drop--sm .gc-drop__ic { width:2.1rem; height:2.1rem; }
.gc-drop--sm .gc-drop__name { font-size:.86rem; font-weight:600; }

/* Page d'une correction */
.gc-track { list-style:none; display:flex; align-items:center; margin:0; padding:0; }
.gc-track li { display:flex; align-items:center; gap:.45rem; flex:1; font-size:.8rem; font-weight:700; color:var(--gc-text-muted); }
.gc-track li:not(:last-child)::after { content:""; flex:1; height:2px; margin:0 .5rem; border-radius:2px; background:var(--gc-line); }
.gc-track li.is-done:not(.is-now):not(:last-child)::after { background:var(--gc-cobalt); }
.gc-track li:last-child { flex:0 0 auto; }
.gc-track i { display:grid; place-items:center; width:1.6rem; height:1.6rem; flex-shrink:0; border-radius:50%; border:2px solid var(--gc-line); font-style:normal; font-size:.75rem; }
.gc-track li.is-done { color:var(--gc-ink); }
.gc-track li.is-done i { background:var(--gc-cobalt); border-color:var(--gc-cobalt); color:#fff; }
.gc-track li.is-now i { box-shadow:0 0 0 4px rgba(10,15,200,.18); }
.gc-crv__people { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; padding:.75rem .9rem; border-radius:1rem; background:var(--gc-tint); }
.gc-crv__arrow { color:var(--gc-cobalt); }
.gc-crv__when { margin-left:auto; font-size:.8rem; color:var(--gc-text-muted); }
.gc-crv .gc-post2__doc { margin-top:1rem; }

/* Listes de corrections */
.gc-crlist { max-width:calc(48rem + 2 * var(--gc-gutter)); }
.gc-seg--static { position:static; backdrop-filter:none; -webkit-backdrop-filter:none; background:#fff; margin-bottom:1.1rem; }
.gc-seg a small { opacity:.7; font-weight:700; }
.gc-seg .gc-count { position:static; display:inline-block; margin-left:.25rem; box-shadow:none; }
.gc-cr-item { display:flex; align-items:center; gap:.85rem; padding:.85rem 1rem; border-radius:1.2rem; background:#fff; border:1px solid var(--gc-line); color:var(--gc-ink); transition:transform .2s var(--gc-ease), border-color .2s; }
.gc-cr-item:hover { transform:translateY(-2px); border-color:rgba(10,15,200,.35); }
.gc-cr-item.is-todo { border-left:4px solid var(--gc-cobalt); }
.gc-cr-item img { border-radius:50%; flex-shrink:0; }
.gc-cr-item__body { flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.35; }
.gc-cr-item__body strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gc-cr-item__body small { font-size:.8rem; color:var(--gc-text-muted); }

/* Paramètres */
.gc-settings { max-width:calc(64rem + 2 * var(--gc-gutter)); }
.gc-set-me { position:relative; overflow:hidden; display:flex; align-items:center; gap:1rem; padding:1.1rem 1.3rem; margin-bottom:1.25rem; border-radius:1.4rem; color:#fff; background:linear-gradient(130deg, #020338 0%, #0A0FC8 100%); }
.gc-set-me::before { content:""; position:absolute; inset:0; opacity:.2; background-image:linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.35) 1px, transparent 1px); background-size:36px 36px; -webkit-mask-image:linear-gradient(90deg, transparent, #000); mask-image:linear-gradient(90deg, transparent, #000); }
.gc-set-me > * { position:relative; }
.gc-set-me > img { border-radius:50%; border:3px solid rgba(255,255,255,.85); flex-shrink:0; object-fit:cover; }
.gc-set-me > div { flex:1; min-width:0; display:flex; flex-direction:column; }
.gc-set-me strong { font-size:1.15rem; }
.gc-set-me small { color:rgba(255,255,255,.78); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gc-settings__grid { display:grid; grid-template-columns:14rem minmax(0, 1fr); gap:1.25rem; align-items:start; }
.gc-set-nav { position:sticky; top:calc(var(--gc-nav-h, 64px) + 1rem); display:flex; flex-direction:column; gap:.15rem; padding:.5rem; border-radius:1.2rem; background:#fff; border:1px solid var(--gc-line); }
.gc-set-nav a { display:flex; align-items:center; gap:.6rem; padding:.6rem .75rem; border-radius:.8rem; font-size:.9rem; font-weight:600; color:var(--gc-ink-2); }
.gc-set-nav a:hover { background:var(--gc-tint); color:var(--gc-cobalt); }
.gc-set-nav a.is-danger { color:#060AA8; }
.gc-settings__main { display:grid; gap:1rem; }
.gc-set { scroll-margin-top:calc(var(--gc-nav-h, 64px) + 1rem); }
.gc-set > header { display:flex; align-items:flex-start; gap:.85rem; margin-bottom:1rem; }
.gc-set > header > div { flex:1; min-width:0; }
.gc-hub .gc-set h2 { margin:0; font-size:1.05rem; }
.gc-set header p { margin:.2rem 0 0; font-size:.87rem; color:var(--gc-text-muted); overflow-wrap:anywhere; }
.gc-set__ic { display:grid; place-items:center; width:2.6rem; height:2.6rem; flex-shrink:0; border-radius:.9rem; background:var(--gc-tint); color:var(--gc-cobalt); }
.gc-set .gc-field > label { display:block; margin-bottom:.4rem; font-weight:700; font-size:.88rem; color:var(--gc-ink); }
.gc-set input[type=text], .gc-set input[type=email], .gc-set input[type=password] { width:100%; min-height:2.8rem; padding:.7rem .95rem; border-radius:.85rem; border:1px solid rgba(14,19,48,.12); background:#FAFAFF; font:inherit; color:var(--gc-ink); }
.gc-set input:focus { outline:0; border-color:var(--gc-cobalt); background:#fff; box-shadow:0 0 0 4px rgba(10,15,200,.13); }
.gc-set__note { margin:0 0 .9rem; font-size:.86rem; color:var(--gc-text-muted); line-height:1.6; }
.gc-set__note a { color:var(--gc-cobalt); font-weight:700; }
.gc-set__actions { display:flex; justify-content:flex-end; }
.gc-set__links { display:flex; flex-wrap:wrap; gap:.4rem; }
.gc-set--link { display:block; color:var(--gc-ink); transition:border-color .2s, transform .2s var(--gc-ease); }
.gc-set--link > header { margin:0; align-items:center; }
.gc-set--link > header > .gc-icon { color:var(--gc-cobalt); }
.gc-set--link:hover { border-color:rgba(10,15,200,.4); transform:translateY(-2px); }
.gc-set--danger { border-color:rgba(10,15,200,.35); }
.gc-set--danger .gc-set__ic { background:#F2F3FF; color:#060AA8; }
.gc-themes { display:grid; grid-template-columns:repeat(2, minmax(0, 11rem)); gap:.75rem; }
.gc-theme-opt { display:grid; gap:.5rem; padding:.55rem; border-radius:1rem; border:2px solid var(--gc-line); background:#fff; font:inherit; font-weight:700; font-size:.88rem; color:var(--gc-ink); cursor:pointer; text-align:left; }
.gc-theme-opt > span:last-child { display:inline-flex; align-items:center; gap:.4rem; padding:0 .2rem .1rem; }
.gc-theme-opt__preview { display:grid; grid-template-columns:1fr 2fr; grid-template-rows:auto 1fr; gap:.3rem; height:4.6rem; padding:.4rem; border-radius:.7rem; }
.gc-theme-opt__preview i { border-radius:.35rem; }
.gc-theme-opt__preview i:first-child { grid-column:1 / -1; height:.6rem; }
.gc-theme-opt__preview--light { background:#F2F3FF; }
.gc-theme-opt__preview--light i { background:#fff; }
.gc-theme-opt__preview--light i:first-child { background:#0A0FC8; }
.gc-theme-opt__preview--dark { background:#0B0F24; }
.gc-theme-opt__preview--dark i { background:#1A2048; }
.gc-theme-opt__preview--dark i:first-child { background:#0A0FC8; }
html:not([data-theme="dark"]) .gc-theme-opt[data-theme-set="light"], html[data-theme="dark"] .gc-theme-opt[data-theme-set="dark"] { border-color:var(--gc-cobalt); box-shadow:0 0 0 4px rgba(10,15,200,.15); }

@media (max-width: 900px) {
  .gc-compose__grid, .gc-settings__grid { grid-template-columns:1fr; }
  .gc-tips { position:static; }
  .gc-set-nav { position:static; flex-direction:row; overflow-x:auto; scrollbar-width:none; padding:.35rem; }
  .gc-set-nav::-webkit-scrollbar { display:none; }
  .gc-set-nav a { flex-shrink:0; white-space:nowrap; padding:.5rem .8rem; }
}
@media (max-width: 640px) {
  .gc-bluehead { flex-direction:column; align-items:stretch; }
  .gc-bluehead__side { flex-direction:row-reverse; justify-content:space-between; }
  .gc-bluehead__side .gc-omar { width:67px !important; height:72px !important; }
  .gc-searchbar button { padding:0 .85rem; }
  .gc-qa-item { gap:.75rem; padding:.85rem; }
  .gc-qa-item__count { width:3.4rem; height:3.4rem; }
  .gc-qa-item__count strong { font-size:1.1rem; }
  .gc-reply > img { display:none; }
  .gc-reply__foot { flex-direction:column; align-items:stretch; }
  .gc-reply__foot .gc-pill-cta { justify-content:center; }
  .gc-compose__actions { flex-direction:column-reverse; align-items:stretch; }
  .gc-compose__actions .gc-pill-cta { justify-content:center; }
  .gc-hub .gc-field-row { grid-template-columns:1fr; }
  .gc-set-me { flex-wrap:wrap; }
  .gc-set-me .gc-btn-white { width:100%; justify-content:center; }
  .gc-themes { grid-template-columns:1fr 1fr; }
  .gc-crv__when { margin-left:0; width:100%; }
  .gc-track span { font-size:.72rem; }
  .gc-cr-item .gc-pstat { padding:.25rem .55rem; font-size:.7rem; }
}

/* Mode sombre */
html[data-theme="dark"] :is(.gc-panel, .gc-qa-item, .gc-cr-item, .gc-pager a, .gc-set-nav, .gc-person, .gc-chips span, .gc-theme-opt, .gc-seg--static) { background:#141A3B; }
html[data-theme="dark"] :is(.gc-reply textarea, .gc-compose__form input[type=text], .gc-compose__form textarea, .gc-set input[type=text], .gc-set input[type=email], .gc-set input[type=password]) { background:#0F1430; border-color:rgba(255,255,255,.12); }
html[data-theme="dark"] .gc-tips { background:linear-gradient(180deg, #1A2048, #141A3B 60%); }
html[data-theme="dark"] :is(.gc-tips > p, .gc-drop__ic) { background:#141A3B; }
html[data-theme="dark"] :is(.gc-person:has(input:checked), .gc-drop:hover, .gc-drop.has-file) { background:#1F2760; }
html[data-theme="dark"] .gc-btn-danger { background:transparent; }

/* ============================================================
   OMAR, la mascotte : notes de musique, sieste, réactions au clic, bulle de dialogue
   ============================================================ */
.gc-omar { cursor:pointer; -webkit-tap-highlight-color:transparent; }
.gc-omar .gc-omar__notes text { animation:gc-omar-note 3.6s ease-in-out infinite; }
.gc-omar .gc-omar__notes text:last-child { animation-delay:-1.8s; }
.gc-omar .gc-omar__doze { display:none; }
.gc-omar.is-dozing .gc-omar__doze { display:inline; }
.gc-omar.is-dozing .gc-omar__doze text { animation:gc-nodi-zzz 2.4s ease-in-out infinite; }
.gc-omar.is-dozing .gc-omar__doze text:last-child { animation-delay:-1.2s; }
.gc-omar.is-dozing .gc-nodi__eyes, .gc-omar.is-dozing .gc-omar__notes { display:none; }
.gc-omar.is-dozing .gc-nodi__body { animation:gc-omar-breathe 4s ease-in-out infinite; }
.gc-omar:hover .gc-nodi__body { animation:gc-omar-hop .7s var(--gc-ease, ease) 1; }
.gc-omar.is-poked .gc-nodi__body { animation:gc-omar-poke .65s cubic-bezier(.3,1.6,.5,1) 1; }
.gc-omar.is-poked .gc-nodi__eyes { animation:none; transform:scaleY(1.15); }
.gc-omar.is-startled .gc-nodi__body { animation:gc-omar-startle .5s ease-out 1; }
@keyframes gc-omar-note { 0% { opacity:0; transform:translateY(6px); } 25%,70% { opacity:1; } 100% { opacity:0; transform:translateY(-14px) rotate(10deg); } }
@keyframes gc-omar-breathe { 0%,100% { transform:scaleY(1); } 50% { transform:scaleY(.985); } }
@keyframes gc-omar-hop { 0%,100% { transform:translateY(0); } 40% { transform:translateY(-6px); } }
@keyframes gc-omar-poke { 0% { transform:translateY(0) scale(1); } 30% { transform:translateY(-16px) rotate(-6deg) scale(1.04); } 60% { transform:translateY(0) rotate(4deg) scale(.97, 1.03); } 100% { transform:translateY(0) rotate(0) scale(1); } }
@keyframes gc-omar-startle { 0% { transform:translateY(0); } 35% { transform:translateY(-10px) scale(1.05); } 100% { transform:translateY(0); } }

.gc-omar-say { position:fixed; z-index:1200; max-width:15rem; padding:.7rem .9rem; border-radius:1rem 1rem 1rem .3rem; background:#fff; color:#0B1240; border:1px solid rgba(10,15,200,.2); box-shadow:0 18px 40px -18px rgba(11,18,64,.45); font-size:.86rem; font-weight:600; line-height:1.4; pointer-events:none; animation:gc-omar-say-in .35s cubic-bezier(.3,1.5,.5,1) both; }
.gc-omar-say b { display:block; margin-bottom:.15rem; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#0A0FC8; }
.gc-omar-say.is-out { animation:gc-omar-say-out .25s ease-in both; }
@keyframes gc-omar-say-in { from { opacity:0; transform:translateY(8px) scale(.9); } to { opacity:1; transform:none; } }
@keyframes gc-omar-say-out { to { opacity:0; transform:translateY(-6px) scale(.96); } }
html[data-theme="dark"] .gc-omar-say { background:#1A2048; color:#E7EAF7; border-color:rgba(255,255,255,.12); }
@media (prefers-reduced-motion: reduce) { .gc-omar *, .gc-omar-say { animation:none !important; } }
/* Omar sur fond foncé : liseré clair pour garder un bon contraste */
.gc-hero3 .gc-omar, .gc-bluehead .gc-omar, .gc-challenge-banner .gc-omar, .gc-splash .gc-omar, .gc-set-me .gc-omar, html[data-theme="dark"] .gc-omar { filter:drop-shadow(0 0 1.5px rgba(255,255,255,.95)) drop-shadow(0 8px 14px rgba(0,0,0,.25)); }

/* ---------- Omar : bouton d'aide, fenêtre de fête, saisons ---------- */
.gc-omar-fab { position:fixed; z-index:105; right:1rem; bottom:1rem; display:grid; place-items:center; width:4.4rem; height:4.4rem; padding:0; border:0; border-radius:50%; background:radial-gradient(circle at 50% 35%, #fff 0%, #E8E9FF 70%); box-shadow:0 16px 34px -16px rgba(11,18,64,.55), 0 0 0 1px rgba(10,15,200,.18); cursor:pointer; transition:transform .2s var(--gc-ease, ease); }
.gc-omar-fab:hover { transform:translateY(-3px) scale(1.04); }
.gc-omar-fab:focus-visible { outline:3px solid rgba(10,15,200,.5); outline-offset:3px; }
.gc-omar-fab { overflow:hidden; place-items:end center; }
.gc-has-rail .gc-omar-fab { right:1.25rem; bottom:1.25rem; }
@media (max-width: 899px) {
  .gc-has-rail .gc-omar-fab { right:.75rem; bottom:calc(var(--gc-tabbar-h) + env(safe-area-inset-bottom, 0px) + .75rem); width:3.7rem; height:3.7rem; }
  .gc-has-rail .gc-omar-fab .gc-omar { width:52px !important; height:56px !important; }
}
body.gc-page-messenger .gc-omar-fab { display:none; }
html[data-theme="dark"] .gc-omar-fab { background:radial-gradient(circle at 50% 35%, #2A3270 0%, #141A3B 75%); }

.gc-party { text-align:center; max-width:24rem; padding:1.6rem 1.5rem 1.4rem; overflow:hidden; }
.gc-party .gc-nodi { position:relative; margin:0 auto .3rem; }
.gc-party h2 { position:relative; margin:.2rem 0 .4rem; font-size:1.4rem; letter-spacing:-.02em; color:var(--gc-navy); }
.gc-party p { position:relative; margin:0 0 1.2rem; color:var(--gc-text-muted); line-height:1.55; }
.gc-party form { position:relative; margin:0; }
.gc-party__burst { position:absolute; inset:0; pointer-events:none; }
.gc-party__burst i { position:absolute; left:50%; top:32%; width:.55rem; height:.55rem; margin:-.275rem; border-radius:2px; background:#0A0FC8; opacity:0; transform:rotate(calc(var(--i) * 20deg)) translateY(0); animation:gc-party-burst 1.5s cubic-bezier(.15,.75,.3,1) .15s both; }
.gc-party__burst i:nth-child(3n) { background:#0A0FC8; border-radius:50%; }
.gc-party__burst i:nth-child(3n+1) { background:#6C70F5; }
.gc-party__burst i:nth-child(4n) { background:#A3A6FF; }
@keyframes gc-party-burst { 0% { opacity:1; transform:rotate(calc(var(--i) * 20deg)) translateY(0) scale(.6); } 70% { opacity:1; } 100% { opacity:0; transform:rotate(calc(var(--i) * 20deg + 40deg)) translateY(-150px) scale(1); } }
html[data-theme="dark"] .gc-party h2 { color:#E7EAF7; }

.gc-omar .gc-omar__snow text { animation:gc-omar-snow 4s ease-in-out infinite; }
.gc-omar .gc-omar__snow text:nth-child(2n) { animation-delay:-2s; }
@keyframes gc-omar-snow { 0%,100% { transform:translateY(0); opacity:.9; } 50% { transform:translateY(8px); opacity:.5; } }
@media (prefers-reduced-motion: reduce) { .gc-party__burst i { display:none; } .gc-omar-fab { transition:none; } }

/* ============================================================
   OMAR (image détourée) : cadre, effets autour de l'image, animations
   ============================================================ */
.gc-omar { position:relative; display:block; flex-shrink:0; overflow:visible; --lean:0deg; }
.gc-omar .gc-nodi__body { display:block; width:100%; height:100%; transform-origin:50% 100%; animation:gc-omar-idle 4.2s ease-in-out infinite; }
.gc-omar img { display:block; width:100%; height:100%; object-fit:contain; object-position:50% 100%; transform:rotate(var(--lean)); transform-origin:50% 100%; transition:transform .5s ease-out, filter .4s; user-select:none; -webkit-user-drag:none; }
.gc-omar--full::after { content:""; position:absolute; left:15%; right:15%; bottom:-2%; height:5%; border-radius:50%; background:radial-gradient(closest-side, rgba(14,19,48,.22), transparent); z-index:-1; }
@keyframes gc-omar-idle { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-2.5%) scale(1.01); } }
.gc-omar.gc-nodi--hello .gc-nodi__body { animation:gc-omar-sway 3.4s ease-in-out infinite; }
@keyframes gc-omar-sway { 0%,100% { transform:rotate(0) translateY(0); } 25% { transform:rotate(-2.5deg) translateY(-2%); } 75% { transform:rotate(2.5deg) translateY(-2%); } }
.gc-omar.gc-nodi--cheer .gc-nodi__body { animation:gc-omar-cheer 1.1s cubic-bezier(.3,1.4,.5,1) infinite; }
@keyframes gc-omar-cheer { 0%,100% { transform:translateY(0) scale(1, 1); } 15% { transform:translateY(0) scale(1.04, .96); } 45% { transform:translateY(-10%) scale(.98, 1.03) rotate(-2deg); } 70% { transform:translateY(0) scale(1.03, .97); } }
.gc-omar.gc-nodi--sleep img, .gc-omar.is-dozing img { filter:brightness(.82) saturate(.85); }
.gc-omar.gc-nodi--sleep .gc-nodi__body, .gc-omar.is-dozing .gc-nodi__body { animation:gc-omar-breathe 4s ease-in-out infinite; }
.gc-omar.gc-nodi--sad img { filter:saturate(.7) brightness(.95); }
.gc-omar.gc-nodi--sad .gc-nodi__body { animation:none; transform:rotate(-2deg) translateY(2%); }
.gc-omar.gc-nodi--think .gc-nodi__body { animation:gc-omar-think 4s ease-in-out infinite; }
@keyframes gc-omar-think { 0%,100% { transform:rotate(0); } 50% { transform:rotate(2deg); } }

/* Effets autour d'Omar (taille relative à la hauteur --s) */
.gc-omar__fx { position:absolute; display:grid; place-items:center; font-style:normal; font-weight:800; line-height:1; pointer-events:none; font-size:calc(var(--s) * .16); font-family:"Segoe UI Symbol", "Plus Jakarta Sans", Arial, sans-serif; }
.gc-omar__fx--note { color:#0A0FC8; animation:gc-omar-note 3.6s ease-in-out infinite; }
.gc-omar__fx--note2 { color:#6C70F5; animation:gc-omar-note 3.6s ease-in-out -1.8s infinite; }
.gc-omar__fx--confetti { width:calc(var(--s) * .06); height:calc(var(--s) * .06); min-width:5px; min-height:5px; border-radius:2px; background:#A3A6FF; transform:rotate(20deg); animation:gc-nodi-confetti 1.2s ease-in-out infinite; }
.gc-omar__fx--confetti.c2 { background:#6C70F5; animation-delay:-.3s; }
.gc-omar__fx--confetti.c3 { background:#0A0FC8; border-radius:50%; animation-delay:-.6s; }
.gc-omar__fx--confetti.c4 { background:#0A0FC8; animation-delay:-.9s; }
.gc-omar__fx--confetti.c5 { background:#0A0FC8; animation-delay:-.45s; }
.gc-omar__fx--confetti.c6 { background:#A3A6FF; border-radius:50%; animation-delay:-.75s; }
.gc-omar__fx--think { width:calc(var(--s) * .28); height:calc(var(--s) * .28); min-width:22px; min-height:22px; border-radius:50%; background:#fff; border:2px solid #C9CBFF; color:#0A0FC8; font-size:calc(var(--s) * .17); box-shadow:0 6px 14px -8px rgba(11,18,64,.5); animation:gc-nodi-bob 2.4s ease-in-out infinite; }
.gc-omar__fx--z { color:#0A0FC8; font-size:calc(var(--s) * .13); animation:gc-nodi-zzz 2.4s ease-in-out infinite; }
.gc-omar__fx--z.z2 { font-size:calc(var(--s) * .16); animation-delay:-.8s; }
.gc-omar__fx--z.z3 { font-size:calc(var(--s) * .2); animation-delay:-1.6s; }
.gc-omar__fx--tool { width:calc(var(--s) * .3); height:calc(var(--s) * .3); min-width:20px; min-height:20px; filter:drop-shadow(0 4px 6px rgba(11,18,64,.3)); animation:gc-nodi-bob 2.6s ease-in-out infinite; }
.gc-omar__fx--cloud { color:#94A3B8; font-size:calc(var(--s) * .24); animation:gc-nodi-bob 3s ease-in-out infinite; }
.gc-omar__fx--snow { color:#A3A6FF; animation:gc-omar-snow 4s ease-in-out infinite; }
.gc-omar__fx--snow.s2 { animation-delay:-1.3s; } .gc-omar__fx--snow.s3 { animation-delay:-2.6s; font-size:calc(var(--s) * .11); }
.gc-omar__fx--spark { color:#A3A6FF; animation:gc-omar-twinkle 2s ease-in-out infinite; }
.gc-omar__fx--spark.s2 { animation-delay:-1s; }
.gc-omar__fx--moon { color:#A3A6FF; font-size:calc(var(--s) * .22); }
@keyframes gc-omar-twinkle { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.45; transform:scale(.8); } }
.gc-omar .gc-omar__doze { display:none; }
.gc-omar.is-dozing .gc-omar__doze { display:block; }
.gc-omar.is-dozing .gc-omar__fx--note, .gc-omar.is-dozing .gc-omar__fx--note2 { display:none; }
.gc-omar-fab .gc-omar__fx { display:none; }
@media (prefers-reduced-motion: reduce) { .gc-omar *, .gc-omar__fx { animation:none !important; transition:none !important; } }
/* Réactions prioritaires sur les animations de pose */
.gc-omar.gc-omar:hover .gc-nodi__body { animation:gc-omar-hop .7s ease 1; }
.gc-omar.gc-omar.is-poked .gc-nodi__body { animation:gc-omar-poke .65s cubic-bezier(.3,1.6,.5,1) 1; }
.gc-omar.gc-omar.is-startled .gc-nodi__body { animation:gc-omar-startle .5s ease-out 1; }

/* ============================================================
   REFONTE : Projets, Ressources, Profil
   ============================================================ */
.gc-who--xs { gap:.45rem; }
.gc-who--xs img { width:24px; height:24px; }
.gc-who--xs strong { font-size:.82rem; font-weight:700; }
.gc-chipbtn--big { min-height:2.65rem; padding:0 1.1rem; font-size:.9rem; background:#fff; }
.gc-chipbtn.is-copied { background:#E8E9FF; color:#060AA8; border-color:transparent; }
.gc-step2__opt { margin-left:.35rem; font-size:.74rem; font-weight:600; color:var(--gc-text-muted); }

/* Galerie de projets */
.gc-shots { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 16.5rem), 1fr)); gap:1.4rem 1.1rem; }
.gc-shot { min-width:0; }
.gc-shot__media { position:relative; display:block; aspect-ratio:4 / 3; overflow:hidden; border-radius:1.1rem; background:var(--gc-tint); box-shadow:0 18px 34px -28px rgba(14,19,48,.6); }
.gc-shot__media img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--gc-ease, ease); }
.gc-shot__over { position:absolute; inset:auto 0 0 0; display:flex; flex-direction:column; gap:.15rem; padding:2.2rem .95rem .85rem; color:#fff; background:linear-gradient(transparent, rgba(11,18,64,.85)); opacity:0; transform:translateY(8px); transition:opacity .25s, transform .25s; }
.gc-shot__over strong { font-size:.95rem; line-height:1.3; }
.gc-shot__over small { font-size:.76rem; opacity:.85; }
.gc-shot__media:hover img, .gc-shot__media:focus-visible img { transform:scale(1.05); }
.gc-shot__media:hover .gc-shot__over, .gc-shot__media:focus-visible .gc-shot__over { opacity:1; transform:none; }
.gc-shot__foot { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:.6rem; padding:0 .15rem; }
.gc-shot__foot .gc-who { min-width:0; }
.gc-shot__foot .gc-who strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gc-shot__stats { display:inline-flex; align-items:center; gap:.65rem; flex-shrink:0; font-size:.78rem; font-weight:600; color:var(--gc-text-muted); }
.gc-shot__stats > span { display:inline-flex; align-items:center; gap:.2rem; }
@media (hover: none) { .gc-shot__over { opacity:1; transform:none; } }

/* Fiche projet / ressource */
.gc-pv { max-width:calc(70rem + 2 * var(--gc-gutter)); }
.gc-pv__head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem 1.5rem; flex-wrap:wrap; margin-bottom:1.1rem; }
.gc-hub .gc-pv__head h1, .gc-hub .gc-pv__desc h1 { margin:.45rem 0 .7rem; font-size:clamp(1.5rem, 1.1rem + 1.6vw, 2.2rem); line-height:1.15; letter-spacing:-.03em; color:var(--gc-navy); }
.gc-pv__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.gc-pv__actions [data-report-type] { border-radius:99px; }
.gc-pv__cover { margin:0 0 1.25rem; overflow:hidden; border-radius:1.4rem; background:var(--gc-tint); box-shadow:0 30px 60px -45px rgba(14,19,48,.7); }
.gc-pv__cover img { display:block; width:100%; max-height:min(72vh, 44rem); object-fit:contain; background:var(--gc-tint); }
.gc-pv__grid { display:grid; grid-template-columns:minmax(0, 1fr) 19rem; gap:1.25rem; align-items:start; }
.gc-pv__main { min-width:0; }
.gc-pv__side { position:sticky; top:calc(var(--gc-nav-h, 64px) + 1rem); display:grid; gap:1rem; }
.gc-hub .gc-pv__desc h2, .gc-hub .gc-pv__more h2 { margin:0 0 .4rem; font-size:1rem; }
.gc-pv__desc .gc-thread__text { margin-top:.4rem; }
.gc-pv__img { margin:1rem 0 0; overflow:hidden; border-radius:1.2rem; }
.gc-pv__img img { display:block; width:100%; }
.gc-pv__comment { margin-bottom:.65rem; }
.gc-pv__stats { display:grid; grid-template-columns:repeat(3, 1fr); text-align:center; padding:.9rem .5rem; }
.gc-pv__stats div { display:flex; flex-direction:column; }
.gc-pv__stats div + div { border-left:1px solid var(--gc-line); }
.gc-pv__stats strong { font-size:1.35rem; color:var(--gc-navy); }
.gc-pv__stats span { font-size:.76rem; color:var(--gc-text-muted); font-weight:600; }
.gc-pv__owner { display:flex; align-items:center; gap:.75rem; font-size:.86rem; line-height:1.5; color:var(--gc-ink-2); background:linear-gradient(180deg, #F2F3FF, #fff); }
.gc-pv__owner p { margin:0; }
.gc-pv__owner a { color:var(--gc-cobalt); font-weight:700; }
.gc-pv__more-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:.4rem; margin:.4rem 0 .75rem; }
.gc-pv__more-grid a { aspect-ratio:1; overflow:hidden; border-radius:.7rem; background:var(--gc-tint); }
.gc-pv__more-grid img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.gc-pv__more-grid a:hover img { transform:scale(1.06); }
.gc-pv__more-link { display:inline-flex; align-items:center; gap:.3rem; font-size:.86rem; font-weight:700; color:var(--gc-cobalt); }

/* Ressources */
.gc-res__bar { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; margin:-.25rem 0 1.1rem; }
.gc-res__count { font-size:.88rem; font-weight:600; color:var(--gc-text-muted); margin-right:auto; }
.gc-res__sorts { display:inline-flex; padding:.2rem; border-radius:99px; background:#fff; border:1px solid var(--gc-line); }
.gc-res__sorts a { padding:.38rem .8rem; border-radius:99px; font-size:.8rem; font-weight:700; color:var(--gc-text-muted); }
.gc-res__sorts a.is-active { background:#0B1240; color:#fff; }
.gc-res__lic { position:relative; }
.gc-res__lic summary { display:inline-flex; align-items:center; gap:.35rem; padding:.45rem .85rem; border-radius:99px; background:#fff; border:1px solid var(--gc-line); font-size:.8rem; font-weight:700; color:var(--gc-ink-2); cursor:pointer; list-style:none; }
.gc-res__lic summary::-webkit-details-marker { display:none; }
.gc-res__lic > div { position:absolute; right:0; top:calc(100% + .4rem); z-index:30; min-width:13rem; padding:.35rem; border-radius:1rem; background:#fff; border:1px solid var(--gc-line); box-shadow:0 20px 40px -24px rgba(11,18,64,.5); display:grid; }
.gc-res__lic > div a { padding:.5rem .7rem; border-radius:.6rem; font-size:.86rem; color:var(--gc-ink-2); }
.gc-res__lic > div a:hover { background:var(--gc-tint); color:var(--gc-cobalt); }
.gc-res-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 14.5rem), 1fr)); gap:1rem; }
.gc-res-card { display:flex; flex-direction:column; overflow:hidden; border-radius:1.2rem; background:#fff; border:1px solid var(--gc-line); color:var(--gc-ink); transition:transform .2s var(--gc-ease, ease), box-shadow .2s, border-color .2s; }
.gc-res-card:hover { transform:translateY(-3px); border-color:rgba(10,15,200,.35); box-shadow:0 24px 44px -32px rgba(14,19,48,.6); }
.gc-res-card__media { position:relative; aspect-ratio:16 / 10; background:var(--gc-tint); }
.gc-res-card__media img { width:100%; height:100%; object-fit:cover; }
.gc-res-card__ext { position:absolute; left:.6rem; top:.6rem; padding:.2rem .5rem; border-radius:.45rem; background:linear-gradient(135deg, #020338, #0A0FC8); color:#fff; font-size:.68rem; font-weight:800; letter-spacing:.04em; }
.gc-res-card__star { position:absolute; right:.6rem; top:.6rem; display:inline-flex; align-items:center; gap:.2rem; padding:.2rem .55rem; border-radius:99px; background:#A3A6FF; color:#0B1240; font-size:.68rem; font-weight:800; }
.gc-res-card__body { display:flex; flex-direction:column; gap:.25rem; padding:.8rem .9rem .9rem; }
.gc-res-card__body strong { font-size:.95rem; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gc-res-card__body small { font-size:.78rem; color:var(--gc-text-muted); }
.gc-res-card__body .gc-shot__stats { margin-top:.25rem; }
.gc-res-card__by { margin-left:auto; }
.gc-rv__cover img { max-height:min(60vh, 34rem); }
.gc-rv__tags { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:1rem; }
.gc-rv__dl { display:grid; gap:.9rem; }
.gc-rv__file { display:flex; align-items:center; gap:.75rem; }
.gc-rv__file > span:last-child { display:flex; flex-direction:column; line-height:1.35; }
.gc-rv__file small { font-size:.8rem; color:var(--gc-text-muted); }
.gc-rv__btn { width:100%; justify-content:center; }
.gc-rv__acts { display:flex; flex-wrap:wrap; gap:.45rem; }
.gc-rv__acts [data-report-type] { border-radius:99px; margin-left:auto; }
.gc-hub .gc-rv__license h2 { display:flex; align-items:center; gap:.4rem; margin:0 0 .35rem; font-size:.95rem; color:var(--gc-cobalt); }
.gc-rv__license p { margin:0; font-size:.85rem; line-height:1.55; color:var(--gc-ink-2); }

/* Interrupteur (fichier / lien externe) */
.gc-switch { display:flex; align-items:center; gap:.7rem; margin-bottom:.9rem; font-size:.9rem; font-weight:600; color:var(--gc-ink-2); cursor:pointer; }
.gc-switch input { position:absolute; opacity:0; pointer-events:none; }
.gc-switch i { position:relative; flex-shrink:0; width:2.6rem; height:1.5rem; border-radius:99px; background:#D4D6F0; transition:background .2s; }
.gc-switch i::after { content:""; position:absolute; left:.2rem; top:.2rem; width:1.1rem; height:1.1rem; border-radius:50%; background:#fff; box-shadow:0 2px 4px rgba(0,0,0,.2); transition:transform .2s; }
.gc-switch input:checked + i { background:var(--gc-cobalt); }
.gc-switch input:checked + i::after { transform:translateX(1.1rem); }
.gc-switch input:focus-visible + i { box-shadow:0 0 0 3px rgba(10,15,200,.35); }
.gc-compose__form input[type=url] { width:100%; min-height:2.9rem; padding:.75rem 1rem; border-radius:.9rem; border:1px solid rgba(14,19,48,.12); background:#FAFAFF; font:inherit; color:var(--gc-ink); }

/* Zone de dépôt avec aperçu d'image */
.gc-drop--cover { min-height:11rem; justify-content:center; background-size:cover; background-position:center; }
.gc-drop.has-preview { border-style:solid; border-color:transparent; color:#fff; }
.gc-drop.has-preview .gc-drop__name, .gc-drop.has-preview small { color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.5); }

/* Abonnés / abonnements */
.gc-follows__head { display:flex; align-items:center; gap:.9rem; margin-bottom:1rem; }
.gc-follows__head img { border-radius:50%; object-fit:cover; }
.gc-hub .gc-follows__head h1 { margin:0; font-size:1.35rem; color:var(--gc-navy); }
.gc-follows__head p { margin:.1rem 0 0; color:var(--gc-text-muted); font-size:.88rem; }
.gc-follow-row { padding:.7rem .8rem .7rem 1rem; }
.gc-follow-row:hover { transform:none; }
.gc-follow-row__who { flex:1; min-width:0; display:flex; align-items:center; gap:.85rem; color:var(--gc-ink); }
.gc-follow-row form { margin:0; flex-shrink:0; }
.gc-follow-row .gc-follow-btn { border-radius:99px; }

/* Modifier mon profil */
.gc-pe { max-width:calc(48rem + 2 * var(--gc-gutter)); }
.gc-pe__meter .gc-omar { margin:-.6rem 0; }
.gc-pe__meter small { white-space:normal; }
.gc-pe__bar { display:block; height:.45rem; margin-top:.55rem; border-radius:99px; background:rgba(255,255,255,.22); overflow:hidden; }
.gc-pe__bar i { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg, #6C70F5, #fff); }
.gc-pe__avatar { display:flex; align-items:center; gap:1rem; margin-bottom:1.1rem; padding:.8rem; border-radius:1.1rem; border:1.5px dashed rgba(10,15,200,.35); background:var(--gc-tint); cursor:pointer; }
.gc-pe__avatar:hover { border-color:var(--gc-cobalt); }
.gc-pe__avatar img { border-radius:50%; object-fit:cover; border:3px solid #fff; box-shadow:0 10px 20px -14px rgba(11,18,64,.6); }
.gc-pe__avatar > span { display:flex; flex-direction:column; }
.gc-pe__avatar strong { color:var(--gc-cobalt); }
.gc-pe__avatar small { font-size:.82rem; color:var(--gc-text-muted); }
.gc-pe textarea { width:100%; padding:.75rem .95rem; border-radius:.85rem; border:1px solid rgba(14,19,48,.12); background:#FAFAFF; font:inherit; line-height:1.55; color:var(--gc-ink); resize:vertical; }
.gc-pe textarea:focus { outline:0; border-color:var(--gc-cobalt); background:#fff; box-shadow:0 0 0 4px rgba(10,15,200,.13); }
.gc-pe__skills { margin-bottom:.8rem; }
.gc-pe__links { list-style:none; margin:0 0 .9rem; padding:0; display:grid; gap:.5rem; }
.gc-pe__links li { display:flex; align-items:center; gap:.7rem; padding:.55rem .6rem; border-radius:.9rem; background:var(--gc-tint); }
.gc-pe__links li .gc-set__ic { width:2.1rem; height:2.1rem; background:#fff; }
.gc-pe__links li > span:nth-child(2) { flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.35; }
.gc-pe__links a { font-size:.82rem; color:var(--gc-text-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gc-pe__links form { margin:0; }
.gc-pe__add { display:grid; grid-template-columns:1fr 1.6fr auto; gap:.5rem; }
.gc-pe__add input { min-width:0; min-height:2.6rem; padding:.55rem .9rem; border-radius:.85rem; border:1px solid rgba(14,19,48,.12); background:#FAFAFF; font:inherit; color:var(--gc-ink); }

@media (max-width: 900px) {
  .gc-pv__grid { grid-template-columns:1fr; }
  .gc-pv__side { position:static; }
}
@media (max-width: 640px) {
  .gc-shots { grid-template-columns:1fr 1fr; gap:1rem .7rem; }
  .gc-shot__foot .gc-who span { display:none; }
  .gc-res-grid { grid-template-columns:1fr 1fr; gap:.7rem; }
  .gc-res-card__by { display:none; }
  .gc-res__sorts { order:3; width:100%; justify-content:space-between; }
  .gc-pv__actions { width:100%; }
  .gc-pe__add { grid-template-columns:1fr; }
}
@media (max-width: 380px) { .gc-shots, .gc-res-grid { grid-template-columns:1fr; } }

html[data-theme="dark"] :is(.gc-res-card, .gc-res__sorts, .gc-res__lic summary, .gc-res__lic > div, .gc-chipbtn--big) { background:#141A3B; }
html[data-theme="dark"] .gc-pv__owner { background:linear-gradient(180deg, #1A2048, #141A3B); }
html[data-theme="dark"] :is(.gc-pe textarea, .gc-pe__add input, .gc-compose__form input[type=url]) { background:#0F1430; border-color:rgba(255,255,255,.12); }
html[data-theme="dark"] .gc-pe__links li .gc-set__ic { background:#141A3B; }

/* ---------- Omar toujours en entier : réglages des petits emplacements ---------- */
.gc-omar-fab { width:auto; height:auto; padding:.35rem .6rem .15rem; overflow:visible; border-radius:2.2rem 2.2rem 1.4rem 1.4rem; place-items:end center; background:radial-gradient(ellipse at 50% 100%, rgba(10,15,200,.22), transparent 70%); box-shadow:none; }
.gc-omar-fab::after { content:"?"; position:absolute; top:-.1rem; right:-.15rem; display:grid; place-items:center; width:1.35rem; height:1.35rem; border-radius:50%; background:var(--gc-brand); color:#fff; font-size:.78rem; font-weight:800; box-shadow:0 4px 10px -4px rgba(11,18,64,.6); }
html[data-theme="dark"] .gc-omar-fab { background:radial-gradient(ellipse at 50% 100%, rgba(10,15,200,.35), transparent 70%); }
@media (max-width: 899px) {
  .gc-has-rail .gc-omar-fab { width:auto; height:auto; }
  .gc-has-rail .gc-omar-fab .gc-omar { width:29px !important; height:84px !important; }
  .gc-bluehead__side .gc-omar { width:34px !important; height:98px !important; }
}
.gc-challenge-banner__nodi { width:3.4rem; height:4.6rem; background:none; }
.gc-challenge-banner__nodi .gc-omar { width:30px !important; height:86px !important; }

/* ---------- Éléments sélectionnés : dégradé bleu vif -> violet ---------- */
.gc-tabs a.is-active, .gc-seg a.is-active, .gc-feed-tabs a.is-active, .gc-feed-tabs a.gc-btn--primary,
.gc-chips input:checked + span, .gc-pager a.is-active, .gc-res__sorts a.is-active {
  background:var(--gc-brand); border-color:transparent; color:#fff; box-shadow:0 8px 18px -10px rgba(10,15,200,.75);
}
.gc-splash__stage { border-color:#0A0FC8; }

/* ---------- Recherche ---------- */
.gc-sr__start h2, .gc-hub .gc-sr__start h2 { margin:0 0 .7rem; font-size:1rem; }
.gc-sr__start p { margin:.9rem 0 0; font-size:.86rem; color:var(--gc-text-muted); }
.gc-sr__chip { padding:.45rem .9rem; font-size:.84rem; }
.gc-sr__center { justify-content:center; margin-top:.4rem; }
.gc-sr__group { margin-top:1.6rem; }
.gc-sr__group-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }
.gc-hub .gc-sr__group-head h2 { display:flex; align-items:center; gap:.6rem; margin:0; font-size:1.05rem; }
.gc-sr__group-head .gc-set__ic { width:2.2rem; height:2.2rem; }
.gc-sr__group-head a { display:inline-flex; align-items:center; gap:.3rem; font-size:.86rem; font-weight:700; color:var(--gc-cobalt); }
.gc-sr-list { max-width:44rem; }
.gc-sr-user > .gc-icon { color:var(--gc-text-muted); flex-shrink:0; }
.gc-sr-q .gc-qa-item__count { width:3rem; height:3rem; }

/* ---------- Logiciels ---------- */
.gc-sw-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap:.8rem; }
.gc-sw-card { display:flex; align-items:center; gap:.85rem; padding:.85rem; border-radius:1.2rem; background:#fff; border:1px solid var(--gc-line); color:var(--gc-ink); transition:transform .2s var(--gc-ease, ease), border-color .2s, box-shadow .2s; }
.gc-sw-card:hover { transform:translateY(-2px); border-color:rgba(10,15,200,.3); box-shadow:0 20px 40px -32px rgba(2,3,56,.6); }
.gc-sw-card__logo { flex-shrink:0; display:grid; place-items:center; width:3.6rem; height:3.6rem; padding:.55rem; border-radius:1rem; background:var(--gc-tint); }
.gc-sw-card__logo img { width:100%; height:100%; object-fit:contain; }
.gc-sw-card__body { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:.15rem; }
.gc-sw-card__body strong { font-size:.95rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.gc-sw-card__body small { font-size:.78rem; color:var(--gc-text-muted); }
.gc-sw-card__lic { margin-top:.2rem; padding:.12rem .5rem; border-radius:99px; font-size:.68rem; font-weight:800; background:var(--gc-tint); color:var(--gc-cobalt); }
.gc-sw-card__lic--free, .gc-sw-card__lic--open_source { background:var(--gc-brand); color:#fff; }
.gc-sw .gc-res__count { margin:-.25rem 0 .8rem; }
.gc-swv__head { display:flex; align-items:center; gap:1.1rem; flex-wrap:wrap; margin-bottom:1.25rem; padding:1.2rem; border-radius:1.4rem; background:#fff; border:1px solid var(--gc-line); }
.gc-swv__logo { width:5rem; height:5rem; padding:.8rem; border-radius:1.3rem; }
.gc-swv__title { flex:1; min-width:12rem; }
.gc-hub .gc-swv__title h1 { margin:0 0 .5rem; font-size:clamp(1.5rem, 1.1rem + 1.4vw, 2.1rem); letter-spacing:-.03em; color:var(--gc-navy); }
.gc-swv__cta { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.gc-hub .gc-swv__box h2 { margin:0 0 .6rem; font-size:.98rem; }
.gc-swv__box ul { list-style:none; margin:0; padding:0; display:grid; gap:.45rem; }
.gc-swv__box li { display:flex; justify-content:space-between; gap:.6rem; font-size:.88rem; }
.gc-swv__box li small { color:var(--gc-text-muted); }
.gc-swv__box a { display:inline-flex; align-items:center; gap:.35rem; color:var(--gc-cobalt); font-weight:700; }
@media (max-width: 640px) {
  .gc-sw-grid { grid-template-columns:1fr; }
  .gc-swv__cta { width:100%; }
  .gc-swv__cta .gc-pill-cta { flex:1; justify-content:center; }
}
html[data-theme="dark"] :is(.gc-sw-card, .gc-swv__head) { background:#141A3B; }

/* ---------- Messagerie : nouveau message ---------- */
.gc-convs__empty--omar { display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:2rem 1.25rem; text-align:center; }
.gc-convs__empty--omar strong { font-size:1rem; color:var(--gc-ink); }
.gc-convs__empty--omar span { font-size:.88rem; line-height:1.5; color:var(--gc-text-muted); }
.gc-convs__empty--omar .gc-pill-cta { margin-top:.5rem; }
.gc-newmsg { width:min(28rem, calc(100vw - 2rem)); padding:1.1rem; }
.gc-newmsg__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:.8rem; }
.gc-newmsg__head h2 { margin:0; font-size:1.15rem; color:var(--gc-navy); }
.gc-newmsg__list { display:grid; gap:.4rem; max-height:min(60vh, 26rem); overflow-y:auto; padding:.15rem; }
.gc-newmsg__list .gc-person { color:var(--gc-ink); }
.gc-newmsg__list .gc-person > .gc-icon { margin-left:auto; color:var(--gc-cobalt); flex-shrink:0; }
.gc-newmsg__list .gc-person:hover { background:var(--gc-tint); }
.gc-thread__more[hidden] { display:none !important; }

/* ---------- Connexion et sécurité ---------- */
.gc-sec__level strong { font-size:1.1rem; }
.gc-sec__checks { list-style:none; margin:.45rem 0 0; padding:0; display:flex; flex-wrap:wrap; gap:.35rem .9rem; font-size:.84rem; color:rgba(255,255,255,.8); }
.gc-sec__checks li { display:inline-flex; align-items:center; gap:.35rem; }
.gc-sec__checks i { display:grid; place-items:center; width:1.15rem; height:1.15rem; border-radius:50%; background:rgba(255,255,255,.2); }
.gc-sec__checks li.is-ok { color:#fff; font-weight:700; }
.gc-sec__checks li.is-ok i { background:#fff; color:#0A0FC8; }
.gc-set > header .gc-pstat { align-self:flex-start; }
.gc-sec__more { margin-top:.6rem; border-radius:1rem; background:var(--gc-tint); }
.gc-sec__more summary { display:flex; align-items:center; gap:.5rem; padding:.8rem 1rem; font-weight:700; font-size:.9rem; color:var(--gc-ink); cursor:pointer; list-style:none; }
.gc-sec__more summary::-webkit-details-marker { display:none; }
.gc-sec__more[open] summary { border-bottom:1px solid var(--gc-line); }
.gc-sec__more form { padding:1rem; }
.gc-sec__more--danger summary { color:#060AA8; }
.gc-sec__steps { list-style:none; counter-reset:st; margin:0; padding:0; display:grid; gap:1rem; }
.gc-sec__steps li { counter-increment:st; position:relative; display:flex; flex-direction:column; gap:.3rem; padding-left:2.6rem; font-size:.9rem; color:var(--gc-ink-2); }
.gc-sec__steps li::before { content:counter(st); position:absolute; left:0; top:0; display:grid; place-items:center; width:1.9rem; height:1.9rem; border-radius:50%; background:var(--gc-brand); color:#fff; font-weight:800; }
.gc-sec__steps strong { color:var(--gc-ink); }
.gc-sec__steps a { color:var(--gc-cobalt); font-weight:700; }
.gc-sec__steps .gc-totp-secret { align-self:flex-start; margin:.2rem 0; }
.gc-sec__confirm { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-top:.4rem; }
.gc-sec__confirm input { width:9.5rem; min-height:2.8rem; padding:.6rem .9rem; border-radius:.85rem; border:1px solid rgba(2,3,56,.15); background:#FAFAFF; font:inherit; font-size:1.1rem; letter-spacing:.18em; color:var(--gc-ink); }
.gc-sec__start { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.75rem; }
.gc-sec__start .gc-field { flex:1; min-width:14rem; margin:0; }
.gc-sec__tips { margin:0; padding-left:1.2rem; display:grid; gap:.45rem; font-size:.9rem; line-height:1.55; color:var(--gc-ink-2); }
.gc-sec__codes { border:2px solid rgba(10,15,200,.35); }

/* ---------- Tableau de bord ---------- */
.gc-dash { max-width:calc(70rem + 2 * var(--gc-gutter)); }
.gc-dash__alert { display:flex; align-items:center; gap:.85rem; margin-bottom:1rem; color:var(--gc-ink); border:1.5px solid rgba(10,15,200,.3); }
.gc-dash__alert > span:nth-child(2) { flex:1; display:flex; flex-direction:column; }
.gc-dash__alert small { color:var(--gc-text-muted); font-size:.84rem; }
.gc-dash__alert > .gc-icon { color:var(--gc-cobalt); }
.gc-dash__hero { position:relative; overflow:hidden; display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; padding:1.3rem 1.5rem; margin-bottom:1.25rem; border-radius:1.5rem; color:#fff; background:var(--gc-brand); box-shadow:0 30px 60px -40px rgba(2,3,56,.9); }
.gc-dash__hero::before { content:""; position:absolute; inset:0; opacity:.2; background-image:linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.35) 1px, transparent 1px); background-size:36px 36px; -webkit-mask-image:linear-gradient(90deg, transparent, #000); mask-image:linear-gradient(90deg, transparent, #000); }
.gc-dash__hero > * { position:relative; }
.gc-dash__score { display:flex; flex-direction:column; }
.gc-dash__score small { font-size:.8rem; font-weight:700; opacity:.8; }
.gc-dash__score strong { font-size:clamp(2.2rem, 1.6rem + 2vw, 3rem); line-height:1; letter-spacing:-.03em; }
.gc-dash__rank { display:inline-flex; align-items:center; gap:.3rem; margin-top:.4rem; padding:.2rem .65rem; border-radius:99px; background:rgba(255,255,255,.16); font-size:.8rem; font-weight:700; width:fit-content; }
.gc-dash__level { flex:1; min-width:14rem; display:flex; flex-direction:column; gap:.25rem; font-size:.9rem; }
.gc-dash__level small { opacity:.8; }
.gc-dash__actions { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 12.5rem), 1fr)); gap:.75rem; }
.gc-dash__action { position:relative; display:flex; flex-direction:column; gap:.25rem; padding:1rem; border-radius:1.2rem; background:#fff; border:1px solid var(--gc-line); color:var(--gc-ink); transition:transform .2s var(--gc-ease, ease), border-color .2s; }
.gc-dash__action:hover { transform:translateY(-2px); border-color:rgba(10,15,200,.3); }
.gc-dash__action .gc-set__ic { margin-bottom:.35rem; }
.gc-dash__action small { font-size:.8rem; color:var(--gc-text-muted); }
.gc-dash__action b { position:absolute; right:.8rem; top:.9rem; font-size:.72rem; font-weight:800; color:var(--gc-cobalt); }
.gc-dash__history { list-style:none; margin:0; padding:.4rem 1.1rem; }
.gc-dash__history li { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.65rem 0; font-size:.9rem; }
.gc-dash__history li + li { border-top:1px solid var(--gc-line); }
.gc-dash__history small { display:block; font-size:.76rem; color:var(--gc-text-muted); }
.gc-dash__history b { padding:.2rem .6rem; border-radius:99px; font-size:.84rem; }
.gc-dash__history b.is-plus { background:var(--gc-tint); color:var(--gc-cobalt); }
.gc-dash__history b.is-minus { background:#EEF0F6; color:var(--gc-text-muted); }
.gc-dash__how { margin-top:1rem; }
.gc-dash__how summary { display:flex; align-items:center; gap:.5rem; font-weight:700; cursor:pointer; list-style:none; }
.gc-dash__how summary::-webkit-details-marker { display:none; }
.gc-dash__how[open] summary { margin-bottom:.8rem; }
.gc-hub .gc-dash__top h2 { margin:0 0 .6rem; font-size:1rem; }
.gc-dash__top ol { list-style:none; margin:0 0 .8rem; padding:0; display:grid; gap:.35rem; }
.gc-dash__top li { display:flex; align-items:center; gap:.6rem; padding:.35rem .45rem; border-radius:.8rem; font-size:.88rem; }
.gc-dash__top li.is-me { background:var(--gc-tint); }
.gc-dash__top img { border-radius:50%; }
.gc-dash__pos { width:1.3rem; text-align:center; font-weight:800; color:var(--gc-text-muted); }
.gc-dash__top li:nth-child(-n+3) .gc-dash__pos { color:var(--gc-cobalt); }
.gc-dash__name { flex:1; min-width:0; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width: 640px) { .gc-dash__hero .gc-omar { display:none; } .gc-dash__actions { grid-template-columns:1fr 1fr; } }
html[data-theme="dark"] :is(.gc-dash__action) { background:#141A3B; }

/* ---------- Accessibilité : focus clavier toujours visible, y compris sur fond bleu ---------- */
.gc-searchbar:focus-within { box-shadow:0 0 0 3px rgba(10,15,200,.45); }
:is(.gc-bluehead, .gc-hero3, .gc-set-me, .gc-dash__hero, .gc-challenge-hero, .gc-challenge-banner, .gc-land-cta, .gc-land-dark) :focus-visible { outline-color:#fff; }
:is(.gc-bluehead, .gc-hero3) .gc-searchbar:focus-within { box-shadow:0 0 0 3px rgba(255,255,255,.85); }
.gc-drop:focus-within, .gc-pe__avatar:focus-within { outline:3px solid rgba(10,15,200,.55); outline-offset:2px; }
.gc-person:focus-visible, .gc-shot__media:focus-visible, .gc-res-card:focus-visible, .gc-sw-card:focus-visible, .gc-qa-item:focus-visible, .gc-cr-item:focus-visible { outline:3px solid rgba(10,15,200,.6); outline-offset:2px; }
.gc-omar-fab:focus-visible { outline:3px solid rgba(10,15,200,.6); outline-offset:3px; border-radius:2rem; }

/* ---------- Ressources : médias, explication, premium ---------- */
.gc-rv__cover { position:relative; }
.gc-rv__premium { position:absolute; left:1rem; top:1rem; display:inline-flex; align-items:center; gap:.3rem; padding:.35rem .8rem; border-radius:99px; background:var(--gc-brand); color:#fff; font-size:.82rem; font-weight:800; box-shadow:0 10px 20px -10px rgba(2,3,56,.7); }
.gc-rv__video video { display:block; width:100%; max-height:70vh; background:#000; }
.gc-rv__gallery { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 11rem), 1fr)); gap:.6rem; margin:1rem 0; }
.gc-rv__gallery a { aspect-ratio:4 / 3; overflow:hidden; border-radius:1rem; background:var(--gc-tint); }
.gc-rv__gallery img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.gc-rv__gallery a:hover img { transform:scale(1.05); }
.gc-rv__guide { margin-top:1rem; }
.gc-hub .gc-rv__guide h2 { display:flex; align-items:center; gap:.45rem; }
.gc-rv__price { margin:0; display:flex; flex-direction:column; }
.gc-rv__price strong { font-size:1.6rem; letter-spacing:-.02em; color:var(--gc-navy); }
.gc-rv__price small { font-size:.8rem; color:var(--gc-text-muted); }
.gc-rv__wait { display:flex; align-items:center; justify-content:center; gap:.45rem; min-height:2.9rem; padding:0 1rem; border-radius:99px; background:var(--gc-tint); color:var(--gc-cobalt); font-weight:700; font-size:.9rem; }
.gc-res-card__price { background:var(--gc-brand); color:#fff; }
.gc-tabs a.gc-tabs__premium { display:inline-flex; align-items:center; gap:.3rem; }
.gc-rc__media { gap:.75rem; }
.gc-rc__media .gc-drop { padding:1rem .8rem; }
.gc-rc__sell { padding:1rem; border-radius:1.1rem; background:var(--gc-tint); border:1.5px dashed rgba(10,15,200,.3); }
.gc-rc__sell h2 span { background:var(--gc-brand); }
.gc-rc__price small { display:block; margin-top:.35rem; font-size:.8rem; color:var(--gc-text-muted); }
.gc-rc__price-in { display:flex; align-items:center; gap:.5rem; max-width:14rem; }
.gc-rc__price-in input { flex:1; min-width:0; min-height:2.8rem; padding:.6rem .9rem; border-radius:.85rem; border:1px solid rgba(2,3,56,.15); background:#fff; font:inherit; font-size:1.05rem; font-weight:700; color:var(--gc-ink); }
.gc-rc__price-in span { font-weight:800; color:var(--gc-cobalt); }

/* ---------- Achat ---------- */
.gc-buy__item { display:flex; align-items:center; gap:.9rem; margin-bottom:1.2rem; padding:.7rem; border-radius:1rem; background:var(--gc-tint); }
.gc-buy__item img { border-radius:.7rem; object-fit:cover; }
.gc-buy__item > div { display:flex; flex-direction:column; }
.gc-buy__price { font-size:1.35rem; font-weight:800; color:var(--gc-navy); }
.gc-buy__methods { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); gap:.6rem; }
.gc-buy__logo { display:grid; place-items:center; width:2.6rem; height:2.6rem; flex-shrink:0; border-radius:.8rem; color:#fff; font-weight:800; font-size:.85rem; }
.gc-buy__logo--wave { background:#1DC3F0; }
.gc-buy__logo--orange_money { background:#FF7900; }
.gc-buy__pay p { margin:0 0 .5rem; color:var(--gc-ink-2); }
.gc-buy__ref { display:inline-flex; align-items:center; gap:.7rem; padding:.55rem .6rem .55rem 1rem; border-radius:.9rem; border:1.5px dashed rgba(10,15,200,.4); background:#fff; font:inherit; cursor:pointer; }
.gc-buy__ref code { font-size:1.15rem; font-weight:800; letter-spacing:.08em; color:var(--gc-navy); }
.gc-buy__ref span { padding:.3rem .7rem; border-radius:99px; background:var(--gc-tint); color:var(--gc-cobalt); font-size:.8rem; font-weight:700; }
.gc-buy__ref.is-copied span { background:var(--gc-brand); color:#fff; }
.gc-buy input[type=tel] { width:100%; min-height:2.9rem; padding:.75rem 1rem; border-radius:.9rem; border:1px solid rgba(2,3,56,.12); background:#FAFAFF; font:inherit; color:var(--gc-ink); }

/* ---------- Ventes (admin) et Mes achats ---------- */
.gc-orders__kpis { display:grid; grid-template-columns:repeat(auto-fit, minmax(10rem, 1fr)); gap:.75rem; margin-bottom:1.1rem; }
.gc-orders__kpis .gc-panel { display:flex; flex-direction:column; padding:1rem 1.1rem; }
.gc-orders__kpis small { font-size:.8rem; font-weight:700; color:var(--gc-text-muted); }
.gc-orders__kpis strong { font-size:1.5rem; color:var(--gc-navy); }
.gc-orders__list { list-style:none; margin:0; padding:0; display:grid; gap:.75rem; }
.gc-order__main { display:flex; align-items:center; gap:.85rem; flex-wrap:wrap; }
.gc-order__thumb, .gc-purchase__thumb { border-radius:.7rem; object-fit:cover; flex-shrink:0; }
.gc-order__info { flex:1; min-width:12rem; display:flex; flex-direction:column; }
.gc-order__info a { color:var(--gc-ink); }
.gc-order__info small { font-size:.8rem; color:var(--gc-text-muted); }
.gc-order__amount { font-weight:800; color:var(--gc-navy); }
.gc-order__meta { display:grid; grid-template-columns:repeat(auto-fit, minmax(9rem, 1fr)); gap:.5rem .9rem; margin:.9rem 0 0; padding:.75rem .9rem; border-radius:.9rem; background:var(--gc-tint); }
.gc-order__meta dt { font-size:.72rem; font-weight:700; color:var(--gc-text-muted); }
.gc-order__meta dd { margin:0; font-size:.88rem; font-weight:600; overflow-wrap:anywhere; }
.gc-order__acts { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-top:.9rem; }
.gc-order__acts form { margin:0; }
.gc-order__reject { display:flex; gap:.4rem; flex-wrap:wrap; }
.gc-order__reject input, .gc-admin-price input { min-height:2.5rem; padding:.45rem .8rem; border-radius:.8rem; border:1px solid rgba(2,3,56,.15); font:inherit; font-size:.86rem; }
.gc-admin-price { display:flex; gap:.35rem; }
.gc-admin-price input { width:7.5rem; }
.gc-purchase .gc-cr-item__body a { color:var(--gc-ink); }
@media (max-width: 640px) { .gc-purchase { flex-wrap:wrap; } .gc-purchase .gc-pill-cta { width:100%; justify-content:center; } }
html[data-theme="dark"] :is(.gc-buy__ref, .gc-rc__price-in input) { background:#141A3B; }

/* ============================================================
   Pages de gestion restantes (offres d'emploi, candidatures, tutoriels, masterclass, formations,
   parcours, suppression de compte, soutien) : même langage visuel que le reste du site.
   ============================================================ */
.gc-has-rail .gc-app-layout > div > h1, .gc-has-rail .gc-section > h1, .gc-has-rail .gc-app-layout h1:first-child { font-size:clamp(1.6rem, 1.2rem + 1.4vw, 2.2rem); letter-spacing:-.03em; color:var(--gc-navy); margin-bottom:.4rem; }
.gc-has-rail .gc-btn { border-radius:99px; font-weight:700; }
.gc-has-rail .gc-btn--primary { background:var(--gc-brand); border-color:transparent; color:#fff; box-shadow:0 12px 24px -16px rgba(2,3,56,.7); }
.gc-has-rail .gc-btn--primary:hover { filter:brightness(1.08); }
.gc-has-rail .gc-btn--outline { background:#fff; border:1.5px solid rgba(10,15,200,.3); color:var(--gc-cobalt); }
.gc-has-rail .gc-btn--outline:hover { background:var(--gc-tint); }
.gc-has-rail .gc-btn--ghost { background:var(--gc-tint); border-color:transparent; color:var(--gc-ink-2); }
.gc-has-rail .gc-btn--danger { background:#fff; border:1.5px solid #060AA8; color:#060AA8; }
.gc-has-rail .gc-status { border-radius:99px; padding:.25rem .7rem; font-size:.76rem; font-weight:800; }
.gc-has-rail .gc-status--active { background:var(--gc-tint); color:var(--gc-cobalt); }
.gc-has-rail .gc-status--pending { background:#F3F4FB; color:var(--gc-text-muted); }
.gc-has-rail .gc-status--suspended, .gc-has-rail .gc-status--rejected { background:#EEF0F6; color:#060AA8; }
.gc-has-rail .gc-card { padding:0; }
.gc-has-rail .gc-card__body { padding:1.1rem 1.2rem; }
.gc-has-rail .gc-card__title { color:var(--gc-ink); letter-spacing:-.01em; }
.gc-has-rail .gc-card__meta { color:var(--gc-text-muted); }
.gc-has-rail a.gc-card { transition:transform .2s var(--gc-ease, ease), border-color .2s; }
.gc-has-rail a.gc-card:hover { transform:translateY(-2px); border-color:rgba(10,15,200,.3); }
.gc-has-rail .gc-grid { gap:1rem; }
.gc-has-rail .gc-field label { font-size:.88rem; }
.gc-has-rail .gc-field select { appearance:none; background-image:linear-gradient(45deg, transparent 50%, #0A0FC8 50%), linear-gradient(135deg, #0A0FC8 50%, transparent 50%); background-position:calc(100% - 1.1rem) 55%, calc(100% - .8rem) 55%; background-size:.35rem .35rem; background-repeat:no-repeat; padding-right:2.2rem; }
.gc-has-rail .gc-flash { border:0; font-weight:600; }
.gc-has-rail .gc-flash--success, .gc-has-rail .gc-flash--info { background:var(--gc-tint); color:var(--gc-navy); }
.gc-has-rail .gc-flash--error { background:#EEF0F6; color:#060AA8; border-left:4px solid #060AA8; }
.gc-has-rail .gc-tag { padding:.2rem .65rem; font-size:.76rem; }
.gc-has-rail .gc-section > form[method=get], .gc-has-rail .gc-app-layout form[method=get] { padding:.6rem; border-radius:1.2rem; background:#fff; border:1px solid var(--gc-line); }
html[data-theme="dark"] .gc-has-rail :is(.gc-btn--outline, .gc-btn--danger) { background:transparent; }
html[data-theme="dark"] .gc-has-rail :is(.gc-section > form[method=get], .gc-app-layout form[method=get]) { background:#141A3B; }

/* ---------- Administration : menu dans le rail ---------- */
.gc-rail--admin { overflow-y:auto; scrollbar-width:thin; }
.gc-rail__back { display:flex; align-items:center; gap:.4rem; margin:0 .4rem .6rem; padding:.5rem .75rem; border-radius:.8rem; font-size:.84rem; font-weight:700; color:var(--gc-text-muted); }
.gc-rail__back:hover { background:var(--gc-tint); color:var(--gc-cobalt); }
.gc-rail__title { display:flex; align-items:center; gap:.45rem; margin:0 .4rem .4rem; padding:.6rem .8rem; border-radius:.9rem; background:var(--gc-brand); color:#fff; font-weight:800; font-size:.92rem; }
.gc-rail__group { margin:.9rem .9rem .3rem; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--gc-text-muted); }
.gc-rail--admin .gc-rail__link { position:relative; padding-top:.45rem; padding-bottom:.45rem; }
.gc-rail__count { margin-left:auto; min-width:1.35rem; height:1.35rem; padding:0 .35rem; border-radius:99px; background:var(--gc-brand); color:#fff; font-size:.7rem; font-weight:800; line-height:1.35rem; text-align:center; }
.gc-sheet__grid--admin { margin-bottom:.6rem; }
.gc-sheet__grid--admin .gc-sheet__icon { position:relative; }

/* ---------- Tableau de bord d'administration ---------- */
.gc-adm { max-width:calc(72rem + 2 * var(--gc-gutter)); }
.gc-adm__kpis { display:grid; grid-template-columns:repeat(auto-fit, minmax(13rem, 1fr)); gap:.8rem; margin-bottom:1.4rem; }
.gc-adm__kpi { display:flex; flex-direction:column; gap:.15rem; color:var(--gc-ink); transition:transform .2s var(--gc-ease, ease), border-color .2s; }
a.gc-adm__kpi:hover { transform:translateY(-2px); border-color:rgba(10,15,200,.3); }
.gc-adm__kpi .gc-set__ic { margin-bottom:.5rem; }
.gc-adm__kpi strong { font-size:1.7rem; letter-spacing:-.03em; color:var(--gc-navy); line-height:1.1; }
.gc-adm__kpi small { font-size:.84rem; color:var(--gc-text-muted); font-weight:600; }
.gc-adm__kpi b { margin-top:.35rem; font-size:.76rem; color:var(--gc-cobalt); }
.gc-adm__kpi--brand { background:var(--gc-brand); border-color:transparent; color:#fff; }
.gc-adm__kpi--brand strong, .gc-adm__kpi--brand small, .gc-adm__kpi--brand b { color:#fff; }
.gc-adm__kpi--brand .gc-set__ic { background:rgba(255,255,255,.18); color:#fff; }
.gc-adm .gc-cr-item .gc-rail__count { flex-shrink:0; }
.gc-hub .gc-adm__quick h2 { margin:0 0 .5rem; font-size:1rem; }
.gc-adm__quick a { display:flex; align-items:center; gap:.55rem; padding:.6rem .4rem; border-radius:.7rem; font-size:.9rem; font-weight:600; color:var(--gc-ink-2); }
.gc-adm__quick a + a { border-top:1px solid var(--gc-line); }
.gc-adm__quick a:hover { color:var(--gc-cobalt); background:var(--gc-tint); }
.gc-adm__quick .gc-icon { color:var(--gc-cobalt); }

/* ---------- Administration : cases à cocher en interrupteurs, onglets de filtre ---------- */
.gc-has-rail :is(.gc-field, .gc-app-layout) label:has(> input[type=checkbox]) { display:flex; align-items:center; gap:.7rem; font-weight:600; cursor:pointer; }
.gc-has-rail :is(.gc-field, .gc-app-layout) label > input[type=checkbox] { appearance:none; -webkit-appearance:none; position:relative; flex-shrink:0; width:2.6rem; height:1.5rem; margin:0; border-radius:99px; background:#D4D6F0; cursor:pointer; transition:background .2s; }
.gc-has-rail :is(.gc-field, .gc-app-layout) label > input[type=checkbox]::after { content:""; position:absolute; left:.2rem; top:.2rem; width:1.1rem; height:1.1rem; border-radius:50%; background:#fff; box-shadow:0 2px 4px rgba(0,0,0,.2); transition:transform .2s; }
.gc-has-rail :is(.gc-field, .gc-app-layout) label > input[type=checkbox]:checked { background:var(--gc-brand); }
.gc-has-rail :is(.gc-field, .gc-app-layout) label > input[type=checkbox]:checked::after { transform:translateX(1.1rem); }
.gc-has-rail :is(.gc-field, .gc-app-layout) label > input[type=checkbox]:focus-visible { outline:3px solid rgba(10,15,200,.45); outline-offset:2px; }
.gc-has-rail .gc-app-layout h1 + div:has(> a.gc-btn--sm), .gc-has-rail .gc-app-layout h1 + p + div:has(> a.gc-btn--sm) { gap:.4rem !important; }
.gc-has-rail .gc-app-layout a.gc-btn--sm.gc-btn--ghost { background:#fff; border:1px solid var(--gc-line); color:var(--gc-ink-2); }
.gc-has-rail .gc-app-layout a.gc-btn--sm.gc-btn--primary { background:var(--gc-brand); }

/* ---------- Tableaux sur petit écran : défilement horizontal au lieu d'être coupés ---------- */
@media (max-width: 899px) {
  .gc-has-rail table { display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
    background:linear-gradient(90deg, #fff 30%, rgba(255,255,255,0)), linear-gradient(90deg, rgba(255,255,255,0), #fff 70%) 100% 0,
      radial-gradient(farthest-side at 0 50%, rgba(2,3,56,.16), transparent), radial-gradient(farthest-side at 100% 50%, rgba(2,3,56,.16), transparent) 100% 0;
    background-repeat:no-repeat; background-size:2.5rem 100%, 2.5rem 100%, .9rem 100%, .9rem 100%; background-attachment:local, local, scroll, scroll; }
  .gc-has-rail table { width:100% !important; min-width:0 !important; }
  .gc-has-rail table th, .gc-has-rail table td { white-space:nowrap; }
  .gc-has-rail table td:first-child { white-space:normal; min-width:11rem; }
  .gc-has-rail .gc-card:has(> .gc-card__body > table), .gc-has-rail .gc-card__body:has(> table) { overflow:visible; }
}
html[data-theme="dark"] .gc-has-rail table { background-color:#141A3B; }

/* Feuille « Plus » : jamais plus haute que l'écran (menu d'administration compris), défilable. */
.gc-sheet { max-height:calc(100dvh - var(--gc-nav-h, 4rem) - var(--gc-tabbar-h, 4.25rem) - .75rem); overflow-y:auto; overscroll-behavior:contain; }
.gc-sheet__grid--admin .gc-sheet__item.is-active { color:var(--gc-cobalt); font-weight:800; }

/* ---- Défis : récompense, visuel, vitrine du gagnant, administration ---- */
.gc-challenge-prize { display:flex; align-items:center; gap:.85rem; margin-top:1.1rem; padding:.7rem .9rem; max-width:30rem; border-radius:1.1rem; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); color:#fff; text-decoration:none; transition:background .2s; }
.gc-challenge-prize:hover { background:rgba(255,255,255,.18); }
.gc-challenge-prize img { width:3.5rem; height:3.5rem; border-radius:.8rem; object-fit:cover; flex:none; background:#fff; }
.gc-challenge-prize span { display:grid; gap:.1rem; min-width:0; }
.gc-challenge-prize small { display:inline-flex; align-items:center; gap:.3rem; font-size:.74rem; font-weight:800; text-transform:none; color:#C9CBFF; }
.gc-challenge-prize strong { font-size:1rem; }
.gc-challenge-prize em { font-style:normal; font-size:.8rem; color:rgba(255,255,255,.8); }
.gc-challenge-hero__nodi.has-cover { position:relative; }
.gc-challenge-hero__cover { display:block; width:15rem; max-width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:1.2rem; border:3px solid rgba(255,255,255,.25); }
.gc-challenge-hero__nodi.has-cover .gc-challenge-hero__omar { position:absolute; left:-2.6rem; bottom:-.6rem; }
@media (max-width: 699px) {
  .gc-challenge-hero__nodi.has-cover { display:block; order:-1; }
  .gc-challenge-hero__cover { width:100%; aspect-ratio:16/9; }
  .gc-challenge-hero__nodi.has-cover .gc-challenge-hero__omar { display:none; }
}
.gc-spotlight { position:relative; display:grid; grid-template-columns:9rem 1fr auto; gap:1.1rem; align-items:center; margin-top:1.2rem; padding:1rem 1.2rem; border-radius:1.3rem; background:#F2F3FF; border:1px solid #D9DBFF; overflow:hidden; }
.gc-spotlight__img { width:9rem; aspect-ratio:1; object-fit:cover; border-radius:1rem; }
.gc-spotlight__txt { display:grid; gap:.35rem; min-width:0; }
.gc-spotlight__kicker { display:inline-flex; align-items:center; gap:.35rem; width:fit-content; padding:.25rem .7rem; border-radius:99px; background:linear-gradient(130deg, #020338 0%, #0A0FC8 100%); color:#fff; font-size:.76rem; font-weight:800; }
.gc-spotlight__txt strong { font-family:var(--gc-serif); font-size:1.35rem; font-weight:600; color:var(--gc-ink); }
.gc-spotlight__txt > span:last-child { font-size:.85rem; color:var(--gc-ink-soft); }
@media (max-width: 699px) {
  .gc-spotlight { grid-template-columns:5.5rem 1fr; }
  .gc-spotlight__img { width:5.5rem; }
  .gc-spotlight__omar { display:none; }
  .gc-spotlight__txt strong { font-size:1.1rem; }
}
.gc-adch__now { display:flex; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; margin-bottom:1.4rem; }
.gc-adch__now h2 { margin:.6rem 0 .3rem; font-family:var(--gc-serif); font-weight:600; }
.gc-adch__now p { margin:0 0 .4rem; color:var(--gc-ink-soft); max-width:38rem; }
.gc-adch__kicker { display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .7rem; border-radius:99px; background:#E8E9FF; color:#0A0FC8; font-size:.78rem; font-weight:800; }
.gc-adch__reward { display:flex; align-items:center; gap:.4rem; color:var(--gc-ink) !important; }
.gc-adch__stats { display:flex; align-items:center; gap:1.2rem; }
.gc-adch__stats div { display:grid; text-align:center; }
.gc-adch__stats strong { font-size:1.6rem; color:#0A0FC8; line-height:1.1; }
.gc-adch__stats small { color:var(--gc-ink-soft); }
.gc-adch__slot.is-editing { outline:2px solid #0A0FC8; outline-offset:-2px; }
.gc-adch__date { display:grid; place-items:center; width:3rem; height:3rem; flex:none; border-radius:.8rem; background:linear-gradient(130deg, #020338 0%, #0A0FC8 100%); color:#fff; line-height:1; }
.gc-adch__date b { font-size:1.1rem; }
.gc-adch__date small { font-size:.68rem; opacity:.85; }
.gc-adch__acts { display:flex; gap:.35rem; flex:none; }
.gc-adch__form { position:sticky; top:5rem; }
.gc-adch__form h2 { margin:0 0 1rem; font-size:1.15rem; }
.gc-adch__form .gc-field { margin-bottom:1rem; }
.gc-adch__form :is(select, textarea, input:not([type=checkbox])) { width:100%; }
.gc-adch__cover { display:block; width:100%; max-height:10rem; object-fit:cover; border-radius:.8rem; margin:.3rem 0 .4rem; }
.gc-adch__check { display:flex !important; align-items:center; gap:.4rem; font-weight:500 !important; margin-bottom:.4rem; }
@media (max-width: 899px) { .gc-adch__form { position:static; } }
@media (max-width: 560px) { .gc-adch__slot { flex-wrap:wrap; } .gc-adch__acts { width:100%; justify-content:flex-end; } }

/* ---- Omar guide : invisible, il entre pour donner un conseil puis disparaît totalement ---- */
.gc-omar-fab { --gc-fab-r:1rem; transform-origin:100% 100%; transition:transform .5s cubic-bezier(.3,1.35,.5,1), opacity .3s; }
.gc-has-rail .gc-omar-fab { --gc-fab-r:1.25rem; }
.gc-omar-fab::after { display:none; }
.gc-omar-fab:not(.is-out) { transform:translateX(calc(100% + var(--gc-fab-r) + 1.5rem)); visibility:hidden; pointer-events:none; transition:transform .5s ease-in, visibility 0s linear .5s; }
.gc-omar-fab.is-out { transform:none; opacity:1; visibility:visible; transition:transform .5s cubic-bezier(.3,1.35,.5,1), visibility 0s; }
@media (max-width: 899px) { .gc-has-rail .gc-omar-fab { --gc-fab-r:.75rem; } }
@media (prefers-reduced-motion: reduce) { .gc-omar-fab { transition:none; } }

/* ---- Demandez à Omar : conversation avec sa mémoire ---- */
.gc-ask { max-width:52rem; }
.gc-ask__head { display:flex; align-items:center; gap:1.1rem; margin-bottom:1.2rem; padding:1.2rem 1.4rem; border-radius:1.4rem; color:#fff; background:linear-gradient(130deg, #020338 0%, #0A0FC8 100%); }
.gc-ask__head h1 { margin:0 0 .25rem; font-family:var(--gc-serif); font-weight:600; color:#fff; font-size:clamp(1.5rem, 1.2rem + 1.2vw, 2rem); }
.gc-ask__head p { margin:0 0 .4rem; color:rgba(255,255,255,.86); line-height:1.5; }
.gc-ask__head small { display:inline-flex; align-items:center; gap:.35rem; padding:.2rem .65rem; border-radius:99px; background:rgba(255,255,255,.14); font-weight:700; font-size:.78rem; }
.gc-ask__head .gc-omar { flex:none; filter:drop-shadow(0 0 1.5px rgba(255,255,255,.95)); }
.gc-ask__chat { border-radius:1.4rem; background:var(--gc-surface, #fff); border:1px solid var(--gc-line); overflow:hidden; }
.gc-ask__log { display:flex; flex-direction:column; gap:.9rem; padding:1.2rem; min-height:16rem; }
.gc-ask__msg { display:flex; }
.gc-ask__msg.is-me { justify-content:flex-end; }
.gc-ask__bubble { max-width:min(40rem, 92%); padding:.85rem 1rem; border-radius:1.1rem 1.1rem 1.1rem .3rem; background:#F2F3FF; color:var(--gc-ink); line-height:1.55; overflow-wrap:anywhere; }
.gc-ask__msg.is-me .gc-ask__bubble { border-radius:1.1rem 1.1rem .3rem 1.1rem; background:linear-gradient(130deg, #020338 0%, #0A0FC8 100%); color:#fff; font-weight:600; }
.gc-ask__bubble p { margin:0 0 .6rem; }
.gc-ask__bubble p:last-child { margin-bottom:0; }
.gc-ask__bubble ul, .gc-ask__bubble ol { margin:.2rem 0 .7rem; padding-left:1.2rem; }
.gc-ask__bubble li { margin:.2rem 0; }
.gc-ask__bubble code { padding:.05rem .35rem; border-radius:.35rem; background:#E8E9FF; font-size:.88em; }
.gc-ask__title { display:block; margin-bottom:.45rem; color:#0A0FC8; font-size:1.02rem; }
.gc-ask__links { display:grid; gap:.3rem; margin-top:.8rem; padding-top:.7rem; border-top:1px solid rgba(10,15,200,.12); }
.gc-ask__links b, .gc-ask__chips > span { font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--gc-ink-soft); }
.gc-ask__links a { display:inline-flex; align-items:center; gap:.35rem; color:#0A0FC8; font-weight:600; text-decoration:none; }
.gc-ask__links a:hover { text-decoration:underline; }
.gc-ask__chips { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.75rem; }
.gc-ask__chips > span { width:100%; }
.gc-ask__chip { display:inline-block; padding:.4rem .75rem; border-radius:99px; background:#fff; border:1px solid rgba(10,15,200,.25); color:#0A0FC8; font-size:.85rem; font-weight:600; text-decoration:none; text-align:left; }
.gc-ask__chip:hover { background:#E8E9FF; }
.gc-ask__vote { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; margin-top:.8rem; font-size:.82rem; color:var(--gc-ink-soft); }
.gc-ask__vote-btn { padding:.25rem .7rem; border-radius:99px; border:1px solid var(--gc-line); background:#fff; font:inherit; font-weight:700; color:var(--gc-ink); cursor:pointer; }
.gc-ask__vote-btn:hover { border-color:#0A0FC8; color:#0A0FC8; }
.gc-ask__bubble.is-typing { display:flex; gap:.3rem; padding:1rem 1.1rem; }
.gc-ask__bubble.is-typing i { width:.5rem; height:.5rem; border-radius:50%; background:#0A0FC8; opacity:.35; animation:gc-ask-dot 1s ease-in-out infinite; }
.gc-ask__bubble.is-typing i:nth-child(2) { animation-delay:.15s; }
.gc-ask__bubble.is-typing i:nth-child(3) { animation-delay:.3s; }
@keyframes gc-ask-dot { 0%,100% { opacity:.3; transform:translateY(0); } 50% { opacity:1; transform:translateY(-3px); } }
.gc-ask__form { position:sticky; bottom:0; display:flex; gap:.5rem; padding:.8rem; border-top:1px solid var(--gc-line); background:var(--gc-surface, #fff); }
.gc-ask__form input { flex:1; min-width:0; padding:.75rem 1rem; border-radius:99px; border:1px solid var(--gc-line); font:inherit; background:#fff; color:var(--gc-ink); }
.gc-ask__form input:focus { outline:2px solid rgba(10,15,200,.45); outline-offset:1px; }
.gc-ask__form .gc-pill-cta { flex:none; padding:.7rem 1rem; }
.gc-ask__browse { margin-top:1.6rem; }
.gc-ask__browse h2 { font-size:1.1rem; margin:0 0 .7rem; }
.gc-ask__cats { display:flex; flex-wrap:wrap; gap:.45rem; }
.gc-ask__cat { display:inline-flex; align-items:center; gap:.4rem; padding:.45rem .8rem; border-radius:99px; background:#fff; border:1px solid var(--gc-line); color:var(--gc-ink); font-weight:600; font-size:.88rem; text-decoration:none; }
.gc-ask__cat b { color:#0A0FC8; }
.gc-ask__cat.is-active { background:linear-gradient(130deg, #020338 0%, #0A0FC8 100%); color:#fff; border-color:transparent; }
.gc-ask__cat.is-active b { color:#fff; }
.gc-ask__list { margin:1rem 0 0; padding:0; list-style:none; display:grid; gap:.35rem; }
.gc-ask__list a { display:block; padding:.6rem .85rem; border-radius:.8rem; background:#fff; border:1px solid var(--gc-line); color:var(--gc-ink); text-decoration:none; font-weight:600; }
.gc-ask__list a:hover { border-color:#0A0FC8; color:#0A0FC8; }
html[data-theme="dark"] .gc-ask__bubble { background:#1A2048; color:#E7EAF7; }
html[data-theme="dark"] :is(.gc-ask__chip, .gc-ask__vote-btn, .gc-ask__cat, .gc-ask__list a, .gc-ask__form input) { background:#141A3B; color:#E7EAF7; }
html[data-theme="dark"] .gc-ask__bubble code { background:#252C5C; }

/* Omar voice assistant: a compact, Jarvis-inspired floating console. */
.gc-ask--jarvis { max-width:58rem; }
.gc-ask--jarvis .gc-ask__head { border:1px solid rgba(130,150,255,.2); box-shadow:0 18px 50px rgba(3,8,53,.18); }
.gc-ask--jarvis .gc-ask__chat { position:relative; overflow:hidden; border:1px solid rgba(103,125,255,.3); background:radial-gradient(ellipse at 50% 0%,#17205c 0%,#090e2b 58%,#06091d 100%); box-shadow:0 28px 70px rgba(4,8,48,.28); }
.gc-ask--jarvis .gc-ask__assistant { position:relative; min-height:16rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.55rem; padding:1.2rem 1rem .5rem; color:#eef1ff; }
.gc-ask--jarvis .gc-ask__orb { position:relative; isolation:isolate; display:grid; place-items:center; width:9rem; height:9rem; border:1px solid rgba(132,167,255,.65); border-radius:50%; background:radial-gradient(circle at 50% 42%,rgba(71,139,255,.55),rgba(20,39,118,.2) 48%,rgba(10,14,45,.1) 70%); box-shadow:0 0 18px rgba(62,132,255,.58),0 0 55px rgba(33,91,255,.38),inset 0 0 28px rgba(94,178,255,.34); animation:gc-omar-orb 3.2s ease-in-out infinite; }
.gc-ask--jarvis .gc-ask__orb::before,.gc-ask--jarvis .gc-ask__orb::after { content:""; position:absolute; inset:-.6rem; border:1px solid rgba(107,157,255,.45); border-radius:50%; z-index:-1; animation:gc-omar-ring 4s linear infinite; }
.gc-ask--jarvis .gc-ask__orb::after { inset:-1.15rem; border-color:rgba(82,113,255,.22); animation-duration:7s; animation-direction:reverse; }
.gc-ask--jarvis .gc-ask__orb span { position:absolute; inset:1rem; border-radius:50%; background:radial-gradient(circle,rgba(75,161,255,.24),transparent 68%); }
.gc-ask--jarvis .gc-ask__orb-mascot { position:relative; z-index:1; filter:drop-shadow(0 0 12px rgba(110,183,255,.85)); }
.gc-ask--jarvis .gc-ask__assistant-copy { display:grid; justify-items:center; gap:.3rem; color:#b9c7ff; font-size:.8rem; letter-spacing:.07em; }
.gc-ask--jarvis .gc-ask__assistant-copy strong { display:flex; align-items:center; gap:.45rem; color:#fff; letter-spacing:.22em; font-size:.9rem; }
.gc-ask--jarvis .gc-ask__assistant-copy i { width:.45rem; height:.45rem; border-radius:50%; background:#57f0c0; box-shadow:0 0 10px #57f0c0; }
.gc-ask--jarvis .gc-ask__chat.is-speaking .gc-ask__orb { animation-duration:1.15s; }
.gc-ask--jarvis .gc-ask__chat.is-speaking .gc-ask__assistant-copy i { background:#79baff; box-shadow:0 0 14px #79baff; }
.gc-ask--jarvis .gc-ask__voice-toggle { position:absolute; right:1rem; top:1rem; width:2.7rem; height:2.7rem; border:1px solid rgba(155,177,255,.3); border-radius:50%; color:#e8edff; background:rgba(50,69,144,.35); cursor:pointer; }
.gc-ask--jarvis .gc-ask__log { min-height:8rem; max-height:42vh; overflow:auto; padding:.6rem 1.2rem 1.2rem; background:transparent; }
.gc-ask--jarvis .gc-ask__msg.is-omar .gc-ask__bubble { color:#e9edff; border:1px solid rgba(114,146,255,.25); background:rgba(35,47,101,.72); box-shadow:0 8px 22px rgba(0,0,0,.12); }
.gc-ask--jarvis .gc-ask__msg.is-me .gc-ask__bubble { border:1px solid rgba(112,186,255,.38); background:linear-gradient(130deg,#123c91,#2757c5); }
.gc-ask--jarvis .gc-ask__title { color:#9fc9ff; }
.gc-ask--jarvis .gc-ask__links a { color:#A3A6FF; }
.gc-ask--jarvis .gc-ask__form { align-items:center; border-color:rgba(112,137,240,.22); background:rgba(7,11,35,.96); }
.gc-ask--jarvis .gc-ask__form input { color:#f3f5ff; border-color:rgba(123,149,255,.28); background:#11183b; }
.gc-ask--jarvis .gc-ask__form input::placeholder { color:#9aa7d7; }
.gc-ask--jarvis .gc-ask__mic { flex:none; width:2.8rem; height:2.8rem; border:1px solid rgba(116,145,255,.35); border-radius:50%; background:#182354; color:#fff; font-size:1.1rem; cursor:pointer; }
.gc-ask--jarvis .gc-ask__mic[aria-pressed="true"] { color:#fff; background:#b32959; box-shadow:0 0 18px rgba(234,55,111,.45); }
.gc-ask--jarvis .gc-ask__bubble p { color:inherit; }
.gc-ask--jarvis .gc-ask__chips > span { color:#b7c4ff; }
@keyframes gc-omar-orb { 0%,100% { transform:scale(.97); box-shadow:0 0 18px rgba(62,132,255,.48),0 0 48px rgba(33,91,255,.32),inset 0 0 28px rgba(94,178,255,.3); } 50% { transform:scale(1.035); box-shadow:0 0 24px rgba(62,165,255,.76),0 0 70px rgba(33,91,255,.5),inset 0 0 36px rgba(94,178,255,.48); } }
@keyframes gc-omar-ring { to { transform:rotate(360deg); } }
html[data-theme="dark"] .gc-ask--jarvis .gc-ask__form input { background:#11183b; color:#f3f5ff; }
@media (max-width:600px) { .gc-ask--jarvis .gc-ask__assistant { min-height:13.5rem; } .gc-ask--jarvis .gc-ask__orb { width:7.5rem; height:7.5rem; } .gc-ask--jarvis .gc-ask__log { max-height:46vh; padding:.4rem .8rem 1rem; } .gc-ask--jarvis .gc-ask__form { gap:.35rem; padding:.65rem; } .gc-ask--jarvis .gc-ask__mic { width:2.55rem; height:2.55rem; } }
@media (prefers-reduced-motion:reduce) { .gc-ask--jarvis .gc-ask__orb,.gc-ask--jarvis .gc-ask__orb::before,.gc-ask--jarvis .gc-ask__orb::after { animation:none; } }
/* Omar: interface monochrome, only the animated orbit and question controls remain. */
.gc-ask--jarvis { max-width:48rem; }
.gc-ask--jarvis .gc-ask__chat { border:1px solid #333; border-radius:1.2rem; background:#101010; box-shadow:0 22px 60px rgba(0,0,0,.2); }
.gc-ask--jarvis .gc-ask__assistant { min-height:14rem; padding:1.5rem 1rem 1rem; }
.gc-ask--jarvis .gc-ask__orb { width:8.5rem; height:8.5rem; border-color:rgba(255,255,255,.55); background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.2),rgba(160,160,160,.08) 48%,transparent 72%); box-shadow:0 0 18px rgba(255,255,255,.2),0 0 50px rgba(220,220,220,.12),inset 0 0 28px rgba(255,255,255,.14); }
.gc-ask--jarvis .gc-ask__orb::before,.gc-ask--jarvis .gc-ask__orb::after { border-color:rgba(255,255,255,.36); }
.gc-ask--jarvis .gc-ask__orb::after { border-color:rgba(255,255,255,.18); }
.gc-ask--jarvis .gc-ask__orb span { background:radial-gradient(circle,rgba(255,255,255,.18),transparent 68%); }
.gc-ask--jarvis .gc-ask__log { padding:.5rem 1.2rem 1.2rem; background:#101010; }
.gc-ask--jarvis .gc-ask__msg.is-omar .gc-ask__bubble { color:#eee; border-color:#3b3b3b; background:#202020; box-shadow:none; }
.gc-ask--jarvis .gc-ask__msg.is-me .gc-ask__bubble { color:#111; border-color:#ddd; background:#e7e7e7; }
.gc-ask--jarvis .gc-ask__title,.gc-ask--jarvis .gc-ask__links a,.gc-ask--jarvis .gc-ask__chips > span { color:#eee; }
.gc-ask--jarvis .gc-ask__links { border-color:#444; }
.gc-ask--jarvis .gc-ask__chip,.gc-ask--jarvis .gc-ask__vote-btn { color:#eee; background:#292929; border-color:#555; }
.gc-ask--jarvis .gc-ask__bubble code { color:#eee; background:#333; }
.gc-ask--jarvis .gc-ask__form { border-color:#333; background:#101010; }
.gc-ask--jarvis .gc-ask__form input { color:#111; border-color:#bbb; background:#f4f4f4; }
.gc-ask--jarvis .gc-ask__form input::placeholder { color:#666; }
.gc-ask--jarvis .gc-ask__form input:focus { outline-color:#888; }
.gc-ask--jarvis .gc-ask__mic { color:#fff; border-color:#666; background:#303030; filter:grayscale(1); }
.gc-ask--jarvis .gc-ask__mic[aria-pressed="true"] { color:#fff; border-color:#aaa; background:#555; box-shadow:0 0 16px rgba(255,255,255,.2); }
.gc-ask--jarvis .gc-ask__form .gc-pill-cta { color:#111!important; border:1px solid #ccc; background:#eee!important; box-shadow:none; }
.gc-ask--jarvis .gc-ask__form .gc-pill-cta:hover { color:#000!important; background:#fff!important; }
html[data-theme="dark"] .gc-ask--jarvis .gc-ask__form input { color:#111; background:#f4f4f4; }
@keyframes gc-omar-orb { 0%,100% { transform:scale(.97); box-shadow:0 0 18px rgba(255,255,255,.18),0 0 46px rgba(220,220,220,.1),inset 0 0 26px rgba(255,255,255,.12); } 50% { transform:scale(1.035); box-shadow:0 0 26px rgba(255,255,255,.34),0 0 66px rgba(220,220,220,.18),inset 0 0 38px rgba(255,255,255,.2); } }
@media (max-width:600px) { .gc-ask--jarvis .gc-ask__assistant { min-height:12.5rem; } .gc-ask--jarvis .gc-ask__orb { width:7.5rem; height:7.5rem; } }
@media (max-width: 640px) {
  .gc-ask__head { padding:1rem; gap:.8rem; }
  .gc-ask__head .gc-omar { display:none; }
  .gc-ask__log { padding:.8rem; }
  .gc-ask__bubble { max-width:96%; }
}
/* Administration de la mémoire */
.gc-admo__head-acts, .gc-admo__acts { display:flex; gap:.4rem; flex-wrap:wrap; }
.gc-admo__filter { display:flex; gap:.5rem; flex-wrap:wrap; margin:0 0 .9rem; }
.gc-admo__filter input { flex:1; min-width:12rem; padding:.55rem .9rem; border-radius:99px; border:1px solid var(--gc-line); font:inherit; }
.gc-admo__filter select { padding:.55rem .8rem; border-radius:99px; border:1px solid var(--gc-line); font:inherit; }
.gc-crlist__items .gc-cr-item.is-off { opacity:.55; }
.gc-admo__reimport { margin-top:1rem; }
.gc-admo .gc-seg { margin:1rem 0; }
@media (max-width: 560px) { .gc-admo__miss, .gc-admo .gc-cr-item { flex-wrap:wrap; } .gc-admo__acts { width:100%; justify-content:flex-end; } }

/* Restore the previous blue assistant design and keep Omar centered in the orbit. */
.gc-ask--jarvis { max-width:58rem; }
.gc-ask--jarvis .gc-ask__head { border:1px solid rgba(130,150,255,.2); box-shadow:0 18px 50px rgba(3,8,53,.18); }
.gc-ask--jarvis .gc-ask__chat { border:1px solid rgba(10,15,200,.42); background:radial-gradient(ellipse at 50% 40%,rgba(10,15,200,.28),transparent 58%),linear-gradient(130deg,#020338 0%,#0A0FC8 100%); box-shadow:0 28px 70px rgba(2,3,56,.32); }
.gc-ask--jarvis .gc-ask__assistant { min-height:16rem; padding:1.2rem 1rem .5rem; color:#eef1ff; }
.gc-ask--jarvis .gc-ask__orb { width:9rem; height:9rem; border-color:rgba(10,15,200,.72); background:radial-gradient(circle at 50% 42%,rgba(10,15,200,.48),rgba(2,3,56,.22) 55%,rgba(2,3,56,.08) 72%); box-shadow:0 0 18px rgba(10,15,200,.58),0 0 55px rgba(10,15,200,.38),inset 0 0 28px rgba(10,15,200,.34); }
.gc-ask--jarvis .gc-ask__orb::before,.gc-ask--jarvis .gc-ask__orb::after { border-color:rgba(10,15,200,.55); }
.gc-ask--jarvis .gc-ask__orb::after { border-color:rgba(10,15,200,.28); }
.gc-ask--jarvis .gc-ask__orb span { background:radial-gradient(circle,rgba(10,15,200,.28),transparent 68%); }
.gc-ask--jarvis .gc-ask__orb-mascot { position:absolute; z-index:1; top:50%; left:50%; max-width:none; transform:translate(-50%,-50%); filter:drop-shadow(0 0 12px rgba(10,15,200,.85)); }
.gc-ask--jarvis .gc-ask__assistant-copy { display:grid; justify-items:center; gap:.3rem; color:#b9c7ff; font-size:.8rem; letter-spacing:.07em; }
.gc-ask--jarvis .gc-ask__assistant-copy strong { display:flex; align-items:center; gap:.45rem; color:#fff; letter-spacing:.22em; font-size:.9rem; }
.gc-ask--jarvis .gc-ask__assistant-copy i { width:.45rem; height:.45rem; border-radius:50%; background:#57f0c0; box-shadow:0 0 10px #57f0c0; }
.gc-ask--jarvis .gc-ask__chat.is-speaking .gc-ask__orb { animation-duration:1.15s; }
.gc-ask--jarvis .gc-ask__chat.is-speaking .gc-ask__assistant-copy i { background:#79baff; box-shadow:0 0 14px #79baff; }
.gc-ask--jarvis .gc-ask__voice-toggle { position:absolute; right:1rem; top:1rem; width:2.7rem; height:2.7rem; border:1px solid rgba(155,177,255,.3); border-radius:50%; color:#e8edff; background:rgba(50,69,144,.35); cursor:pointer; }
.gc-ask--jarvis .gc-ask__log { padding:.6rem 1.2rem 1.2rem; background:transparent; }
.gc-ask--jarvis .gc-ask__msg.is-omar .gc-ask__bubble { color:#e9edff; border-color:rgba(10,15,200,.35); background:rgba(2,3,56,.55); box-shadow:0 8px 22px rgba(0,0,0,.12); }
.gc-ask--jarvis .gc-ask__msg.is-me .gc-ask__bubble { border-color:rgba(112,186,255,.38); background:linear-gradient(130deg,#123c91,#2757c5); color:#fff; }
.gc-ask--jarvis .gc-ask__title { color:#9fc9ff; }
.gc-ask--jarvis .gc-ask__form { border-color:rgba(10,15,200,.55); background:linear-gradient(130deg,#020338 0%,#0A0FC8 100%); }
.gc-ask--jarvis .gc-ask__form input { color:#fff; border-color:rgba(255,255,255,.28); background:rgba(2,3,56,.34); }
.gc-ask--jarvis .gc-ask__form input::placeholder { color:#C9CBFF; }
.gc-ask--jarvis .gc-ask__form input:focus { outline-color:rgba(10,15,200,.8); }
html[data-theme="dark"] .gc-ask--jarvis .gc-ask__form input { color:#fff; background:rgba(2,3,56,.34); }
.gc-ask--jarvis .gc-ask__mic { border-color:rgba(10,15,200,.55); background:#0A0FC8; color:#fff; filter:none; }
.gc-ask--jarvis .gc-ask__mic[aria-pressed="true"] { background:#b32959; box-shadow:0 0 18px rgba(234,55,111,.45); }
.gc-ask--jarvis .gc-ask__form .gc-pill-cta { color:#10143c!important; border:0; background:#fff!important; box-shadow:none; }
.gc-ask--jarvis .gc-ask__form .gc-pill-cta:hover { color:#0a0fc8!important; background:#e8eaff!important; }
@keyframes gc-omar-orb { 0%,100% { transform:scale(.97); box-shadow:0 0 18px rgba(10,15,200,.48),0 0 48px rgba(10,15,200,.32),inset 0 0 28px rgba(10,15,200,.3); } 50% { transform:scale(1.035); box-shadow:0 0 24px rgba(10,15,200,.76),0 0 70px rgba(10,15,200,.5),inset 0 0 36px rgba(10,15,200,.48); } }
@media (max-width:600px) { .gc-ask--jarvis .gc-ask__assistant { min-height:13.5rem; } .gc-ask--jarvis .gc-ask__orb { width:7.5rem; height:7.5rem; } }
