/* =========================================================
   NTGames V2.28.2 — UI SYSTEM LOCK
   ---------------------------------------------------------
   Ce fichier est la couche visuelle commune et stable.
   Les styles historiques/fonctionnels restent dans app-legacy.css.
   Toute nouvelle correction globale doit vivre ici afin d'éviter
   le retour des overrides contradictoires page par page.
   ========================================================= */

:root{
  --bg:#080a10;
  --panel:#11151d;
  --panel-strong:#151a24;
  --panel-soft:#0d1118;
  --line:#2b3342;
  --line-strong:#3b4558;
  --text:#f7f9fc;
  --muted:#a7b1c1;
  --accent:#8066ff;
  --accent2:#a17cff;
  --good:#38d996;
  --danger:#ff6f81;
  --warn:#f4c45a;
  --radius-sm:11px;
  --radius-md:14px;
  --radius-lg:18px;
  --radius-xl:24px;
  --r:var(--radius-lg);
  --content-max:1200px;
  --shadow-card:0 16px 42px rgba(0,0,0,.16);
  --shadow-raised:0 22px 58px rgba(0,0,0,.22);
  --focus-ring:0 0 0 4px rgba(128,102,255,.16);
}

/* Base ---------------------------------------------------- */
html{
  color-scheme:dark;
  background:var(--bg);
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  min-width:0;
  color:var(--text);
  background:
    radial-gradient(circle at 82% -8%,rgba(128,102,255,.09),transparent 34rem),
    linear-gradient(180deg,#0a0d13 0,var(--bg) 480px);
  font-size:17px;
  line-height:1.58;
  overflow-wrap:break-word;
}
a,button,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}
a,button,.button,.action-btn,.tabs a,.side-nav>a,.bottom-nav a{touch-action:manipulation}
img,video,canvas,svg{max-width:100%}
hr{border:0;border-top:1px solid var(--line)}
::selection{background:rgba(128,102,255,.34);color:#fff}

/* Focus clavier visible et uniforme. */
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{
  outline:0;
  box-shadow:var(--focus-ring);
}

/* Layout -------------------------------------------------- */
.main{
  padding:40px 42px 100px;
  background:transparent;
}
.content,.page-head{width:min(100%,var(--content-max));max-width:var(--content-max)}
.content{min-width:0}
.page-head{
  margin-bottom:26px;
  align-items:flex-end;
}
.page-head>div{min-width:0}
.page-head h1{
  margin:0;
  color:var(--text);
  font-size:clamp(30px,3vw,36px);
  line-height:1.06;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.page-head p{
  max-width:760px;
  margin:8px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.5;
}
.stack{gap:16px}
.feed-layout{gap:24px}

/* Navigation ---------------------------------------------- */
.sidebar{
  border-right-color:rgba(93,106,136,.24);
  background:linear-gradient(180deg,rgba(13,16,24,.99),rgba(9,12,18,.99));
}
.side-nav>a{
  border:1px solid transparent;
  font-size:16px;
}
.side-nav>a:hover{transform:none}
.side-nav>a.is-active{
  border-color:rgba(128,102,255,.18);
  background:linear-gradient(90deg,rgba(128,102,255,.18),rgba(128,102,255,.05));
}
.team-switch{border-color:rgba(128,102,255,.18)}
.mobile-top{
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.bottom-nav{
  border-top-color:rgba(93,106,136,.32);
  background:rgba(10,13,19,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.bottom-nav a{border-radius:12px}

/* Surfaces ------------------------------------------------ */
.card,
.person-card,
.team-card,
.recruitment-card,
.request-panel,
.admin-stat-card,
.admin-user-card,
.admin-team-card,
.admin-game-card,
.security-summary,
.security-log-row{
  border-color:rgba(91,104,132,.32);
  border-radius:var(--radius-lg);
  background:linear-gradient(155deg,rgba(19,23,32,.985),rgba(13,17,24,.985));
  box-shadow:var(--shadow-card);
}
.card.flat{box-shadow:none}
.section-title{align-items:center;margin-bottom:15px}
.section-title h2,.section-title h3{
  color:var(--text);
  font-size:20px;
  line-height:1.25;
}
.muted{color:var(--muted)}
.empty{border-radius:var(--radius-md)}

/* Actions ------------------------------------------------- */
.button{
  min-height:48px;
  padding-inline:19px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:12px;
  background:linear-gradient(135deg,#765af5,var(--accent));
  box-shadow:0 8px 22px rgba(111,83,232,.18),inset 0 1px 0 rgba(255,255,255,.14);
  font-size:15.5px;
  line-height:1.15;
}
.button:hover{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  transform:translateY(-1px);
}
.button:active{transform:none}
.button.small{min-height:42px;padding-inline:15px;font-size:14.5px}
.button.ghost{
  border-color:var(--line);
  background:rgba(255,255,255,.018);
  box-shadow:none;
}
.button.ghost:hover{border-color:var(--line-strong);background:#181e29}
.button.soft{box-shadow:none}
.button.danger{box-shadow:none}

/* Formulaires --------------------------------------------- */
.input,textarea.input,select.input{
  min-height:50px;
  padding:12px 14px;
  border-color:var(--line);
  border-radius:12px;
  background:#0d1219;
  color:var(--text);
  font-size:16px;
  line-height:1.4;
}
textarea.input{min-height:118px}
.input:hover,textarea.input:hover,select.input:hover{border-color:var(--line-strong)}
.input:focus,textarea.input:focus,select.input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}
.input::placeholder,textarea.input::placeholder{color:#7e899a;opacity:1}
.field{gap:8px}
.field label{color:#d1d7e1;font-size:14.5px;line-height:1.35}
.form-row{gap:14px}

/* Tabs / badges ------------------------------------------- */
.tabs{
  gap:5px;
  padding:5px;
  border-color:var(--line);
  border-radius:14px;
  background:#0d1219;
  scrollbar-width:none;
}
.tabs::-webkit-scrollbar{display:none}
.tabs a{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  border-radius:10px;
  white-space:nowrap;
}
.tabs a.active{background:linear-gradient(135deg,#2d2750,#25203f)}
.chip{border-color:#353e50;background:#151a24}

/* Social / contenu ---------------------------------------- */
.composer,.post,.right-card{
  border-color:rgba(91,104,132,.3);
  background:linear-gradient(155deg,rgba(19,23,32,.98),rgba(13,17,24,.98));
}
.post-body{font-size:17px;line-height:1.62}
.action-btn{min-height:40px}
.comment-bubble{border:1px solid rgba(91,104,132,.2)}

/* Tableaux : ne jamais casser la page sur mobile. */
.ranking-board,.admin-table-wrap,.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse}

/* Public / landing ---------------------------------------- */
.public-header{
  width:min(100%,1180px);
  min-height:76px;
  height:auto;
  gap:18px;
}
.public-header nav{min-width:0;flex-wrap:wrap;justify-content:flex-end}
.hero{width:min(100%,1180px)}
.hero p{line-height:1.55}
.public-footer{border-top-color:var(--line)}

/* Auth ---------------------------------------------------- */
.auth-main{min-width:0}
.auth-box{width:min(460px,100%)}
.auth-box h2{text-wrap:balance}
.auth-aside{min-width:0}

/* Messages ------------------------------------------------ */
.message-layout{min-width:0;overflow:hidden}
.conversation-list,.conversation-pane,.message-stream{min-width:0}
.bubble{overflow-wrap:anywhere}
.message-compose{gap:10px}

/* Réduction des effets sur appareils tactiles : moins de sauts visuels. */
@media(hover:none),(pointer:coarse){
  .button:hover,.post:hover,.person-card:hover,.team-card:hover,.recruitment-card:hover,.notice:hover{transform:none}
  .side-nav>a:hover{transform:none}
}

/* Tablet -------------------------------------------------- */
@media(max-width:1050px){
  .main{padding-inline:28px}
  .feed-layout{grid-template-columns:minmax(0,1fr) 300px}
  .public-header{padding-inline:20px}
}

/* Mobile -------------------------------------------------- */
@media(max-width:760px){
  body{font-size:16px;line-height:1.56;overflow-x:hidden}
  .main{margin-left:0;padding:0 14px calc(92px + env(safe-area-inset-bottom))}
  .content,.page-head{width:100%;max-width:none}
  .page-head{margin:10px 0 17px;align-items:flex-start;gap:12px}
  .page-head h1{font-size:28px;line-height:1.08}
  .page-head p{font-size:15px}
  .page-head>.button,.page-head>form{flex:0 0 auto}
  .card{padding:16px;border-radius:15px}
  .section-title{align-items:flex-start}
  .section-title h2,.section-title h3{font-size:18px}
  .form-row{grid-template-columns:1fr}
  .button{min-height:48px}
  .button.small{min-height:42px}
  .tabs{width:100%;justify-content:flex-start;overflow-x:auto}
  .tabs a{flex:0 0 auto;min-height:42px}
  .feed-layout{grid-template-columns:1fr}
  .right-rail{position:static}
  .post-body{font-size:16px}
  .public-header{min-height:68px;padding:10px 14px}
  .public-header .brand{flex:0 0 auto}
  .public-header nav{gap:8px}
  .public-header nav>a:not(.button){font-size:14px}
  .public-header .button.small{min-height:40px;padding-inline:12px}
  .hero{padding-inline:16px}
  .auth-main{padding:22px 14px 34px}
  .message-compose{padding-bottom:max(10px,env(safe-area-inset-bottom))}
}

@media(max-width:480px){
  .page-head{display:grid}
  .page-head>.button,.page-head>form,.page-head>form .button{width:100%}
  .public-header{align-items:center}
  .public-header .brand span:last-child{display:none}
  .public-header nav{margin-left:auto}
  .public-header nav>.public-guides-link{display:none}
  .hero h1{font-size:clamp(39px,13vw,56px)}
  .button.full-mobile{width:100%}
}

/* Très grands écrans -------------------------------------- */
@media(min-width:1600px){
  :root{--content-max:1320px}
  .main{padding:48px 56px 110px}
  .page-head h1{font-size:39px}
}

/* Accessibilité / confort -------------------------------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* =========================================================
   NTGames V2.28.3 — MOBILE / TABLET LOCK
   Une seule couche finale pour les écrans tactiles.
   Elle neutralise les anciens overrides sans supprimer les
   styles fonctionnels conservés dans app-legacy.css.
   ========================================================= */

/* Robustesse commune : les enfants flex/grid peuvent réellement rétrécir. */
:where(
  .app-shell,.main,.content,.feed-layout,.grid,.stack,.card,
  .toolbar,.section-title,.card-footer,.card-actions,.profile-content,
  .profile-main,.profile-actions,.team-profile-head,.team-identity-copy,
  .team-main-actions,.team-home-grid,.team-section-card,.team-settings,
  .message-layout,.conversation-list,.conversation-view,.conversation-summary,
  .admin-content,.admin-filter-bar,.admin-user-card,.admin-team-card,
  .request-grid,.request-panel,.request-item,.request-main,.request-actions,
  .match-page-bar,.match-page-stats,.friendly-card,.competition-match-card
){min-width:0;max-width:100%}

:where(input,textarea,select,button){max-width:100%}
input[type="file"]{width:100%;min-width:0;overflow:hidden}
pre{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
code{overflow-wrap:anywhere}

/* Les navigations horizontales ont le même comportement partout. */
:where(.tabs,.team-suite-nav,.admin-tabs,.admin-subtabs,.admin-report-status-tabs,.ranking-tabs,.competition-tabs){
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
:where(.tabs,.team-suite-nav,.admin-tabs,.admin-subtabs,.admin-report-status-tabs,.ranking-tabs,.competition-tabs)::-webkit-scrollbar{display:none}

@media(max-width:1050px){
  .main{padding-inline:24px}
  .feed-layout{grid-template-columns:minmax(0,1fr)}
  .right-rail{position:static}
  .admin-two-columns{grid-template-columns:1fr}
}

@media(max-width:760px){
  :root{
    --ntg-mobile-gutter:14px;
    --ntg-mobile-nav:72px;
  }

  html{
    width:100%;
    max-width:100%;
    overflow-x:clip;
    scroll-padding-top:84px;
    scroll-padding-bottom:calc(var(--ntg-mobile-nav) + 26px + env(safe-area-inset-bottom));
  }
  body{
    width:100%;
    max-width:100%;
    overflow-x:clip;
    font-size:16px;
    line-height:1.56;
  }

  /* Structure application + safe areas. */
  .sidebar{display:none!important}
  .main{
    width:100%;
    margin-left:0;
    padding-top:0;
    padding-left:max(var(--ntg-mobile-gutter),env(safe-area-inset-left));
    padding-right:max(var(--ntg-mobile-gutter),env(safe-area-inset-right));
    padding-bottom:calc(var(--ntg-mobile-nav) + 22px + env(safe-area-inset-bottom));
  }
  .content,.page-head{width:100%;max-width:none;margin-left:0;margin-right:0}

  /* En-tête mobile réellement persistant. */
  .mobile-top{
    position:sticky;
    z-index:45;
    top:0;
    display:flex;
    min-height:calc(62px + env(safe-area-inset-top));
    height:auto;
    margin:0 calc(-1 * var(--ntg-mobile-gutter));
    padding:env(safe-area-inset-top) var(--ntg-mobile-gutter) 0;
    border-bottom:1px solid rgba(86,99,126,.22);
    background:linear-gradient(180deg,rgba(8,10,16,.985),rgba(8,10,16,.92));
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .mobile-top .brand{min-width:0;font-size:17px}
  .mobile-top .brand-mark{width:34px;height:34px;flex:0 0 34px}
  .mobile-top-actions{flex:0 0 auto;gap:2px}
  .mobile-top .icon-link{width:44px;height:44px;border-radius:12px}

  /* Navigation basse : 5 vraies cibles tactiles, sans chevauchement. */
  .bottom-nav{
    z-index:60;
    grid-template-columns:repeat(5,minmax(0,1fr));
    min-height:var(--ntg-mobile-nav);
    padding-top:6px;
    padding-right:max(5px,env(safe-area-inset-right));
    padding-bottom:max(6px,env(safe-area-inset-bottom));
    padding-left:max(5px,env(safe-area-inset-left));
    border-top:1px solid rgba(93,106,136,.34);
    box-shadow:0 -12px 34px rgba(0,0,0,.22);
  }
  .bottom-nav a{
    min-width:0;
    min-height:56px;
    gap:3px;
    padding:5px 2px;
    border-radius:12px;
    font-size:11.5px;
    line-height:1.05;
  }
  .bottom-nav a svg{width:23px;height:23px}
  .bottom-nav a.is-active{background:rgba(128,102,255,.11);color:#fff}
  .bottom-nav>a>span:first-of-type{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bottom-nav-badge{top:1px;left:calc(50% + 8px);min-width:20px;height:19px;padding:0 4px;font-size:11px}
  html.mobile-input-active .bottom-nav{transform:translateY(calc(115% + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}
  html.mobile-input-active .main{padding-bottom:18px}

  /* Titres et actions : rien ne sort du viewport. */
  .page-head{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:11px;
    margin:13px 0 17px;
  }
  .page-head h1{font-size:clamp(25px,7.3vw,29px);line-height:1.07;overflow-wrap:anywhere}
  .page-head p{max-width:none;font-size:15px;line-height:1.48}
  .page-head>.button,.page-head>form,.page-head>form .button{width:100%}
  .section-title{align-items:flex-start;flex-wrap:wrap;gap:9px}
  .section-title>div{min-width:0}

  /* Cartes / formulaires / actions. */
  .card,.person-card,.team-card,.recruitment-card,.request-panel{padding:15px;border-radius:15px}
  .form-row,.form-grid.two,.split-action{grid-template-columns:minmax(0,1fr)!important}
  .field,.form-stack{min-width:0}
  .input,textarea.input,select.input{width:100%;min-width:0;min-height:50px;font-size:16px}
  textarea.input{min-height:118px}
  .button,.button.small,.action-btn,.text-button{min-height:44px}
  .toolbar{align-items:stretch;flex-direction:column;gap:9px}
  .toolbar>*{width:100%;min-width:0}
  .search-box{width:100%;min-width:0}
  .card-actions,.request-actions,.profile-actions,.member-admin-actions,.team-main-actions,.admin-card-actions,.admin-team-actions,.feedback-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
  }
  :where(.card-actions,.request-actions,.profile-actions,.member-admin-actions,.team-main-actions,.admin-card-actions,.admin-team-actions,.feedback-actions)>*{min-width:0}
  :where(.card-actions,.request-actions,.profile-actions,.member-admin-actions,.team-main-actions,.admin-card-actions,.admin-team-actions,.feedback-actions) form,
  :where(.card-actions,.request-actions,.profile-actions,.member-admin-actions,.team-main-actions,.admin-card-actions,.admin-team-actions,.feedback-actions) .button{width:100%}
  .chip,.discovery-signal,.action-state{white-space:normal;overflow-wrap:anywhere}

  /* Onglets : ils glissent au lieu de se compresser. */
  :where(.tabs,.team-suite-nav,.admin-tabs,.admin-subtabs,.admin-report-status-tabs,.ranking-tabs,.competition-tabs){
    width:100%;
    max-width:100%;
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
  }
  :where(.tabs,.team-suite-nav,.admin-tabs,.admin-subtabs,.admin-report-status-tabs,.ranking-tabs,.competition-tabs)>a{
    flex:0 0 auto!important;
    min-height:44px;
    scroll-snap-align:center;
    white-space:nowrap;
  }

  /* Découverte / recrutement. */
  .discover-topline{align-items:stretch;flex-direction:column;gap:9px}
  .discover-toolbar,.recruitment-toolbar{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:9px;padding:11px}
  .discover-toolbar>*,.recruitment-toolbar>*{width:100%;min-width:0}
  .grid,.request-grid{grid-template-columns:minmax(0,1fr)}
  .person-head,.team-head{align-items:flex-start}
  .card-footer{align-items:stretch;flex-direction:column}
  .recruitment-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
  .recruitment-actions>*{width:100%;min-width:0}

  /* Profil. */
  .profile-content{align-items:flex-start;gap:12px;flex-wrap:wrap}
  .profile-main{min-width:calc(100% - 98px)}
  .profile-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:9px;width:100%}
  .stat{text-align:center;min-width:0}
  .profile-grid,.player-profile-layout,.profile-edit-layout{grid-template-columns:minmax(0,1fr)!important;gap:14px}
  .gaming-facts{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* Équipe : identité, chiffres et navigation restent lisibles à 360 px. */
  .team-shared-banner,.team-overview-v224 .team-identity-hero{padding:15px;margin-bottom:12px}
  .team-shared-banner .team-profile-head,.team-overview-v224 .team-identity-hero .team-profile-head{
    display:grid;
    grid-template-columns:60px minmax(0,1fr);
    gap:12px;
    align-items:start;
  }
  .team-shared-banner .team-logo,.team-overview-v224 .team-identity-hero .team-logo{width:60px;height:60px;border-radius:15px}
  .team-shared-banner .team-identity-copy h2,.team-overview-v224 .team-identity-copy h1{font-size:22px;line-height:1.08}
  .team-shared-banner .team-facts,.team-overview-v224 .team-identity-hero .team-facts{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .team-shared-banner .team-facts>span,.team-overview-v224 .team-facts>span{min-width:0;margin-left:0!important}
  .team-shared-banner .team-facts>.open,.team-shared-banner .team-facts>.closed,
  .team-overview-v224 .team-facts>.open,.team-overview-v224 .team-facts>.closed{grid-column:1/-1;justify-content:center}
  .team-home-grid{grid-template-columns:minmax(0,1fr)}
  .status-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .status-pill{min-width:0;padding-inline:5px;white-space:normal;text-align:center}
  .roster-card,.team-application{min-width:0}
  .team-settings .form-row{grid-template-columns:minmax(0,1fr)!important}

  /* Messages : hauteur au viewport et clavier sans recouvrir la saisie. */
  .message-page{width:100%;margin:0;padding:0}
  .message-layout{
    width:100%;
    height:calc(100dvh - 168px - env(safe-area-inset-bottom));
    min-height:430px;
    max-height:none;
    grid-template-columns:minmax(0,1fr)!important;
    border-radius:14px;
  }
  .conversation-list{border-right:0}
  .conversation-head{min-height:58px;padding:7px 10px}
  .conversation-head>div{min-width:0}
  .message-stream{min-height:0;padding:12px 10px 16px}
  .bubble{max-width:90%;font-size:16px;line-height:1.5;padding:10px 12px}
  .message-compose{gap:7px;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
  .message-compose .input{min-width:0}
  .message-compose .button{min-width:84px;padding-inline:10px}
  html.mobile-input-active .message-layout{height:calc(var(--ntg-visual-height,100dvh) - 72px);min-height:280px}

  /* Matchs / amicaux / compétitions. */
  .match-page-bar{align-items:stretch;flex-direction:column;gap:9px}
  .match-page-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}
  .match-page-stats span{min-width:0;text-align:center}
  .friendly-card-head{align-items:flex-start;flex-wrap:wrap;gap:9px}
  .friendly-versus-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px}
  .friendly-team-side,.friendly-team-side.right{text-align:left;justify-items:start}
  .result-form{min-width:0;gap:8px}
  .score-input{min-width:0;width:100%}
  .lineup-builder{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .lineup-builder-head,.lineup-row{min-width:430px}

  /* Classements / tableaux : scroll horizontal volontaire et stable. */
  .ranking-table-wrap,.admin-table-wrap,.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .ranking-table{min-width:700px}
  .ranking-points-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .ranking-points-grid .input{min-width:0;padding-inline:7px;text-align:center}

  /* Administration : commandes empilées et onglets glissants. */
  .admin-content{width:100%;padding-bottom:28px}
  .admin-stat-grid,.admin-health-grid,.admin-two-columns,.admin-user-grid,.admin-team-grid,.admin-game-grid,.security-summary-grid,.admin-legal-grid,.admin-legal-id-grid{grid-template-columns:minmax(0,1fr)!important}
  .admin-filter-bar,.admin-filter-bar.admin-content-filter{grid-template-columns:minmax(0,1fr)!important;gap:8px}
  .admin-filter-bar .button{width:100%}
  .admin-result-head{align-items:flex-start;flex-direction:column;gap:8px}
  .admin-user-actions{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* Public / auth / légal. */
  .public-header{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .public-footer{align-items:flex-start;flex-direction:column;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .public-footer nav{width:100%;flex-wrap:wrap;gap:12px 18px}
  .legal-page,.guide-page{max-width:100%;overflow-x:hidden}
  .legal-grid{grid-template-columns:minmax(0,1fr)}
  .legal-summary{position:static}
}

@media(max-width:430px){
  :root{--ntg-mobile-gutter:12px}
  .mobile-top{margin-inline:-12px;padding-left:12px;padding-right:12px}
  .mobile-top .brand span:last-child{display:none}
  .mobile-top-actions{margin-left:auto}
  .mobile-top .icon-link{width:42px;height:42px}
  .bottom-nav a{font-size:10.5px;padding-inline:1px}
  .bottom-nav a svg{width:22px;height:22px}
  .page-head h1{font-size:26px}
  .card,.person-card,.team-card,.recruitment-card,.request-panel{padding:14px}
  .card-actions,.request-actions,.profile-actions,.member-admin-actions,.team-main-actions,.admin-card-actions,.admin-team-actions,.feedback-actions{grid-template-columns:minmax(0,1fr)}
  .recruitment-actions{grid-template-columns:minmax(0,1fr)}
  .gaming-facts{grid-template-columns:minmax(0,1fr)}
  .status-pills{grid-template-columns:minmax(0,1fr)}
  .team-shared-banner .team-facts,.team-overview-v224 .team-identity-hero .team-facts{grid-template-columns:minmax(0,1fr)}
  .team-shared-banner .team-facts>.open,.team-shared-banner .team-facts>.closed,.team-overview-v224 .team-facts>.open,.team-overview-v224 .team-facts>.closed{grid-column:auto}
  .match-page-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .message-compose{grid-template-columns:minmax(0,1fr) auto}
  .message-compose .button{min-width:76px}
  .admin-user-actions{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:370px){
  .mobile-top .icon-link{width:39px;height:39px}
  .bottom-nav a{font-size:10px}
  .bottom-nav a svg{width:21px;height:21px}
  .page-head h1{font-size:24px}
  .team-shared-banner .team-profile-head,.team-overview-v224 .team-identity-hero .team-profile-head{grid-template-columns:52px minmax(0,1fr);gap:10px}
  .team-shared-banner .team-logo,.team-overview-v224 .team-identity-hero .team-logo{width:52px;height:52px}
}

/* ========================================================================== 
   NTGames V2.28.4 — HOME / DISCOVERY EXPERIENCE
   ========================================================================== */
.home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.home-shortcuts>a{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 13px;border:1px solid rgba(108,119,151,.24);border-radius:15px;background:linear-gradient(145deg,rgba(21,25,37,.9),rgba(13,16,25,.82));color:var(--text);text-decoration:none;transition:border-color .18s ease,transform .18s ease,background .18s ease}
.home-shortcuts>a:hover{transform:translateY(-1px);border-color:rgba(136,112,255,.55);background:linear-gradient(145deg,rgba(31,34,50,.96),rgba(16,19,30,.9))}
.home-shortcuts>a>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:rgba(128,102,255,.1);font-size:17px}
.home-shortcuts div{display:grid;gap:2px;min-width:0}.home-shortcuts strong{font-size:13px;line-height:1.15}.home-shortcuts small{overflow:hidden;color:var(--muted);font-size:11.5px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.home-discovery-spotlight{display:grid;gap:10px;padding:14px;border:1px solid rgba(128,102,255,.28);border-radius:17px;background:radial-gradient(circle at 0 0,rgba(128,102,255,.13),transparent 42%),rgba(13,16,25,.74)}
.home-discovery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.home-discovery-head>div{display:grid;gap:3px}.home-discovery-head span{color:#a998ff;font-size:10.5px;font-weight:800;letter-spacing:.12em}.home-discovery-head strong{font-size:14px}.home-discovery-head>a{flex:0 0 auto;color:#bcb1ff;font-size:12px;font-weight:700;text-decoration:none}
.home-discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-discovery-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:11px;border:1px solid rgba(105,116,146,.22);border-radius:14px;background:rgba(8,11,18,.6);color:var(--text);text-decoration:none}.home-discovery-card:hover{border-color:rgba(128,102,255,.52)}.home-discovery-card>div{display:grid;gap:2px;min-width:0}.home-discovery-card>div>span{color:var(--muted);font-size:9.5px;font-weight:800;letter-spacing:.1em}.home-discovery-card strong,.home-discovery-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-discovery-card strong{font-size:13.5px}.home-discovery-card small{color:var(--muted);font-size:11.5px}.home-discovery-card>b{color:#a998ff;font-size:11.5px}
.discover-presets{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 4px;scrollbar-width:none}.discover-presets::-webkit-scrollbar{display:none}.discover-preset{flex:0 0 auto;min-height:38px;padding:9px 12px;border:1px solid rgba(100,111,142,.25);border-radius:999px;background:rgba(15,18,28,.72);color:var(--muted);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}.discover-preset:hover,.discover-preset.active{border-color:rgba(128,102,255,.58);background:rgba(128,102,255,.12);color:#fff}
.discover-resultbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:38px;padding:0 2px}.discover-resultbar>div:first-child{display:flex;align-items:baseline;gap:7px}.discover-resultbar strong{font-size:13px}.discover-resultbar>div:first-child span{color:var(--muted);font-size:11.5px}.discover-active-filters{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.discover-active-filters span,.discover-active-filters a{padding:5px 8px;border:1px solid rgba(104,115,145,.23);border-radius:999px;background:rgba(15,18,27,.7);color:var(--muted);font-size:10.5px;text-decoration:none}.discover-active-filters a{border-color:rgba(128,102,255,.35);color:#b9adff;font-weight:700}
.discover-empty{display:grid;justify-items:center;gap:8px;text-align:center;padding:34px 20px}.discover-empty>span{max-width:520px;color:var(--muted)}.empty-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:4px}
@media(max-width:760px){.home-shortcuts{display:flex;overflow-x:auto;gap:8px;padding-bottom:3px;scroll-snap-type:x proximity}.home-shortcuts>a{flex:0 0 min(78vw,280px);scroll-snap-align:start}.home-shortcuts small{white-space:normal}.home-discovery-head{align-items:flex-start;flex-direction:column;gap:7px}.home-discovery-grid{grid-template-columns:minmax(0,1fr)}.discover-presets{margin-inline:-2px}.discover-resultbar{align-items:flex-start;flex-direction:column;gap:8px}.discover-active-filters{justify-content:flex-start}.discover-resultbar>div:first-child{flex-wrap:wrap}}

/* ========================================================================== 
   NTGames V2.28.5 — PLAYER PROFILES / GAME HUBS / RECRUITMENT
   ========================================================================== */
.game-card-link{margin-left:auto;color:#b8adff;font-size:12px;font-weight:800;text-decoration:none}.game-card-link:hover{text-decoration:underline}.player-game-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}.player-game-foot a{flex:0 0 auto;color:#b7abff;font-size:11.5px;font-weight:800;text-decoration:none}.player-game-foot a:hover{text-decoration:underline}.looking-games-list{display:flex;gap:7px;flex-wrap:wrap}.looking-games-list .chip{text-decoration:none}.recruiter-callout-copy{display:grid;gap:7px;min-width:0}.recruiter-callout-copy .match-fit{margin:0;justify-self:start}.recruiter-need-summary{display:grid;gap:2px;margin-top:2px;padding:9px 11px;border:1px solid rgba(128,102,255,.22);border-radius:11px;background:rgba(128,102,255,.07)}.recruiter-need-summary span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.recruiter-need-summary strong{font-size:12.5px}.recruiter-form .input{min-width:0}
.game-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.game-context-card{display:grid;gap:12px;padding:16px;background:radial-gradient(circle at 100% 0,rgba(128,102,255,.1),transparent 42%),rgba(13,16,25,.86)}.game-context-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.game-context-head>div{min-width:0}.game-context-head h3{margin:2px 0 4px;font-size:18px}.game-context-head p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}.game-context-card .card-actions{margin-top:auto}.recruiter-context-card{border-color:rgba(128,102,255,.34)}
.game-section-title{margin-bottom:9px}.hub-filter-row{display:flex;gap:7px;overflow-x:auto;margin:-2px 0 11px;padding:2px 1px 4px;scrollbar-width:none}.hub-filter-row::-webkit-scrollbar{display:none}.hub-filter-row .chip{flex:0 0 auto;min-height:35px;display:inline-flex;align-items:center;padding:7px 11px;border-color:rgba(103,114,145,.28);background:rgba(14,17,26,.72);color:var(--muted);font-size:11.5px;font-weight:800;text-decoration:none}.hub-filter-row .chip.active,.hub-filter-row .chip:hover{border-color:rgba(128,102,255,.56);background:rgba(128,102,255,.12);color:#fff}.game-player-main{display:grid;gap:5px;min-width:0}.game-player-card .match-fit{margin:1px 0 2px}.game-player-signals{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.game-player-signals .muted{font-size:11px}.game-player-card .card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.game-player-card .card-actions form{margin:0}.team-card .match-fit{margin:8px 0 0}.recruitment-context{border-color:rgba(128,102,255,.3);background:radial-gradient(circle at 0 0,rgba(128,102,255,.08),transparent 45%),rgba(14,17,26,.82)}.recruitment-context p{display:flex;align-items:baseline;gap:3px;flex-wrap:wrap}.recruitment-context p small{color:var(--muted)}.big-choice.is-active{border-color:rgba(128,102,255,.62);background:rgba(128,102,255,.11)}.recruitment-create-card{scroll-margin-top:90px}.recruitment-game-link{text-decoration:none}.recruitment-game-link:hover{border-color:rgba(128,102,255,.5);color:#fff}
@media(max-width:1000px){.game-context-grid{grid-template-columns:minmax(0,1fr)}.recruiter-callout{align-items:stretch}.recruiter-form{grid-template-columns:minmax(0,1fr) auto}}
@media(max-width:760px){.game-card-link{width:100%;margin-left:0}.player-game-foot{align-items:flex-start;flex-direction:column}.game-context-grid{margin-top:10px}.game-context-head{align-items:flex-start;flex-direction:column}.game-context-card .card-actions{grid-template-columns:minmax(0,1fr)}.hub-filter-row{margin-inline:-1px}.game-player-card .card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.game-player-card .card-actions>*{min-width:0}.game-player-card .card-actions form .button,.game-player-card .card-actions>a.button{width:100%}.recruiter-form{grid-template-columns:minmax(0,1fr)}.recruiter-form .button{width:100%}.recruitment-context p{display:block}.recruitment-context p small{display:block;margin-top:4px}}
@media(max-width:430px){.game-player-card .card-actions{grid-template-columns:minmax(0,1fr)}.game-context-card{padding:14px}.hub-filter-row .chip{min-height:38px}}

/* ========================================================================== 
   NTGames V2.28.6 — TEAM SUITE / COMMAND CENTER
   ========================================================================== */
.team-suite-nav{align-items:center;gap:7px;padding-top:2px}
.team-suite-group{flex:0 0 auto;padding:0 3px;color:#6f7890;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.team-suite-group:not(:first-child){margin-left:7px;padding-left:14px;border-left:1px solid rgba(105,116,146,.24)}
.team-suite-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid transparent;border-radius:11px;color:var(--muted);font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.team-suite-link:hover{border-color:rgba(113,124,155,.3);background:rgba(19,23,34,.72);color:#fff}
.team-suite-link.is-active{border-color:rgba(128,102,255,.55);background:linear-gradient(145deg,rgba(128,102,255,.16),rgba(75,63,133,.08));color:#fff;box-shadow:inset 0 0 0 1px rgba(128,102,255,.08)}
.team-suite-chat.is-active{border-color:rgba(82,190,137,.42);background:rgba(48,154,105,.1)}
.team-shared-banner .team-game-chips .chip{display:inline-flex;align-items:center;text-decoration:none}
.team-shared-banner .team-game-chips .chip:hover{border-color:rgba(128,102,255,.52);color:#fff}
.team-command-center{display:grid;gap:10px}
.team-command-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:0 2px}
.team-command-head h2{margin:2px 0 0;font-size:19px}
.team-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.team-command-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:78px;padding:13px 14px;text-decoration:none;background:radial-gradient(circle at 100% 0,rgba(128,102,255,.09),transparent 45%),rgba(13,16,25,.82);transition:border-color .18s ease,transform .18s ease,background .18s ease}
.team-command-card:hover{transform:translateY(-1px);border-color:rgba(128,102,255,.5);background:radial-gradient(circle at 100% 0,rgba(128,102,255,.15),transparent 46%),rgba(15,18,29,.92)}
.team-command-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(128,102,255,.24);border-radius:12px;background:rgba(128,102,255,.08);font-size:18px}
.team-command-card>span:nth-child(2){display:grid;gap:3px;min-width:0}.team-command-card strong{color:var(--text);font-size:13px}.team-command-card small{overflow:hidden;color:var(--muted);font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.team-command-card>b{display:grid;place-items:center;min-width:29px;height:29px;padding:0 7px;border:1px solid rgba(128,102,255,.3);border-radius:999px;background:rgba(128,102,255,.1);color:#c5bbff;font-size:12px}
.team-event-shortcut-grid a{min-width:0;text-decoration:none}
.event-create-card{scroll-margin-top:88px}
@media(max-width:1100px){.team-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .team-suite-nav{gap:6px}.team-suite-group{font-size:9.5px}.team-suite-group:not(:first-child){margin-left:4px;padding-left:10px}
  .team-suite-link{min-height:44px;padding:9px 12px;font-size:12px}
  .team-command-head{align-items:flex-start;flex-direction:column;gap:3px}.team-command-head>.muted{font-size:11.5px}
  .team-command-grid{display:flex;overflow-x:auto;gap:8px;padding-bottom:3px;scroll-snap-type:x proximity;scrollbar-width:none}.team-command-grid::-webkit-scrollbar{display:none}.team-command-card{flex:0 0 min(82vw,310px);scroll-snap-align:start}
}
@media(max-width:430px){.team-command-card{flex-basis:min(88vw,300px)}.team-command-card small{white-space:normal}.team-suite-group{display:none}.team-suite-group:not(:first-child)+.team-suite-link{margin-left:5px;border-left-color:rgba(128,102,255,.28)}}

/* ========================================================================== 
   NTGames V2.28.7 — MESSAGES / NOTIFICATIONS / LIVE UX
   ========================================================================== */
[data-live-badge][hidden],.chat-jump[hidden],[data-conversation-row][hidden],[data-notification-item][hidden],
.conversation-filter-empty[hidden],.notification-filter-empty[hidden]{display:none!important}

.conversation-list-head>div:first-child{display:grid;gap:1px;min-width:0}
.conversation-list-head>div:first-child small{color:var(--muted);font-size:11px;font-weight:650}
.conversation-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:9px 10px;border-bottom:1px solid rgba(80,91,116,.25);background:rgba(10,13,20,.36)}
.conversation-search{display:flex;align-items:center;gap:7px;min-width:0;padding:0 10px;border:1px solid rgba(94,106,135,.28);border-radius:10px;background:#0e1219;color:var(--muted)}
.conversation-search>span{font-size:18px;line-height:1;transform:translateY(-1px)}
.conversation-search input{width:100%;min-width:0;height:38px;padding:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:12.5px}
.conversation-search input::placeholder{color:#6f788b}
.conversation-filter-button,.notification-filters button{min-height:38px;padding:8px 11px;border:1px solid rgba(96,107,137,.27);border-radius:10px;background:rgba(18,22,32,.86);color:var(--muted);font:inherit;font-size:11.5px;font-weight:800;cursor:pointer;white-space:nowrap}
.conversation-filter-button:hover,.conversation-filter-button.active,.notification-filters button:hover,.notification-filters button.active{border-color:rgba(128,102,255,.58);background:rgba(128,102,255,.12);color:#fff}
.conversation-filter-empty{margin:12px!important;padding:20px 14px!important;border:1px dashed rgba(100,111,141,.28);border-radius:12px}

.message-compose{align-items:end}
.message-input{display:block;min-height:44px;max-height:132px;line-height:1.42;resize:none;overflow-y:auto;padding-top:11px;padding-bottom:11px}
.conversation-view,.team-chat-card{position:relative}
.chat-jump{position:absolute;right:18px;bottom:82px;z-index:5;min-height:36px;padding:7px 11px;border:1px solid rgba(128,102,255,.56);border-radius:999px;background:rgba(30,25,52,.96);box-shadow:0 10px 28px rgba(0,0,0,.28);color:#fff;font:inherit;font-size:11.5px;font-weight:850;cursor:pointer}
.chat-jump:hover{background:rgba(47,38,82,.98)}
.team-chat-card .chat-jump{bottom:75px}

.notification-toolbar>div:first-child{display:grid;gap:2px}
.notification-toolbar>div:first-child small{color:var(--muted);font-size:11.5px}
.notification-filters{display:flex;gap:7px;overflow-x:auto;margin:-2px 0 12px;padding:2px 1px 4px;scrollbar-width:none;overscroll-behavior-x:contain}
.notification-filters::-webkit-scrollbar{display:none}
.notification-filters button{flex:0 0 auto;border-radius:999px}
.notification-filter-empty{padding:25px 18px!important;text-align:center}

/* Les badges sont désormais mis à jour par le pulse global sans rechargement. */
.nav-badge,.bottom-nav-badge,.header-badge{font-variant-numeric:tabular-nums}

@media(max-width:760px){
  .conversation-tools{grid-template-columns:minmax(0,1fr) auto;padding:8px}
  .conversation-filter-button{padding-inline:9px}
  .message-input{min-height:44px;font-size:16px}
  .chat-jump{right:11px;bottom:72px}
  .team-chat-card .chat-jump{right:11px;bottom:68px}
  .notification-filters{margin-inline:-2px}
}

@media(max-width:390px){
  .conversation-tools{grid-template-columns:minmax(0,1fr)}
  .conversation-filter-button{width:100%;min-height:36px}
}


/* V2.28.9 — compte, sécurité et actions sensibles */
.sidebar-account-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-logout-form,.inline-action-form{display:inline-flex;margin:0}.link-button{appearance:none;border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-button:hover{opacity:.86}.account-page{display:grid;gap:18px}.account-page .danger-zone{border-color:color-mix(in srgb,#ff6b7d 44%,var(--border));}.account-page .danger-zone h2{color:#ffd9de}.account-page .button.danger-button{background:#8f3341;border-color:#bb5262;color:#fff}.account-page .button.danger-button:hover{filter:brightness(1.08)}
@media(max-width:760px){.profile-actions .inline-action-form,.profile-actions .inline-action-form .button{width:100%}.sidebar-account-links{gap:10px}.account-page{gap:14px}}


/* V2.28.11 — hotfix profil : bannière en flux, stats jamais recouvertes. */
.player-profile .player-profile-hero{padding-top:0}
.player-profile .player-profile-hero .profile-cover{
  position:relative;
  inset:auto;
  z-index:0;
  width:auto;
  height:172px;
  margin:-22px -22px 0;
}
.player-profile .player-profile-hero .profile-content{
  position:relative;
  z-index:1;
  min-height:98px;
  margin-top:-102px;
  align-items:center;
}
.player-profile .player-profile-hero .bio,
.player-profile .player-profile-hero .profile-signal-row,
.player-profile .player-profile-hero .stat-row{position:relative;z-index:1}
.player-profile .player-profile-hero .stat-row{
  margin-top:14px;
  padding-top:16px;
}

@media(max-width:760px){
  .player-profile .player-profile-hero{padding-top:0}
  .player-profile .player-profile-hero .profile-cover{height:138px;margin:-13px -13px 0}
  .player-profile .player-profile-hero .profile-content{min-height:76px;margin-top:-64px;align-items:flex-start}
  .player-profile .player-profile-hero .stat-row{margin-top:10px;padding-top:13px}
}


/* V2.29.0 — Network gaming */
.network-mention,.network-hashtag{color:#bfa7ff;font-weight:800;text-decoration:none}.network-mention:hover,.network-hashtag:hover{text-decoration:underline}.network-composer-hint{font-size:.78rem;color:var(--muted);font-weight:750}.network-tag-filter{display:flex;align-items:center;justify-content:space-between;gap:14px}.network-tag-filter a{color:#bfa7ff;font-weight:800;text-decoration:none}.network-repost{border-color:rgba(139,92,246,.28)}.repost-context{font-size:.8rem;font-weight:850;color:#a99bd0;margin:0 0 10px 4px}.repost-card{margin:10px 0 2px;padding:16px;border:1px solid rgba(167,139,250,.25);border-radius:16px;background:rgba(10,12,20,.48)}.repost-author{display:flex;align-items:center;gap:10px;margin-bottom:12px}.repost-author>div{display:flex;flex-direction:column;gap:2px}.repost-author a{color:inherit;text-decoration:none}.repost-author span{font-size:.76rem;color:var(--muted)}.repost-card .post-image{margin-top:12px;border-radius:13px}.network-trends .section-title{margin-bottom:10px}.network-trend-tags{display:grid;gap:7px}.network-trend-tags a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:11px;text-decoration:none;background:rgba(255,255,255,.025);border:1px solid transparent}.network-trend-tags a:hover{border-color:rgba(139,92,246,.25);background:rgba(139,92,246,.07)}.network-trend-tags strong{color:#c9b8ff}.network-trend-tags span{font-size:.72rem;color:var(--muted)}.feed-tabs{overflow-x:auto;scrollbar-width:none}.feed-tabs::-webkit-scrollbar{display:none}.feed-tabs a{white-space:nowrap}.comment-text .network-mention,.comment-text .network-hashtag{font-weight:800}@media(max-width:760px){.network-tag-filter{align-items:flex-start;flex-direction:column}.repost-card{padding:12px;margin-inline:-2px}.network-composer-hint{display:none}}

/* V2.30.0 — Network avancé */
.network-game-filter{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 84%,transparent)}
.network-game-filter label{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted)}
.network-game-filter .select{min-width:180px;min-height:38px}
.network-filter-clear,.network-all-comments,.network-back{color:var(--primary);font-weight:800;text-decoration:none}
.post-game-select{width:auto;min-width:150px;max-width:220px;min-height:38px}
.post-game-chip{display:inline-flex;align-items:center;gap:6px;width:max-content;margin:2px 0 10px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--primary) 9%,transparent);color:var(--text);font-size:.78rem;font-weight:850;text-decoration:none}
.who-follow-card{display:grid;gap:8px}.who-follow-row{display:flex;align-items:center;gap:8px}.who-follow-row>.suggestion{flex:1;min-width:0}.who-follow-row form{flex:none}.who-follow-row .button{min-height:34px;padding-inline:10px}
.network-all-comments{display:inline-flex;margin:7px 0 11px;font-size:.8rem}
.network-post-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:20px;align-items:start}
.network-post-detail{padding:20px}.network-post-detail .post-body{font-size:1.03rem;line-height:1.65}.network-post-detail .post-image{max-height:720px;object-fit:contain;background:var(--surface-soft)}
.network-post-metrics{display:flex;gap:18px;flex-wrap:wrap;padding:13px 2px 6px;color:var(--muted);font-size:.82rem}.network-post-metrics strong{color:var(--text);font-size:.95rem}
.network-comments-detail{padding:18px}.network-comment-list{display:grid;gap:11px;margin:12px 0 18px}.network-detail-comment{align-items:flex-start}.network-detail-comment .comment-bubble{width:100%}.network-detail-comment .comment-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.network-detail-comment .comment-head span{color:var(--muted);font-size:.75rem}.network-detail-comment .comment-head a:last-child{margin-left:auto;font-size:.72rem}
.network-detail-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;border-top:1px solid var(--line);padding-top:14px}.network-detail-comment-form textarea{resize:vertical;min-height:78px}
.network-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0 16px}.network-pagination span{color:var(--muted);font-size:.8rem;font-weight:800}
.network-author-summary{display:flex;align-items:center;gap:10px;margin-bottom:12px}.network-author-summary>div{display:grid;min-width:0}.network-author-summary span{color:var(--muted);font-size:.78rem}.network-saved-note{display:grid;gap:4px;text-decoration:none;color:var(--text)}.network-saved-note span{color:var(--muted);font-size:.78rem}.network-share{cursor:pointer}
.feed-tabs a[href*="feed=saved"]{margin-left:auto}
@media(max-width:980px){.network-post-layout{grid-template-columns:1fr}.network-post-layout>.right-rail{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}
@media(max-width:760px){.network-game-filter{align-items:stretch}.network-game-filter label{width:100%;justify-content:space-between}.network-game-filter .select{flex:1;min-width:0}.post-game-select{width:100%;max-width:none}.feed-tabs a[href*="feed=saved"]{margin-left:0}.network-post-detail,.network-comments-detail{padding:14px}.network-post-layout>.right-rail{display:grid;grid-template-columns:1fr}.network-detail-comment-form{grid-template-columns:1fr}.network-detail-comment-form .button{width:100%}.network-post-metrics{justify-content:space-between;gap:8px}.who-follow-row{align-items:stretch}.who-follow-row .button{height:100%}}
.profile-post-open{display:flex;justify-content:flex-end;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}

/* V2.31.0 — Communautés & événements */
.community-directory,.community-page,.community-event-page{display:grid;gap:18px}.community-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:linear-gradient(135deg,rgba(128,102,255,.13),rgba(56,217,150,.04))}.community-hero h2,.community-profile-copy h2,.community-event-main h2{margin:.25rem 0 .55rem}.community-hero p,.community-profile-copy p,.community-event-main p{margin:0;color:var(--muted)}.community-hero-stat{flex:none;display:grid;place-items:center;min-width:130px;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(0,0,0,.14)}.community-hero-stat strong{font-size:2rem;line-height:1}.community-hero-stat span{margin-top:6px;color:var(--muted);font-size:.78rem;text-align:center}.community-tabs{display:flex;align-items:center;gap:8px}.community-tabs .button{margin-left:auto}.community-filters{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.7fr) auto;align-items:end;gap:12px;padding:16px}.community-filters label{display:grid;gap:6px}.community-filters label>span,.community-create-form .field>span,.community-event-form .field>span{color:var(--muted);font-size:.76rem;font-weight:850}.community-create-form{display:grid;gap:14px}.community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.community-card{display:grid;gap:14px;text-decoration:none;color:var(--text);transition:transform .18s ease,border-color .18s ease}.community-card:hover{transform:translateY(-2px);border-color:rgba(128,102,255,.42)}.community-card-top{display:flex;align-items:center;gap:12px}.community-card-top>div{min-width:0;flex:1}.community-card h3{margin:.1rem 0 0;font-size:1.05rem}.community-card p{margin:0;color:var(--muted);font-size:.88rem}.community-mark{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:15px;background:linear-gradient(135deg,var(--accent),#5748c9);color:#fff;font-weight:950;letter-spacing:.03em}.community-mark.large{width:78px;height:78px;border-radius:24px;font-size:1.35rem}.community-card-stats,.community-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.76rem}.community-card-stats strong{margin-left:auto;color:var(--good)}.community-event-list{display:grid;gap:10px}.community-event-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:16px;text-decoration:none;color:var(--text)}.community-event-row time{display:grid;place-items:center;padding:10px;border:1px solid var(--line);border-radius:14px}.community-event-row time strong{font-size:1.45rem;line-height:1}.community-event-row time span{color:var(--muted);font-size:.68rem}.community-event-row h3{margin:.1rem 0}.community-event-row p{margin:0;color:var(--muted);font-size:.8rem}.community-event-going{color:var(--muted);white-space:nowrap}.community-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:18px;padding:24px}.community-profile-actions{display:grid;justify-items:stretch;gap:8px;min-width:160px}.community-profile-actions form,.community-profile-actions .button{width:100%}.community-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:18px;align-items:start}.community-composer{display:grid;gap:12px}.community-post{display:grid;gap:12px}.community-post .post-head{align-items:center}.community-comment-count{color:var(--muted);font-size:.76rem;font-weight:800}.community-comments{display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--line)}.community-mini-event{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}.community-mini-event:last-of-type{border-bottom:0}.community-mini-event time,.community-mini-event span{color:var(--muted);font-size:.74rem}.community-member-row{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--line)}.community-member-row>a{display:grid;flex:1;min-width:0;text-decoration:none;color:var(--text)}.community-member-row>a span{color:var(--muted);font-size:.72rem}.community-member-row form{flex:none}.community-pending{display:grid;gap:4px;margin-bottom:10px;padding:10px;border:1px solid rgba(244,196,90,.25);border-radius:13px;background:rgba(244,196,90,.05)}.private-community-gate{text-align:center;padding:34px}.community-event-form{max-width:900px;margin-inline:auto}.community-event-hero{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:20px;align-items:start;padding:24px}.community-event-hero.is-cancelled{opacity:.72}.community-event-date{display:grid;place-items:center;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--panel-soft)}.community-event-date strong{font-size:2.3rem;line-height:1}.community-event-date span,.community-event-date b{font-size:.78rem;color:var(--muted)}.community-event-actions{display:grid;gap:8px;min-width:145px}.community-event-actions form,.community-event-actions .button{width:100%}.community-event-actions .is-selected{box-shadow:0 0 0 2px rgba(56,217,150,.28)}.community-event-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:18px}.community-attendee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.community-attendee{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:13px;text-decoration:none;color:var(--text)}.community-attendee span{display:grid;min-width:0}.community-attendee small{color:var(--muted)}.danger-text{color:var(--danger)}
@media(max-width:1050px){.community-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-layout,.community-event-detail-grid{grid-template-columns:1fr}.community-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.community-profile-hero,.community-event-hero{grid-template-columns:auto minmax(0,1fr)}.community-profile-actions,.community-event-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;min-width:0}.community-profile-actions form,.community-profile-actions .button,.community-event-actions form,.community-event-actions .button{width:auto}}
@media(max-width:760px){.community-hero{align-items:flex-start;flex-direction:column}.community-hero-stat{width:100%}.community-tabs{overflow-x:auto}.community-tabs .button{margin-left:0;white-space:nowrap}.community-filters{grid-template-columns:1fr}.community-grid{grid-template-columns:1fr}.community-event-row{grid-template-columns:58px minmax(0,1fr)}.community-event-going{grid-column:2}.community-profile-hero{grid-template-columns:1fr}.community-profile-hero .community-mark{width:62px;height:62px}.community-profile-actions{grid-column:auto;display:grid}.community-profile-actions form,.community-profile-actions .button{width:100%}.community-rail{grid-template-columns:1fr}.community-event-hero{grid-template-columns:1fr}.community-event-date{grid-template-columns:auto auto auto;justify-content:start;gap:8px;width:max-content}.community-event-date strong{font-size:1.6rem}.community-event-actions{grid-column:auto;display:grid}.community-event-actions form,.community-event-actions .button{width:100%}.community-attendee-grid{grid-template-columns:1fr}}
@media(min-width:1051px){.home-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1050px){.home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* =========================================================
   NTGames V2.32.1 — Jouer maintenant / trouver des joueurs
   ========================================================= */
.play-now-page{display:grid;gap:16px}
.play-invites-panel{display:grid;gap:14px;border-color:rgba(130,92,255,.34)}
.play-invite-list{display:grid;gap:10px}.play-invite-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}
.play-invite-row>div{display:grid;gap:4px}.play-invite-row span{color:var(--muted);font-size:.88rem}
.play-current-group,.play-group-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;position:relative}
.play-current-group:before,.play-group-hero:before{content:"";position:absolute;inset:auto -60px -80px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(100,72,255,.3),transparent 68%);pointer-events:none}
.play-current-group.is-launched,.play-group-hero.is-launched{border-color:rgba(90,220,150,.4);box-shadow:0 0 0 1px rgba(90,220,150,.08) inset}
.play-current-group h2,.play-group-hero h1{margin:.2rem 0 .35rem}.play-current-group p,.play-group-hero p{margin:0;color:var(--muted)}
.play-now-board{display:grid;gap:16px}.play-candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.play-candidate-card{display:grid;gap:12px;padding:15px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018))}
.play-candidate-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px}.play-candidate-head h3{margin:0 0 3px;font-size:1rem}.play-candidate-head p{margin:0;color:var(--muted);font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.play-fit-score{display:grid;place-items:center;min-width:48px;height:48px;border-radius:50%;font-size:.82rem;background:rgba(111,81,255,.14);border:1px solid rgba(143,121,255,.34)}
.play-fit-reasons{display:flex;flex-wrap:wrap;gap:6px}.play-fit-reasons span{padding:5px 8px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:.75rem;color:var(--muted)}
.play-candidate-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.play-candidate-foot form{margin-left:auto}
.play-group-create-card{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;align-items:end;gap:16px}.play-group-create-card h3{margin:.2rem 0}.play-group-create-card p{margin:0;color:var(--muted)}.play-group-create-card label{display:grid;gap:6px;color:var(--muted);font-size:.82rem}
.play-group-page{display:grid;gap:16px}.play-group-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.play-group-actions form{margin:0}
.play-member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.play-member-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;background:var(--surface-soft);border:1px solid var(--line)}.play-member-card>div{min-width:0;display:grid;gap:2px}.play-member-card span,.play-member-card small{color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.play-pending-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.play-pending-strip span{padding:5px 9px;border-radius:999px;background:var(--surface-soft);font-size:.78rem;color:var(--muted)}
.play-invite-action{display:flex;justify-content:flex-end}.play-group-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.play-group-footer>div:first-child{display:grid;gap:4px}.play-group-footer span{color:var(--muted)}
.side-nav a svg,.bottom-nav a svg{flex:0 0 auto}
@media(max-width:900px){.play-candidate-grid{grid-template-columns:1fr}.play-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.play-group-create-card{grid-template-columns:1fr 160px}.play-group-create-card>.button{grid-column:1/-1}}
@media(max-width:760px){.play-invite-row,.play-current-group,.play-group-hero,.play-group-footer{align-items:stretch;flex-direction:column}.play-invite-row .card-actions,.play-group-actions{width:100%}.play-invite-row .card-actions>*{flex:1}.play-current-group>.button,.play-group-actions .button,.play-group-actions form{width:100%}.play-group-actions form .button{width:100%}.play-member-grid{grid-template-columns:1fr}.play-group-create-card{grid-template-columns:1fr}.play-group-create-card>.button{grid-column:auto}.play-candidate-head{grid-template-columns:auto minmax(0,1fr)}.play-fit-score{grid-column:2;grid-row:2;width:max-content;height:auto;min-width:0;padding:4px 8px;border-radius:999px}.play-candidate-foot{align-items:stretch;flex-direction:column}.play-candidate-foot form,.play-candidate-foot .button{width:100%;margin:0}.play-now-explainer{grid-template-columns:1fr!important}}

/* V2.32.1 — NTGames ZERO / Jouer maintenant */
.play-zero-note{display:grid;gap:4px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft,#10151d)}
.play-zero-note strong{font-size:14px}.play-zero-note span{color:var(--muted);font-size:13.5px;line-height:1.45}


/* V2.32.4 — Mes communautés + publication Network */
.community-own-section{padding:18px;border:1px solid rgba(128,102,255,.22);border-radius:20px;background:linear-gradient(135deg,rgba(128,102,255,.08),rgba(56,217,150,.025))}.community-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.community-section-head h2{margin:.15rem 0 .3rem}.community-section-head p{margin:0;color:var(--muted);font-size:.88rem}.community-own-grid .community-card.is-owned{border-color:rgba(128,102,255,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.community-own-grid .community-card.is-owned .community-mark{box-shadow:0 0 0 3px rgba(128,102,255,.14)}.community-discover-head{margin-top:2px;padding-top:4px;border-top:1px solid var(--line)}.network-community-link{display:inline-flex;align-items:center;margin-top:8px;padding:7px 10px;border:1px solid rgba(128,102,255,.28);border-radius:10px;background:rgba(128,102,255,.08);color:var(--text);font-weight:850;text-decoration:none}.network-community-link:hover{border-color:rgba(128,102,255,.5);background:rgba(128,102,255,.14)}
@media(max-width:760px){.community-own-section{padding:14px}.community-section-head{align-items:flex-start;flex-direction:column}.community-section-head>.chip{align-self:flex-start}.community-discover-head{padding-top:14px}}

.network-community-create{white-space:nowrap;text-decoration:none}

/* ===== NTGames V2.33 — Communautés V2 ===== */
.community-mark.has-image{overflow:hidden;background:var(--panel-soft);border:1px solid var(--line)}
.community-mark.has-image img{width:100%;height:100%;object-fit:cover;display:block}
.community-invite-section{padding:18px;border:1px solid rgba(56,217,150,.22);border-radius:20px;background:linear-gradient(135deg,rgba(56,217,150,.07),rgba(128,102,255,.04))}
.community-invite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.community-invite-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px}
.community-invite-card>div:nth-child(2){display:grid;gap:3px;min-width:0}.community-invite-card span,.community-invite-card p{color:var(--muted);font-size:.78rem}.community-invite-card p{margin:4px 0 0}
.community-invite-actions{display:flex;gap:6px;flex-wrap:wrap}.community-invite-actions form{margin:0}
.community-filters.advanced{grid-template-columns:minmax(190px,1.35fr) minmax(150px,.75fr) minmax(150px,.8fr) minmax(145px,.65fr) minmax(150px,.7fr) auto auto}
.community-check{display:flex!important;align-items:center;gap:8px;min-height:42px;padding:0 6px}.community-check input{width:18px;height:18px;accent-color:var(--accent)}
.community-card-next{padding:8px 10px;border-radius:11px;background:rgba(128,102,255,.07);color:var(--text);font-size:.76rem;font-weight:800}
.community-profile-hero{position:relative;display:block!important;overflow:hidden;padding:0!important;background:var(--panel)}
.community-profile-cover{height:74px;background:linear-gradient(135deg,rgba(128,102,255,.58),rgba(34,49,92,.76));background-image:linear-gradient(180deg,rgba(8,10,16,.08),rgba(8,10,16,.52)),var(--community-banner,linear-gradient(135deg,rgba(128,102,255,.58),rgba(34,49,92,.76)));background-size:cover;background-position:center}
.community-profile-hero:not(.has-banner) .community-profile-cover{background-image:linear-gradient(135deg,rgba(128,102,255,.56),rgba(42,58,105,.72))}
.community-profile-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:18px;padding:0 24px 24px}
.community-profile-inner>.community-mark.large{margin-top:-34px;box-shadow:0 0 0 5px var(--panel),0 10px 30px rgba(0,0,0,.24)}
.community-profile-copy{padding-top:18px}.community-profile-actions{padding-top:18px}
.community-featured-event{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;text-decoration:none;color:var(--text);border-color:rgba(128,102,255,.28);background:linear-gradient(135deg,rgba(128,102,255,.08),rgba(56,217,150,.025))}
.community-featured-event:hover{border-color:rgba(128,102,255,.5)}.community-featured-event h3{margin:.12rem 0 .2rem}.community-featured-event p{margin:0;color:var(--muted);font-size:.8rem}
.community-featured-date{display:grid;place-items:center;min-width:72px;padding:9px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.13)}.community-featured-date strong{font-size:1.55rem;line-height:1}.community-featured-date span,.community-featured-date b{font-size:.68rem;color:var(--muted)}.community-featured-arrow{font-size:1.5rem;color:var(--accent)}
.community-anchor-nav{display:flex;gap:8px;overflow-x:auto;padding:2px 0}.community-anchor-nav a{flex:none;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--muted);font-size:.78rem;font-weight:850;text-decoration:none}.community-anchor-nav a:hover{color:var(--text);border-color:rgba(128,102,255,.42)}
.community-comment-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.community-comment-head form{margin:0}.community-comment-head .text-button{padding:0 3px;font-size:1rem}
.community-member-name{flex:1;min-width:0;font-weight:800}.community-member-row .danger-text{font-size:.72rem}
.community-manage-card h3{margin:.15rem 0 0}.community-manage-list{display:grid;gap:4px;padding-top:10px;border-top:1px solid var(--line)}.community-manage-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line)}.community-manage-row>span{display:grid;flex:1;min-width:0;font-size:.82rem;font-weight:800}.community-manage-row small{font-weight:500;color:var(--muted)}
.community-settings-page{max-width:980px;margin-inline:auto}.community-settings-preview{position:relative;overflow:hidden;padding:0}.community-settings-preview-cover{height:150px;background-image:linear-gradient(180deg,rgba(8,10,16,.08),rgba(8,10,16,.55)),var(--community-banner,linear-gradient(135deg,rgba(128,102,255,.55),rgba(42,58,105,.72)));background-size:cover;background-position:center}.community-settings-preview-body{display:flex;align-items:flex-end;gap:16px;padding:0 22px 22px}.community-settings-preview-body>.community-mark{margin-top:-34px;box-shadow:0 0 0 5px var(--panel)}.community-settings-preview-body h2{margin:.15rem 0}.community-settings-preview-body p{margin:0;color:var(--muted)}
.community-media-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.check-line{display:flex;align-items:center;gap:7px;margin-top:7px;color:var(--muted);font-size:.78rem}.check-line input{width:17px;height:17px;accent-color:var(--accent)}

@media(max-width:1180px){.community-filters.advanced{grid-template-columns:repeat(3,minmax(0,1fr))}.community-filters.advanced>button{align-self:end}.community-invite-grid{grid-template-columns:1fr}}
@media(max-width:760px){.community-filters.advanced{grid-template-columns:1fr}.community-invite-card{grid-template-columns:auto minmax(0,1fr)}.community-invite-actions{grid-column:1/-1}.community-profile-cover{height:92px}.community-profile-inner{grid-template-columns:1fr;padding:0 16px 18px}.community-profile-inner>.community-mark.large{margin-top:-31px}.community-profile-copy,.community-profile-actions{padding-top:0}.community-profile-actions{display:grid}.community-profile-actions form,.community-profile-actions .button{width:100%}.community-featured-event{grid-template-columns:auto minmax(0,1fr)}.community-featured-arrow{display:none}.community-media-fields{grid-template-columns:1fr}.community-settings-preview-cover{height:120px}.community-settings-preview-body{align-items:flex-start;flex-direction:column;padding:0 16px 18px}.community-settings-preview-body>.community-mark{margin-top:-30px}}

/* ===== NTGames V2.34 — Network V2 ===== */
.network-saved-search{display:flex;align-items:end;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 84%,transparent)}
.network-saved-search label{display:grid;gap:6px;flex:1;min-width:0}.network-saved-search label>span{color:var(--muted);font-size:.76rem;font-weight:850}.network-saved-search .input{min-width:0}
.network-entity-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:12px 0 2px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,transparent),rgba(255,255,255,.015));color:var(--text);text-decoration:none;transition:border-color .16s ease,transform .16s ease,background .16s ease}
.network-entity-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 48%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 12%,transparent),rgba(255,255,255,.025))}
.network-entity-card.community{border-color:rgba(56,217,150,.24);background:linear-gradient(135deg,rgba(56,217,150,.06),rgba(128,102,255,.035))}.network-entity-card.team{border-color:rgba(128,102,255,.28)}.network-entity-card.game{border-color:rgba(88,166,255,.23);background:linear-gradient(135deg,rgba(88,166,255,.055),rgba(128,102,255,.03))}
.network-entity-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--accent),#5748c9);color:#fff;font-size:.9rem;font-weight:950;overflow:hidden}.network-entity-mark.image{background:var(--panel-soft);border:1px solid var(--line)}.network-entity-mark.image img{width:100%;height:100%;object-fit:cover;display:block}
.network-entity-copy{display:grid;gap:2px;min-width:0}.network-entity-copy small{color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.055em}.network-entity-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.network-entity-copy>span{color:var(--muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.network-entity-card>b{color:var(--primary);font-size:.78rem;white-space:nowrap}
.network-photo-button{display:block;width:100%;margin:12px 0 0;padding:0;border:0;border-radius:15px;background:transparent;overflow:hidden;cursor:zoom-in;text-align:inherit}.network-photo-button .post-image{display:block;width:100%;max-height:560px;margin:0;object-fit:cover;transition:transform .18s ease,filter .18s ease}.network-photo-button:hover .post-image{transform:scale(1.008);filter:brightness(1.035)}.repost-card .network-photo-button{margin-top:12px}.repost-card .network-photo-button .post-image{margin:0}
.network-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:28px;background:rgba(3,5,9,.92);backdrop-filter:blur(8px)}.network-lightbox[hidden]{display:none}.network-lightbox img{max-width:min(94vw,1500px);max-height:90vh;object-fit:contain;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.55)}.network-lightbox-close{position:fixed;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(12,15,22,.86);color:#fff;font-size:1.4rem;cursor:pointer}.network-lightbox-open{overflow:hidden}
.who-follow-reason{display:block;margin-top:2px;color:#a99bd0!important;font-size:.68rem!important;font-weight:800;white-space:normal!important}.who-follow-card .suggestion-info span{white-space:normal}.who-follow-card .who-follow-row{padding:2px 0}.post-kind{white-space:nowrap}
.feed-tabs a[href*="feed=foryou"].active::after{content:"mix";margin-left:6px;padding:2px 5px;border-radius:999px;background:rgba(128,102,255,.14);color:#c8baff;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:760px){.network-saved-search{align-items:stretch;flex-direction:column}.network-saved-search .button,.network-saved-search .network-filter-clear{width:100%;text-align:center}.network-entity-card{grid-template-columns:auto minmax(0,1fr);padding:11px}.network-entity-card>b{grid-column:2}.network-entity-copy>span{white-space:normal}.network-photo-button .post-image{max-height:480px}.network-lightbox{padding:12px}.network-lightbox img{max-width:96vw;max-height:84vh;border-radius:12px}}
.network-author-glance{display:block!important;margin-top:1px;color:color-mix(in srgb,var(--muted) 84%,#c8baff)!important;font-size:.66rem!important;font-weight:750;white-space:normal}.repost-author .network-author-glance{margin-top:2px}

/* ===== NTGames V2.35 — Onboarding & rétention ===== */
.return-welcome-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;border:1px solid rgba(128,102,255,.28);border-radius:18px;background:linear-gradient(135deg,rgba(128,102,255,.11),rgba(56,217,150,.035));box-shadow:0 14px 36px rgba(0,0,0,.12)}
.return-welcome-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(128,102,255,.13);font-size:1.35rem}.return-welcome-copy{min-width:0}.return-welcome-copy>span,.starter-path-head span{display:block;color:#a99bff;font-size:.66rem;font-weight:950;letter-spacing:.07em}.return-welcome-copy strong{display:block;margin:.16rem 0;font-size:1rem}.return-welcome-copy p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.return-welcome-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.starter-path-card{display:grid;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.015))}.starter-path-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.starter-path-head strong{display:block;margin-top:3px;font-size:.96rem}.starter-path-head>b{display:grid;place-items:center;min-width:46px;height:34px;border-radius:999px;background:rgba(128,102,255,.11);color:#c8baff;font-size:.78rem}.starter-progress-track{height:7px;border-radius:999px;background:#171b25;border:1px solid rgba(93,103,130,.22);overflow:hidden}.starter-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7054f8,#39d996)}
.starter-path-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.starter-path-item{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);color:var(--text);text-decoration:none}.starter-path-item:hover{border-color:rgba(128,102,255,.4)}.starter-path-item.is-done{opacity:.65}.starter-path-icon{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:10px;background:rgba(128,102,255,.11);font-size:.9rem}.starter-path-item.is-done .starter-path-icon{background:rgba(56,217,150,.12);color:#85edbc}.starter-path-item>div{min-width:0;display:grid;gap:1px}.starter-path-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.starter-path-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.64rem}
.onboarding-launchpad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 24px}.onboarding-launch-card{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid #303748;border-radius:15px;background:#11161f;color:var(--text);text-decoration:none}.onboarding-launch-card:hover{border-color:#554a80;background:#151925}.onboarding-launch-card.play{border-color:rgba(56,217,150,.28);background:rgba(56,217,150,.055)}.onboarding-launch-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#211d38;font-size:1.1rem}.onboarding-launch-card.play>span{background:rgba(56,217,150,.12)}.onboarding-launch-card>div{display:grid;gap:2px;min-width:0}.onboarding-launch-card strong{font-size:.88rem}.onboarding-launch-card small{color:#929daf;font-size:.72rem;line-height:1.35}
.onboarding-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:22px 0 10px}.onboarding-section-head h2{margin:.14rem 0 0;font-size:1.18rem}.onboarding-section-head>a{color:#a99bff;font-size:.76rem;font-weight:850;text-decoration:none}.onboarding-community-grid{display:grid;gap:9px;margin-bottom:18px}.onboarding-community-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 13px;border:1px solid #2d3545;border-radius:15px;background:linear-gradient(155deg,#141923,#10141c)}.onboarding-community-card>div{display:grid;gap:2px;min-width:0}.onboarding-community-card>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-community-card>div span,.onboarding-community-card>div small{color:#8f9aab;font-size:.72rem}.onboarding-community-card form{margin:0}
.onboarding-starter-progress{display:grid;gap:10px;margin:20px 0;padding:14px;border:1px solid rgba(128,102,255,.22);border-radius:16px;background:rgba(128,102,255,.045)}.onboarding-starter-head{display:flex;align-items:end;justify-content:space-between;gap:14px}.onboarding-starter-head>div{display:grid;gap:2px}.onboarding-starter-head>div>strong{font-size:.86rem}.onboarding-starter-head>span{color:#c8baff;font-weight:900}.starter-mini-list{display:flex;gap:7px;flex-wrap:wrap}.starter-mini-list a{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.68rem;text-decoration:none}.starter-mini-list a.is-done{color:#85edbc;border-color:rgba(56,217,150,.2)}.starter-mini-list a strong{font-size:inherit}
@media(max-width:1100px){.starter-path-items{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.return-welcome-card{grid-template-columns:auto minmax(0,1fr)}.return-welcome-actions{grid-column:1/-1;justify-content:stretch}.return-welcome-actions .button{flex:1}.starter-path-items{grid-template-columns:1fr 1fr}.onboarding-launchpad{grid-template-columns:1fr}.onboarding-community-card{grid-template-columns:auto minmax(0,1fr)}.onboarding-community-card form{grid-column:1/-1}.onboarding-community-card form .button{width:100%}.onboarding-section-head{align-items:flex-start}.onboarding-starter-head{align-items:flex-start}}
@media(max-width:470px){.starter-path-items{grid-template-columns:1fr}.starter-path-head{align-items:flex-start}.return-welcome-card{grid-template-columns:1fr}.return-welcome-icon{width:42px;height:42px}.return-welcome-actions{display:grid;grid-template-columns:1fr}.return-welcome-actions .button{width:100%}}
.starter-funnel-card{display:grid;gap:14px}.starter-funnel-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.starter-funnel-grid article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.starter-funnel-grid article>span{font-size:1.05rem}.starter-funnel-grid article>div{display:grid;gap:1px;min-width:0}.starter-funnel-grid article strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.starter-funnel-grid article small{color:var(--muted);font-size:.66rem}.starter-funnel-grid article>b{color:#c8baff;font-size:.78rem}
@media(max-width:1100px){.starter-funnel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.starter-funnel-grid{grid-template-columns:1fr 1fr}}@media(max-width:470px){.starter-funnel-grid{grid-template-columns:1fr}}
