﻿:root {
    --purple-mid: #7c2fb8;
    --purple-light: #c06bff;
    --purple-glow: #bf5fff;
    --accent: #e040fb;
    --white: #f5f0ff;
    --gray: #8a7a9b;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }

  body {
    color: var(--white);
    font-family: 'DM Sans', sans-serif;
    overflow-x: hidden;
    background:
      radial-gradient(ellipse 130% 65% at 5% 0%, #2e0055 0%, transparent 50%),
      radial-gradient(ellipse 80% 55% at 95% 100%, #1c003e 0%, transparent 50%),
      radial-gradient(ellipse 60% 40% at 55% 45%, #110022 0%, transparent 70%),
      #060010;
  }

  /* Aurora */
  body::after {
    content:''; position:fixed; inset:0; z-index:0;
    background:
      radial-gradient(ellipse 70% 35% at 15% 25%, rgba(130,40,210,.2) 0%, transparent 60%),
      radial-gradient(ellipse 55% 30% at 85% 75%, rgba(210,60,245,.13) 0%, transparent 60%),
      radial-gradient(ellipse 40% 25% at 50% 10%, rgba(100,20,180,.12) 0%, transparent 60%);
    animation: auroraShift 14s ease-in-out infinite alternate;
    pointer-events:none;
  }
  @keyframes auroraShift {
    0%   { transform:translate(0,0) scale(1); opacity:1; }
    100% { transform:translate(50px,-40px) scale(1.1); opacity:.8; }
  }

  /* Grain */
  body::before {
    content:''; position:fixed; inset:0; z-index:1;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    pointer-events:none; opacity:.55;
  }

  /* Cursor */
  body { cursor:none; }
  #cursor { position:fixed; width:12px; height:12px; background:var(--purple-light); border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:width .2s,height .2s; mix-blend-mode:screen; }
  #cursor-ring { position:fixed; width:36px; height:36px; border:1px solid var(--purple-glow); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:transform .18s ease,opacity .3s; opacity:.5; }

  /* NAV */
  nav { position:fixed; top:0; left:0; right:0; z-index:100; padding:1.2rem 3rem; display:flex; align-items:center; justify-content:space-between; backdrop-filter:blur(20px); background:rgba(6,0,16,.75); border-bottom:1px solid rgba(192,107,255,.1); }
  .nav-logo { display:flex; align-items:center; gap:.8rem; text-decoration:none; }
  .nav-logo img { width:38px; height:38px; border-radius:8px; }
  .nav-logo span { font-family:'Syne',sans-serif; font-weight:800; font-size:1.1rem; color:var(--white); }
  .nav-links { display:flex; gap:2rem; list-style:none; }
  .nav-links a { font-size:.78rem; letter-spacing:.04em; color:var(--gray); text-decoration:none; text-transform:uppercase; font-weight:500; transition:color .2s; position:relative; }
  .nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; right:0; height:1px; background:var(--purple-light); transform:scaleX(0); transition:transform .25s; }
  .nav-links a:hover { color:var(--white); }
  .nav-links a:hover::after { transform:scaleX(1); }

  /* BTN */
  .btn { font-family:'Syne',sans-serif; font-size:.9rem; font-weight:700; letter-spacing:.05em; padding:.9rem 2.2rem; border-radius:100px; border:none; cursor:pointer; transition:transform .2s,box-shadow .2s; text-decoration:none; display:inline-block; }
  .btn-primary { background:linear-gradient(135deg,var(--purple-mid),var(--accent)); color:#fff; box-shadow:0 0 30px rgba(192,107,255,.35); }
  .btn-primary:hover { transform:translateY(-3px); box-shadow:0 0 50px rgba(192,107,255,.5); }
  .btn-ghost { background:rgba(255,255,255,.05); border:1px solid rgba(192,107,255,.3); color:var(--white); backdrop-filter:blur(8px); }
  .btn-ghost:hover { transform:translateY(-3px); border-color:var(--purple-glow); background:rgba(192,107,255,.1); }
  .btn:disabled,
  .btn.is-disabled {
    opacity:.45;
    pointer-events:none;
    box-shadow:none;
    transform:none;
  }
  .is-hidden { display:none !important; }

  /* HERO */
  #hero { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; overflow:hidden; padding:2rem; }
  .hero-orb { position:absolute; border-radius:50%; filter:blur(90px); pointer-events:none; animation:floatOrb 9s ease-in-out infinite; }
  .orb1 { width:650px; height:650px; background:radial-gradient(circle,#7c2fb835,transparent 70%); top:-120px; left:-130px; }
  .orb2 { width:520px; height:520px; background:radial-gradient(circle,#e040fb22,transparent 70%); bottom:-100px; right:-90px; animation-delay:-4s; }
  .orb3 { width:320px; height:320px; background:radial-gradient(circle,#c06bff28,transparent 70%); top:38%; left:62%; animation-delay:-2s; }
  @keyframes floatOrb { 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(30px,-30px) scale(1.06);} }
  .hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(140,60,220,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(140,60,220,.06) 1px,transparent 1px); background-size:60px 60px; mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%); }
  .hero-logo { width:140px; height:140px; border-radius:28px; overflow:hidden; box-shadow:0 0 60px rgba(192,107,255,.45),0 0 130px rgba(192,107,255,.15); animation:logoPulse 3s ease-in-out infinite; position:relative; z-index:2; }
  .hero-logo img { width:100%; height:100%; object-fit:cover; }
  @keyframes logoPulse { 0%,100%{box-shadow:0 0 60px rgba(192,107,255,.4),0 0 120px rgba(192,107,255,.15);} 50%{box-shadow:0 0 90px rgba(192,107,255,.65),0 0 180px rgba(192,107,255,.28);} }
  .hero-tag { font-family:'Syne',sans-serif; font-size:.75rem; letter-spacing:.25em; text-transform:uppercase; color:var(--purple-light); margin-top:2rem; opacity:0; animation:fadeUp .6s .3s forwards; position:relative; z-index:2; }
  .hero-title { font-family:'Syne',sans-serif; font-size:clamp(3.5rem,10vw,7rem); font-weight:800; line-height:.95; text-align:center; background:linear-gradient(135deg,#fff 0%,var(--purple-light) 50%,var(--accent) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; opacity:0; animation:fadeUp .7s .5s forwards; position:relative; z-index:2; }
  .hero-sub { font-size:1.05rem; color:var(--gray); margin-top:1rem; text-align:center; opacity:0; animation:fadeUp .7s .7s forwards; position:relative; z-index:2; }
  .hero-cta { display:flex; gap:1rem; margin-top:2.5rem; flex-wrap:wrap; justify-content:center; opacity:0; animation:fadeUp .7s .9s forwards; position:relative; z-index:2; }
  .hero-stats { display:flex; gap:3rem; margin-top:3.5rem; flex-wrap:wrap; justify-content:center; opacity:0; animation:fadeUp .7s 1.1s forwards; position:relative; z-index:2; }
  .hero-stat { text-align:center; }
  .hero-stat-num { font-family:'Syne',sans-serif; font-size:2rem; font-weight:800; background:linear-gradient(135deg,var(--purple-light),var(--accent)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
  .hero-stat-label { font-size:.75rem; color:var(--gray); letter-spacing:.08em; text-transform:uppercase; margin-top:.2rem; }
  @keyframes fadeUp { from{opacity:0;transform:translateY(24px);} to{opacity:1;transform:translateY(0);} }
  .scroll-hint { position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.5rem; opacity:.4; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; animation:bounce 2s ease-in-out infinite; z-index:2; }
  .scroll-hint::after { content:''; width:1px; height:40px; background:linear-gradient(to bottom,var(--purple-light),transparent); }
  @keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }

  /* SECTIONS */
  section { padding:7rem 2rem; max-width:1200px; margin:0 auto; position:relative; z-index:2; scroll-margin-top:96px; }
  .section-label { font-family:'Syne',sans-serif; font-size:.7rem; letter-spacing:.3em; text-transform:uppercase; color:var(--purple-light); margin-bottom:1rem; display:flex; align-items:center; gap:1rem; }
  .section-label::before { content:''; width:30px; height:1px; background:var(--purple-light); }
  .section-title { font-family:'Syne',sans-serif; font-size:clamp(2rem,5vw,3.5rem); font-weight:800; line-height:1.1; margin-bottom:3rem; }
  .divider { width:100%; height:1px; background:linear-gradient(90deg,transparent,rgba(192,107,255,.25),transparent); position:relative; z-index:2; }

  /* EQUIPE */
  .team-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1.5rem; }
  .team-card { background:rgba(255,255,255,.03); border:1px solid rgba(192,107,255,.12); border-radius:20px; padding:2rem 1.5rem; text-align:center; position:relative; overflow:hidden; transition:transform .3s,border-color .3s,box-shadow .3s; }
  .team-card::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 0%,rgba(192,107,255,.08),transparent 70%); pointer-events:none; }
  .team-card:hover { transform:translateY(-6px); border-color:rgba(192,107,255,.4); box-shadow:0 20px 60px rgba(140,60,220,.2); }
  .team-avatar { width:80px; height:80px; border-radius:50%; background:linear-gradient(135deg,var(--purple-mid),var(--accent)); display:flex; align-items:center; justify-content:center; font-family:'Syne',sans-serif; font-size:1.8rem; font-weight:800; margin:0 auto 1rem; box-shadow:0 0 20px rgba(192,107,255,.3); position:relative; z-index:1; }
  .team-name { font-family:'Syne',sans-serif; font-size:1.2rem; font-weight:700; margin-bottom:.4rem; position:relative; z-index:1; }
  .team-role { font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--purple-light); position:relative; z-index:1; }
  .team-badge { position:absolute; top:1rem; right:1rem; background:linear-gradient(135deg,var(--purple-mid),var(--accent)); font-family:'Syne',sans-serif; font-size:.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.3rem .7rem; border-radius:100px; color:#fff; }

  /* STREAMERS */
  .stream-main { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:start; }
  .stream-card { background:rgba(255,255,255,.03); border:1px solid rgba(192,107,255,.12); border-radius:20px; overflow:hidden; transition:transform .3s,box-shadow .3s; }
  .stream-card:hover { transform:translateY(-4px); box-shadow:0 20px 60px rgba(140,60,220,.2); }
  .stream-embed { background:rgba(0,0,0,.5); aspect-ratio:9/16; max-height:500px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
  .stream-embed iframe { width:100%; height:100%; border:none; }
  .live-badge { position:absolute; top:1rem; left:1rem; background:#ff0050; font-family:'Syne',sans-serif; font-size:.65rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.3rem .8rem; border-radius:100px; color:#fff; display:flex; align-items:center; gap:.4rem; animation:livePulse 2s ease-in-out infinite; }
  .live-dot { width:6px; height:6px; background:#fff; border-radius:50%; }
  @keyframes livePulse { 0%,100%{opacity:1} 50%{opacity:.7} }
  .stream-info { padding:1.5rem; }
  .stream-platform { font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--purple-light); margin-bottom:.5rem; display:flex; align-items:center; gap:.5rem; }
  .stream-name { font-family:'Syne',sans-serif; font-size:1.1rem; font-weight:700; }
  .stream-side-note { font-size:.9rem; color:var(--gray); line-height:1.7; }
  .stream-tiktok-link { display:inline-flex; align-items:center; gap:.6rem; margin-top:1.5rem; padding:.8rem 1.6rem; background:rgba(255,255,255,.05); border:1px solid rgba(192,107,255,.2); border-radius:100px; color:var(--white); text-decoration:none; font-family:'Syne',sans-serif; font-size:.85rem; font-weight:600; transition:all .2s; }
  .stream-tiktok-link:hover { background:rgba(192,107,255,.15); border-color:var(--purple-light); }
  .tiktok-icon { width:18px; height:18px; fill:currentColor; }

  /* EVENTS */
  .events-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; }
  .event-card { background:rgba(255,255,255,.03); border:1px solid rgba(192,107,255,.12); border-radius:20px; padding:1.8rem; position:relative; overflow:hidden; transition:transform .3s,box-shadow .3s; }
  .event-card:hover { transform:translateY(-5px); box-shadow:0 20px 50px rgba(140,60,220,.2); }
  .event-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--purple-mid),var(--accent)); }
  .event-date { font-family:'Syne',sans-serif; font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--purple-light); margin-bottom:.8rem; display:flex; align-items:center; gap:.5rem; }
  .event-dot { width:6px; height:6px; border-radius:50%; background:var(--accent); flex-shrink:0; }
  .event-title { font-family:'Syne',sans-serif; font-size:1.1rem; font-weight:700; margin-bottom:.6rem; }
  .event-desc { font-size:.88rem; color:var(--gray); line-height:1.65; }
  .event-tag { display:inline-block; margin-top:1rem; background:rgba(192,107,255,.12); border:1px solid rgba(192,107,255,.25); border-radius:100px; padding:.25rem .9rem; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--purple-light); }

  /* RESEAU */
  .network-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.5rem; }
  .network-card { background:rgba(255,255,255,.03); border:1px solid rgba(192,107,255,.12); border-radius:20px; padding:2rem; display:flex; align-items:center; gap:1.5rem; text-decoration:none; color:var(--white); transition:transform .3s,border-color .3s,box-shadow .3s; position:relative; overflow:hidden; }
  .network-card::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 0% 50%,rgba(192,107,255,.06),transparent 60%); }
  .network-card:hover { transform:translateX(6px); border-color:rgba(192,107,255,.4); box-shadow:-6px 0 40px rgba(140,60,220,.15); }
  .network-icon { width:56px; height:56px; border-radius:16px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
  .network-icon.discord { background:rgba(88,101,242,.2); border:1px solid rgba(88,101,242,.4); }
  .network-icon.youtube  { background:rgba(255,0,0,.15); border:1px solid rgba(255,0,0,.3); }
  .network-icon.tiktok   { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); }
  .network-info { position:relative; z-index:1; min-width:0; }
  .network-name { font-family:'Syne',sans-serif; font-size:1.1rem; font-weight:700; }
  .network-handle { font-size:.85rem; color:var(--gray); margin-top:.2rem; word-break:break-word; }
  .network-arrow { margin-left:auto; opacity:.4; position:relative; z-index:1; font-size:1.2rem; transition:transform .2s,opacity .2s; }
  .network-card:hover .network-arrow { transform:translateX(4px); opacity:1; }

  /* FAQ */
  .faq-list { display:flex; flex-direction:column; gap:.8rem; }
  .faq-item { background:rgba(255,255,255,.03); border:1px solid rgba(192,107,255,.12); border-radius:16px; overflow:hidden; }
  .faq-q { padding:1.3rem 1.8rem; cursor:pointer; display:flex; align-items:center; justify-content:space-between; font-family:'Syne',sans-serif; font-size:.95rem; font-weight:600; transition:background .2s; }
  .faq-q:hover { background:rgba(192,107,255,.05); }
  .faq-chevron { opacity:.5; transition:transform .3s; }
  .faq-item.open .faq-chevron { transform:rotate(180deg); }
  .faq-a { max-height:0; overflow:hidden; transition:max-height .4s ease; padding:0 1.8rem; font-size:.9rem; color:var(--gray); line-height:1.7; }
  .faq-item.open .faq-a { max-height:300px; padding-bottom:1.4rem; }

  /* REGLEMENT */
  .rules-container { display:grid; gap:1rem; }
  .rule-category { background:rgba(255,255,255,.03); border:1px solid rgba(192,107,255,.12); border-radius:16px; overflow:hidden; }
  .rule-category-header { display:flex; align-items:center; justify-content:space-between; padding:1.4rem 1.8rem; cursor:pointer; transition:background .2s; }
  .rule-category-header:hover { background:rgba(192,107,255,.05); }
  .rule-category-title { font-family:'Syne',sans-serif; font-size:1rem; font-weight:700; display:flex; align-items:center; gap:1rem; }
  .rule-num { width:32px; height:32px; border-radius:8px; background:linear-gradient(135deg,var(--purple-mid),var(--accent)); display:flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:800; }
  .rule-chevron { transition:transform .3s; font-size:.9rem; opacity:.5; }
  .rule-category.open .rule-chevron { transform:rotate(180deg); }
  .rule-body { max-height:0; overflow:hidden; transition:max-height .4s ease; padding:0 1.8rem; }
  .rule-category.open .rule-body { max-height:1000px; padding-bottom:1.5rem; }
  .rule-list { list-style:none; display:flex; flex-direction:column; gap:.8rem; }
  .rule-list li { font-size:.9rem; color:#b8a8cc; line-height:1.6; display:flex; gap:.8rem; }
  .rule-list li::before { content:'→'; color:var(--purple-light); flex-shrink:0; }

  /* QCM */
  .qcm-card {
    background:rgba(255,255,255,.03);
    border:1px solid rgba(192,107,255,.15);
    border-radius:20px;
    padding:2rem;
  }
  .qcm-intro { color:#cdbfe0; line-height:1.7; margin-bottom:1.4rem; }
  .qcm-auth {
    display:flex;
    align-items:center;
    gap:1rem;
    flex-wrap:wrap;
    margin-bottom:1.5rem;
  }
  .qcm-status {
    font-size:.9rem;
    color:var(--gray);
  }
  .qcm-save-status {
    color:var(--gray);
    font-size:.82rem;
    margin:-.5rem 0 1.2rem;
    opacity:.72;
  }
  .qcm-save-status.is-visible { color:#bfa8d8; }
  .qcm-form {
    display:grid;
    gap:1rem;
  }
  .qcm-question {
    border:1px solid rgba(192,107,255,.14);
    border-radius:14px;
    padding:1rem 1.1rem;
    background:rgba(255,255,255,.02);
  }
  .qcm-question legend {
    font-family:'Syne',sans-serif;
    font-weight:700;
    font-size:.96rem;
    margin-bottom:.75rem;
  }
  .qcm-question label {
    display:block;
    margin:.45rem 0;
    color:#cab9dd;
    font-size:.92rem;
    cursor:pointer;
  }
  .qcm-question input { margin-right:.5rem; }
  .qcm-result {
    margin-top:1.1rem;
    min-height:1.4rem;
    font-family:'Syne',sans-serif;
    font-size:.95rem;
    color:var(--purple-light);
  }
  .qcm-result.ok { color:#8bffb8; }
  .qcm-result.ko { color:#ff8ba8; }
  .qcm-part-title {
    font-family:'Syne',sans-serif;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--purple-light);
    padding:.9rem 0 .2rem;
    border-top:1px solid rgba(192,107,255,.15);
    margin-top:.4rem;
  }
  .qcm-textarea {
    width:100%;
    min-height:160px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(192,107,255,.2);
    border-radius:12px;
    color:var(--white);
    font-family:'DM Sans',sans-serif;
    font-size:.92rem;
    line-height:1.65;
    padding:.9rem 1.1rem;
    resize:vertical;
    outline:none;
    transition:border-color .2s;
    margin-top:.75rem;
  }
  .qcm-textarea:focus { border-color:rgba(192,107,255,.5); }
  .qcm-textarea::placeholder { color:var(--gray); }
  .qcm-word-count { font-size:.8rem; color:var(--gray); margin-top:.4rem; transition:color .2s; }
  .whitelist-card { max-width:820px; }
  .whitelist-steps {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.8rem;
    margin-top:1rem;
  }
  .whitelist-steps div {
    background:rgba(255,255,255,.025);
    border:1px solid rgba(192,107,255,.14);
    border-radius:12px;
    padding:1rem;
    color:#cab9dd;
    font-size:.9rem;
  }
  .whitelist-steps strong {
    color:var(--purple-light);
    font-family:'Syne',sans-serif;
    margin-right:.35rem;
  }

  /* FOOTER */
  footer { padding:3rem 2rem; text-align:center; border-top:1px solid rgba(192,107,255,.1); position:relative; z-index:2; }
  .footer-logo { width:50px; margin:0 auto 1rem; border-radius:10px; }
  .footer-text { font-size:.8rem; color:var(--gray); }
  .footer-glow { width:200px; height:1px; background:linear-gradient(90deg,transparent,rgba(192,107,255,.5),transparent); margin:1rem auto; }

  @media (max-width:1024px) {
    nav { padding:1rem 1.4rem; }
    .nav-links { gap:1.1rem; }
    #hero { padding:7rem 1.5rem 3rem; min-height:calc(100vh - 10px); }
    .hero-logo { width:118px; height:118px; border-radius:22px; }
    .hero-sub { max-width:680px; }
    section { padding:5.2rem 1.5rem; }
    .stream-main { grid-template-columns:1fr; gap:1.4rem; }
    .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .events-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .network-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }

  @media (max-width:768px) {
    nav { padding:.9rem 1rem; }
    .nav-links { display:none; }
    nav .btn { font-size:.72rem !important; padding:.5rem 1rem !important; }
    #hero { padding:6.2rem 1rem 2.6rem; }
    .hero-tag { letter-spacing:.14em; text-align:center; }
    .hero-title { font-size:clamp(2.35rem,11vw,3.8rem); line-height:1.02; }
    .hero-sub { font-size:.95rem; max-width:34ch; }
    .hero-cta { width:100%; gap:.8rem; margin-top:1.8rem; }
    .hero-cta .btn { width:100%; text-align:center; }
    .hero-stats { gap:1.1rem; margin-top:2.1rem; width:100%; }
    .hero-stat { min-width:42%; }
    .hero-stat-num { font-size:1.6rem; }
    .scroll-hint { display:none; }
    section { padding:4rem 1rem; }
    .section-title { margin-bottom:2rem; }
    .team-grid,
    .events-grid,
    .network-grid { grid-template-columns:1fr; }
    .team-card,
    .event-card,
    .network-card { padding:1.3rem; border-radius:16px; }
    .stream-embed { max-height:430px; }
    .stream-side-note { font-size:.88rem; line-height:1.65; }
    .faq-q,
    .rule-category-header { padding:1rem 1.1rem; }
    .faq-a,
    .rule-body { padding-left:1.1rem; padding-right:1.1rem; }
    .rule-category-title { font-size:.92rem; gap:.65rem; }
    .rule-list li { font-size:.86rem; }
    .qcm-card { padding:1.2rem; border-radius:16px; }
    .qcm-question { padding:.9rem .9rem; }
    .qcm-question legend { font-size:.9rem; }
    .qcm-question label { font-size:.88rem; }
    .whitelist-steps { grid-template-columns:1fr; }
    footer { padding:2.2rem 1rem; }
  }

  @media (max-width:560px) {
    .nav-logo span { font-size:.96rem; }
    .nav-logo img { width:32px; height:32px; }
    .hero-logo { width:95px; height:95px; border-radius:18px; }
    .hero-stats { justify-content:space-between; }
    .hero-stat { min-width:47%; }
    .live-badge { top:.7rem; left:.7rem; font-size:.58rem; padding:.22rem .52rem; }
    .network-icon { width:46px; height:46px; border-radius:12px; }
    .network-name { font-size:1rem; }
    .network-handle { font-size:.8rem; }
    .section-label { letter-spacing:.2em; gap:.6rem; }
    .section-label::before { width:20px; }
  }

  @media (hover:none), (pointer:coarse) {
    body { cursor:auto; }
    #cursor,
    #cursor-ring { display:none; }
  }
