/* NetworkMemories — CSS principal */
:root{
  --p:#7c00ff;--b:#00b4ff;--d:#0c000e;--c:#16001a;--d2:#120015;
  --br:rgba(124,0,255,0.25);--br2:rgba(0,180,255,0.2);
  --t:#e8e4f0;--m:#9a88b0;--g:#00ff88;--a:#ffaa00;--r:#ff4444;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-size:17px;font-family:'Rajdhani',sans-serif;background:var(--d);color:var(--t);overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column;}
.site-bg{position:fixed;inset:0;background-image:linear-gradient(rgba(124,0,255,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(124,0,255,0.04) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;z-index:0;}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:100;background:rgba(12,0,14,0.97);border-bottom:1px solid var(--br);backdrop-filter:blur(16px);position:relative;}
nav::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#7c00ff,#00b4ff,#7c00ff);}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 32px;gap:16px;}
.nav-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;}
.nav-logo-img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(124,0,255,0.5));}
.logo-ph{width:40px;height:40px;border-radius:8px;background:rgba(124,0,255,0.15);border:1px solid var(--br);display:flex;align-items:center;justify-content:center;font-family:'Orbitron',sans-serif;font-size:15px;font-weight:700;color:var(--p);flex-shrink:0;}
.nav-text{line-height:1;}
.nav-url{font-family:'JetBrains Mono',monospace;font-size:15px;letter-spacing:0.16em;color:var(--b);text-transform:uppercase;opacity:0.8;margin-bottom:2px;}
.nav-name{font-family:'Orbitron',sans-serif;font-size:16px;font-weight:900;color:#fff;}
.nav-name span{color:var(--b);}
.nav-links{display:flex;gap:2px;}
.nav-a{font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:600;letter-spacing:0.04em;color:var(--m);padding:6px 11px;border-radius:6px;border:none;background:transparent;cursor:pointer;transition:all 0.2s;white-space:nowrap;text-decoration:none;display:inline-block;}
.nav-a:hover{color:var(--t);background:rgba(124,0,255,0.1);}
.nav-a.on{color:var(--b);}
.nav-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.btn-dc{font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:600;padding:6px 14px;border-radius:6px;border:1px solid rgba(88,101,242,0.4);background:rgba(88,101,242,0.1);color:#8892f8;cursor:pointer;transition:all 0.2s;text-decoration:none;display:flex;align-items:center;gap:6px;}
.btn-dc svg{width:13px;height:13px;fill:#8892f8;}
.btn-dc:hover{background:rgba(88,101,242,0.22);}
.btn-login{font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:600;padding:7px 16px;border-radius:7px;border:none;background:linear-gradient(135deg,#7c00ff,#5500cc);color:#fff;cursor:pointer;text-decoration:none;}
.nav-user-menu{display:flex;align-items:center;gap:6px;}
.nav-user-btn{display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--t);font-family:'JetBrains Mono',monospace;font-size:15px;}
.nav-av{width:30px;height:30px;border-radius:6px;background:linear-gradient(135deg,#7c00ff,#00b4ff);display:flex;align-items:center;justify-content:center;font-family:'Orbitron',sans-serif;font-size:15px;font-weight:700;color:#fff;}
.nav-av-img{width:30px;height:30px;border-radius:6px;object-fit:cover;}
.nav-admin-link{font-family:'JetBrains Mono',monospace;font-size:15px;padding:2px 7px;border-radius:3px;background:rgba(124,0,255,0.15);border:1px solid rgba(124,0,255,0.3);color:var(--p);text-decoration:none;}
.nav-logout{font-size:15px;color:var(--m);text-decoration:none;opacity:0.6;transition:opacity 0.2s;}
.nav-logout:hover{opacity:1;}

/* ── LAYOUT ── */
.page{position:relative;z-index:1;flex:1;}
.container{max-width:1200px;margin:0 auto;padding:0 32px;}

/* ── FOOTER ── */
footer{position:relative;z-index:1;border-top:1px solid var(--br);padding:24px 32px;margin-top:auto;}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.footer-sub{font-size:15px;color:var(--m);font-family:'JetBrains Mono',monospace;margin-top:3px;}
.footer-links{display:flex;gap:14px;}
.footer-links a{font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--m);text-decoration:none;}
.footer-links a:hover{color:var(--b);}
.footer-founders{font-size:15px;color:var(--m);}
.footer-founders strong{color:var(--t);}
.footer-by{margin-right:4px;}

/* ── COMPOSANTS RÉUTILISABLES ── */
.sec-hd{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.sec-tag{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:500;letter-spacing:0.2em;color:var(--p);text-transform:uppercase;padding:3px 8px;border:1px solid rgba(124,0,255,0.3);border-radius:4px;background:rgba(124,0,255,0.08);white-space:nowrap;}
.sec-title{font-family:'Orbitron',sans-serif;font-size:21px;font-weight:700;color:#fff;white-space:nowrap;}
.sec-line{flex:1;height:1px;background:linear-gradient(90deg,var(--br),transparent);}
.sec-more{font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--b);cursor:pointer;white-space:nowrap;text-decoration:none;}
.sec-more:hover{text-decoration:underline;}

.card{background:var(--c);border:1px solid var(--br);border-radius:10px;overflow:hidden;transition:border-color 0.2s,transform 0.2s;}
.card:hover{border-color:rgba(124,0,255,0.5);transform:translateY(-2px);}
.card-link{text-decoration:none;display:block;}

.badge{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:500;padding:2px 7px;border-radius:3px;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:4px;}
.badge-green{background:rgba(0,255,136,0.09);border:1px solid rgba(0,255,136,0.22);color:#00aa55;}
.badge-blue{background:rgba(0,180,255,0.08);border:1px solid rgba(0,180,255,0.22);color:#3377aa;}
.badge-purple{background:rgba(124,0,255,0.12);border:1px solid rgba(124,0,255,0.28);color:#9944dd;}
.badge-amber{background:rgba(255,170,0,0.09);border:1px solid rgba(255,170,0,0.22);color:#aa7700;}
.badge-gray{background:rgba(100,100,100,0.1);border:1px solid rgba(100,100,100,0.2);color:#888;}
.badge-ps2{background:#0d1a2d;color:#6699cc;border:1px solid rgba(102,153,204,0.28);}
.badge-ps3{background:#0d1520;color:#4488bb;border:1px solid rgba(68,136,187,0.28);}
.badge-pc{background:#1a1a0d;color:#aaaa44;border:1px solid rgba(170,170,68,0.28);}
.badge-pcsx2{background:#0d1a0d;color:#44aa66;border:1px solid rgba(68,170,102,0.28);}
.badge-rpcs3{background:#1a0d1a;color:#aa44aa;border:1px solid rgba(170,68,170,0.28);}

.btn{font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:600;letter-spacing:0.06em;padding:9px 20px;border-radius:7px;cursor:pointer;transition:all 0.2s;display:inline-block;text-decoration:none;}
.btn-primary{background:linear-gradient(135deg,#7c00ff,#5500cc);border:none;color:#fff;}
.btn-primary:hover{background:linear-gradient(135deg,#9020ff,#6610ee);transform:translateY(-1px);}
.btn-outline{background:transparent;border:1px solid var(--br);color:var(--t);}
.btn-outline:hover{border-color:var(--b);color:var(--b);}
.btn-sm{padding:5px 12px;font-size:15px;}
.btn-danger{background:rgba(255,68,68,0.12);border:1px solid rgba(255,68,68,0.28);color:#ff7070;}

.sd{width:5px;height:5px;border-radius:50%;background:var(--g);display:inline-block;animation:pu 2s infinite;}
@keyframes pu{0%,100%{opacity:1;}50%{opacity:0.25;}}

/* Grilles standard */
.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;}
.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:14px;}

/* Alerts */
.alert{padding:10px 13px;border-radius:7px;font-size:15px;margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;line-height:1.5;}
.alert-error{background:rgba(255,68,68,0.08);border:1px solid rgba(255,68,68,0.22);color:#ff7070;}
.alert-success{background:rgba(0,255,136,0.07);border:1px solid rgba(0,255,136,0.2);color:#00bb55;}
.alert-info{background:rgba(0,180,255,0.07);border:1px solid rgba(0,180,255,0.2);color:#4488bb;}
.alert-warn{background:rgba(255,170,0,0.07);border:1px solid rgba(255,170,0,0.2);color:#aa7700;}

/* Pagination */
.pagination{display:flex;gap:6px;justify-content:center;padding:24px 0;}
.page-btn{font-family:'JetBrains Mono',monospace;font-size:15px;padding:6px 12px;border-radius:5px;border:1px solid var(--br);background:transparent;color:var(--m);cursor:pointer;text-decoration:none;transition:all 0.15s;}
.page-btn:hover{border-color:var(--b);color:var(--b);}
.page-btn.on{background:rgba(124,0,255,0.2);border-color:var(--p);color:#fff;}

/* Markdown rendu */
.markdown h1,.markdown h2,.markdown h3{font-family:'Orbitron',sans-serif;color:#fff;margin:20px 0 10px;}
.markdown h1{font-size:20px;} .markdown h2{font-size:16px;} .markdown h3{font-size:15px;}
.markdown p{font-size:17px;color:var(--t);line-height:1.75;margin-bottom:12px;}
.markdown code{font-family:'JetBrains Mono',monospace;font-size:15px;background:rgba(0,0,0,0.4);border:1px solid rgba(124,0,255,0.2);padding:1px 5px;border-radius:3px;color:#c8f0d0;}
.markdown pre{background:#0e0012;border:1px solid rgba(124,0,255,0.2);border-radius:7px;padding:14px;overflow-x:auto;margin-bottom:14px;}
.markdown pre code{background:none;border:none;padding:0;font-size:15px;line-height:1.6;}
.markdown ul,.markdown ol{padding-left:20px;margin-bottom:12px;}
.markdown li{font-size:15px;color:var(--t);line-height:1.7;margin-bottom:3px;}
.markdown a{color:var(--b);}
.markdown strong{color:#fff;}
.markdown blockquote{border-left:3px solid var(--p);padding:8px 14px;background:rgba(124,0,255,0.06);border-radius:0 5px 5px 0;margin-bottom:12px;}
.markdown hr{border:none;border-top:1px solid var(--br);margin:20px 0;}
.markdown table{width:100%;border-collapse:collapse;margin-bottom:14px;font-size:15px;}
.markdown th{background:rgba(124,0,255,0.1);padding:8px 12px;text-align:left;font-family:'JetBrains Mono',monospace;font-size:15px;letter-spacing:0.1em;color:var(--m);border-bottom:1px solid var(--br);}
.markdown td{padding:8px 12px;border-bottom:1px solid rgba(124,0,255,0.06);color:var(--t);}

/* Breadcrumb */
.breadcrumb{padding:12px 0;border-bottom:1px solid rgba(124,0,255,0.08);margin-bottom:28px;display:flex;align-items:center;gap:7px;font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--m);}
.breadcrumb a{color:var(--b);text-decoration:none;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb .sep{opacity:0.4;}

/* Stats bar */
.stats-bar{border-top:1px solid var(--br);border-bottom:1px solid var(--br);background:rgba(22,0,26,0.6);padding:16px 0;}
.stats-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;justify-content:center;flex-wrap:wrap;}
.stat-item{text-align:center;padding:4px 24px;border-right:1px solid rgba(124,0,255,0.12);}
.stat-item:last-child{border-right:none;}
.stat-n{font-family:'Orbitron',sans-serif;font-size:20px;font-weight:700;color:#fff;line-height:1;}
.stat-n .ac{color:var(--p);}
.stat-l{font-size:15px;color:var(--m);letter-spacing:0.1em;text-transform:uppercase;margin-top:3px;font-family:'JetBrains Mono',monospace;}

/* Thumbnail news */
.news-thumb{height:110px;background:linear-gradient(135deg,#1a0020,#0a0030);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.news-thumb::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(124,0,255,0.07) 1px,transparent 1px),linear-gradient(90deg,rgba(124,0,255,0.07) 1px,transparent 1px);background-size:14px 14px;}
.news-thumb-icon{font-size:28px;position:relative;z-index:1;}
.news-thumb-label{position:absolute;bottom:7px;left:9px;font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--b);background:rgba(0,0,0,0.65);padding:2px 6px;border-radius:3px;}

/* Bot sync */
.bot-band{background:rgba(0,180,255,0.04);border:1px solid rgba(0,180,255,0.11);border-radius:7px;padding:9px 14px;display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:15px;color:var(--m);}
.bot-band strong{color:var(--b);}

/* Video thumb */
.vid-thumb{height:140px;background:linear-gradient(135deg,#1a0010,#080020);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.vid-thumb::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(124,0,255,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(124,0,255,0.05) 1px,transparent 1px);background-size:14px 14px;}
.vid-play{position:relative;z-index:1;width:44px;height:44px;background:rgba(200,0,0,0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform 0.2s;}
.card:hover .vid-play{transform:scale(1.1);}
.vid-play::after{content:'';border-style:solid;border-width:8px 0 8px 16px;border-color:transparent transparent transparent #fff;margin-left:3px;}
.vid-dur{position:absolute;bottom:8px;right:9px;font-family:'JetBrains Mono',monospace;font-size:15px;background:rgba(0,0,0,0.78);color:#fff;padding:2px 6px;border-radius:3px;}
.vid-type{position:absolute;top:8px;left:9px;font-family:'JetBrains Mono',monospace;font-size:15px;padding:2px 6px;border-radius:3px;}

/* Event card */
.ev-card{background:var(--c);border:1px solid var(--br);border-radius:10px;padding:14px 18px;display:flex;gap:16px;cursor:pointer;transition:border-color 0.2s;text-decoration:none;}
.ev-card:hover{border-color:rgba(124,0,255,0.42);}
.ev-card.lv{border-color:rgba(0,255,136,0.32);}
.ev-card.up{border-color:rgba(255,170,0,0.22);}
.ev-card.pa{opacity:0.6;}
.ev-date{flex-shrink:0;width:50px;text-align:center;border-radius:7px;padding:7px 4px;}
.ev-date.def{background:rgba(124,0,255,0.1);border:1px solid var(--br);}
.ev-date.ylw{background:rgba(255,170,0,0.07);border:1px solid rgba(255,170,0,0.17);}
.ev-date.gry{background:rgba(80,80,80,0.08);border:1px solid rgba(80,80,80,0.14);}
.ev-day{font-family:'Orbitron',sans-serif;font-size:20px;font-weight:900;color:#fff;line-height:1;}
.ev-mo{font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--m);letter-spacing:0.08em;text-transform:uppercase;margin-top:2px;}

/* Community band */
.comm-band{background:rgba(22,0,26,0.8);border-top:1px solid var(--br);border-bottom:1px solid var(--br);padding:28px 32px;}
.comm-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.comm-title{font-family:'Orbitron',sans-serif;font-size:16px;font-weight:700;color:#fff;margin-bottom:5px;}
.comm-sub{font-size:15px;color:var(--m);}
.dc-big{display:flex;align-items:center;gap:10px;padding:11px 22px;border-radius:8px;background:rgba(88,101,242,0.13);border:1px solid rgba(88,101,242,0.32);cursor:pointer;text-decoration:none;}
.dc-big:hover{background:rgba(88,101,242,0.22);}
.dc-icon{width:22px;height:22px;background:#5865F2;border-radius:5px;display:flex;align-items:center;justify-content:center;}
.dc-icon svg{width:13px;height:13px;fill:#fff;}
.dc-label{font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:600;color:#8892f8;}

/* Hero global */
.hero{position:relative;z-index:1;padding:64px 32px 48px;text-align:center;}
.hero-glow{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);width:800px;height:400px;background:radial-gradient(ellipse,rgba(124,0,255,0.1) 0%,transparent 68%);pointer-events:none;}
.hero-eyebrow{font-family:'JetBrains Mono',monospace;font-size:15px;letter-spacing:0.22em;color:var(--b);text-transform:uppercase;margin-bottom:14px;opacity:0.8;}
.hero-title{font-family:'Orbitron',sans-serif;font-size:clamp(24px,4vw,48px);font-weight:900;color:#fff;line-height:1.08;margin-bottom:14px;}
.hero-title span{color:var(--p);}
.hero-sub{font-size:clamp(13px,1.8vw,16px);color:var(--m);line-height:1.75;max-width:540px;margin:0 auto 28px;}
.hero-sub strong{color:var(--t);}
.hero-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}

/* Platforms row */
.plats-row{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;padding:10px 0 0;}

/* Empty state */
.empty-state{text-align:center;padding:60px 20px;}
.empty-state-icon{font-size:40px;margin-bottom:12px;opacity:0.4;}
.empty-state-text{font-size:15px;color:var(--m);}

/* Wiki sidebar */
.wiki-layout{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start;}
.wiki-sidebar{position:sticky;top:80px;}
.wiki-nav-group{margin-bottom:16px;}
.wiki-nav-label{font-family:'JetBrains Mono',monospace;font-size:15px;letter-spacing:0.14em;text-transform:uppercase;color:var(--m);padding:0 8px;margin-bottom:4px;}
.wiki-nav-item{display:block;font-size:16px;font-weight:600;padding:7px 10px;border-radius:6px;color:var(--m);text-decoration:none;transition:all 0.15s;}
.wiki-nav-item:hover{background:rgba(124,0,255,0.1);color:var(--t);}
.wiki-nav-item.on{background:rgba(124,0,255,0.18);color:var(--b);}
.wiki-diff{font-family:'JetBrains Mono',monospace;font-size:8px;padding:1px 5px;border-radius:2px;margin-left:auto;float:right;}
.wiki-content{background:var(--c);border:1px solid var(--br);border-radius:10px;padding:28px 32px;}
.wiki-article-hd{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--br);}
.wiki-article-title{font-family:'Orbitron',sans-serif;font-size:20px;font-weight:900;color:#fff;margin-bottom:8px;}
.wiki-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}

@media (max-width:768px){
  .nav-links{display:none;}
  .wiki-layout{grid-template-columns:1fr;}
  .wiki-sidebar{position:static;}
  .container{padding:0 16px;}
  .hero{padding:40px 16px 32px;}
}
