@charset "utf-8";
/* CSS Document */


	section.card, section.duo { max-width:1180px; margin:0 auto; }
	
  .mini-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;line-height:1.1}
	.mini-title .emoji{font-size:1.1rem;line-height:1;transform:translateY(1px);opacity:.95}
	.mini-title .badge{margin-left:8px}
	.card-mini{background:#0f1522;border:1px solid #1b2436;border-radius:14px;padding:12px}
	.tbl-mini th{padding:8px 10px}
	.tbl-mini td{padding:8px 10px}
	.tbl-mini td.up{color:#12d37a;font-weight:600}
	.tbl-mini td.down{color:#ff5b6a;font-weight:600}
	/* Titres des cartes Top/Flop — texte clair */
	.card-mini h4,
	.card-mini .mini-title{
	  color: #e7f0ff;        /* clair */
	  font-weight: 700;
	}
	
	/* Badge à droite du titre (clair + léger contraste) */
	.card-mini .mini-title .badge{
	  background: #142338;
	  border: 1px solid #1f3556;
	  color: #cfe2ff;
	}
	
	/* (facultatif) petite lueur pour booster la lisibilité sur fonds très sombres */
	.card-mini h4 { text-shadow: 0 1px 0 rgba(0,0,0,.35); }
	
	
	.rank-badge{
	  display:inline-block;
	  margin-left:.35rem;
	  padding:.08rem .4rem;
	  font-size:.72rem;
	  font-weight:600;
	  border-radius:999px;
	  border:1px solid rgba(0,191,255,.45);
	  background:linear-gradient(180deg, rgba(0,191,255,.10), transparent);
	  color:#0aa1d6; /* adapte en dark si besoin */
	  vertical-align:middle;
	}
	@media (prefers-color-scheme: dark){
	  .rank-badge{
		color:#7fd8ff;
		border-color:rgba(127,216,255,.45);
		background:linear-gradient(180deg, rgba(127,216,255,.10), transparent);
	  }
	}
		
	.pill.new {
	  background: linear-gradient(90deg, #0f0 0%, #0ff 100%);
	  color: #000;
	  font-weight: 600;
	  box-shadow: 0 0 6px rgba(0,255,150,0.6);
	}
	.sub span.new {
	  color:#0f0;
	  font-weight:600;
	  text-shadow:0 0 6px rgba(0,255,150,.8);
	}
	
	
		
	/* --- Fond vidéo plein écran --- */
	.bg-video {
	  position: fixed;      /* recouvre toute la fenêtre */
	  inset: 0;             /* top:0 right:0 bottom:0 left:0 */
	  width: 100vw;
	  height: 100vh;
	  object-fit: cover;    /* recadre sans distorsion */
	  z-index: -1;          /* passe derrière le contenu */
	  opacity: 0.6;         /* ajuste la lisibilité par-dessus */
	  filter: saturate(1) contrast(1.05); /* optionnel */
	  background: #000;     /* fallback si la vidéo ne charge pas */
	}
	
	/* Contenu au-dessus de la vidéo */
	.page-content {
	  position: relative;
	  z-index: 1;
	}
	
	/* Option: voile sombre pour améliorer le contraste du texte */
	.page-content::before {
	  content: "";
	  position: fixed;
	  inset: 0;
	  z-index: -1;
	  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55));
	  pointer-events: none;
	}
	
	/* Petits écrans : atténuer la vidéo pour la lisibilité */
	@media (max-width: 768px) {
	  .bg-video { opacity: 0.45; }
	}
	

  /* ======== STYLES MODULE PUBLIC UNLOCKS ======== */
  #cosmic-unlocks{
    max-width:1000px;
    margin:24px auto;
    padding:16px 18px;
  }

  .cu-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
  }
  .cu-head h2{ margin:0 0 4px; color:#e7f0ff; }
  .cu-badges{ display:flex; flex-wrap:wrap; gap:6px; }

  .cu-body{
    display:grid;
    grid-template-columns: minmax(520px, 1.6fr) minmax(260px, .9fr);
    gap:16px;
    align-items:flex-start;
  }
  @media (max-width: 980px){
    .cu-body{ grid-template-columns: 1fr; }
  }

  /* Tableau unlocks */
  .cu-table{
    width:100%;
    border-collapse:collapse;
    font-size:0.9rem;
    background:#0f1522;
    border-radius:12px;
    overflow:hidden;
    border:1px solid #1b2436;
  }
  .cu-table thead{
    background:#111827;
  }
  .cu-table th,
  .cu-table td{
    padding:7px 9px;
    border-bottom:1px solid #1b2436;
    text-align:left;
    white-space:nowrap;
  }
  .cu-table th{
    font-weight:600;
    color:#e7f0ff;
    font-size:0.82rem;
  }
  .cu-table td{
    font-size:0.82rem;
    color:#dde7ff;
  }
  .cu-table tr:last-child td{
    border-bottom:none;
  }

  .cu-token-main{
    display:flex;
    gap:6px;
    align-items:center;
  }
  .cu-symbol{
    font-weight:700;
    color:#e7f0ff;
  }
  .cu-name{
    color:#a6b3c6;
  }
  .cu-sub{
    font-size:0.72rem;
    color:#7b879b;
  }

  /* états chargement / vide / erreur */
  .cu-loading,
  .cu-empty,
  .cu-error{
    text-align:center;
    padding:14px 10px;
    font-size:0.85rem;
  }
  .cu-error{ color:#fecaca; }

  /* Couleurs de risque (même logique que dans le backoffice) */
  .cu-row-high   { background-color: rgba(127, 29, 29, 0.35); }
  .cu-row-medium { background-color: rgba(133, 77, 14, 0.25); }
  .cu-row-low    { background-color: rgba(22, 101, 52, 0.18); }

  /* Légende */
  .cu-legend{
    border-radius:12px;
    border:1px solid #1f2937;
    background:#020617;
    padding:10px 12px;
    font-size:0.8rem;
  }
  .cu-legend .legend-title{
    font-weight:600;
    display:block;
    margin-bottom:4px;
    color:#e5e7eb;
  }
  .cu-legend .legend-items{
    display:flex;
    flex-direction:column;
    gap:3px;
    margin-bottom:4px;
  }
  .cu-legend .legend-item{
    display:flex;
    align-items:center;
    gap:6px;
    color:#9ca3af;
  }
  .cu-legend .legend-color{
    width:14px;
    height:10px;
    border-radius:999px;
    border:1px solid transparent;
  }

  /* couleurs pastilles */
  .cu-legend .legend-high{
    background:rgba(127, 29, 29, 0.85);
    border-color:#7f1d1d;
  }
  .cu-legend .legend-medium{
    background:rgba(133, 77, 14, 0.8);
    border-color:#92400e;
  }
  .cu-legend .legend-low{
    background:rgba(22, 101, 52, 0.75);
    border-color:#166534;
  }

  .cu-legend .legend-sep{
    border-top:1px solid #1f2937;
    margin:6px 0;
  }

  .cu-note{
    margin-top:8px;
    padding:6px 7px;
    border-radius:8px;
    background:rgba(8, 47, 73, 0.35);
    border:1px solid rgba(56, 189, 248, 0.4);
    color:#cffafe;
    font-size:0.78rem;
  }

  /* Badges type unlock (si pas déjà définis globalement) */
  .badge-cliff{
    display:inline-block;
    padding:2px 6px;
    border-radius:10px;
    font-size:0.72rem;
    background:#7c2d12;
    color:#fee2e2;
    border:1px solid #b91c1c;
  }
  .badge-linear{
    display:inline-block;
    padding:2px 6px;
    border-radius:10px;
    font-size:0.72rem;
    background:#1e40af;
    color:#dbeafe;
    border:1px solid #2563eb;
  }



    .ch-accordion{
        max-width:1000px;
        margin:10px auto;
    }

    .ch-accordion-btn{
        width:100%;
        padding:14px 18px;

        display:flex;
        justify-content:space-between;
        align-items:center;

        border-radius:14px;

        cursor:pointer;

        color:#fff;

        font-weight:700;
        font-size:1rem;

        background:
        rgba(10,20,40,.85);

        border:1px solid rgba(0,191,255,.35);
    }

    .ch-accordion-btn:hover{
        background:
        rgba(15,25,50,.95);
    }

    .ch-accordion-content{

        display:none;

        margin-top:10px;
    }


    .ch-story-card{
        max-width:1000px;
        margin:20px auto;

        padding:28px;

        border-radius:22px;

        background:
        linear-gradient(
            180deg,
            rgba(8,15,35,.92),
            rgba(12,20,45,.88)
        );

        border:1px solid rgba(0,191,255,.25);

        backdrop-filter: blur(12px);

        box-shadow:
        0 0 30px rgba(0,0,0,.35);
    }

    .ch-story-card h2{
        text-align:center;

        color:#1ec8ff;

        margin-bottom:24px;

        font-size:2rem;

        text-shadow:
        0 0 12px rgba(0,191,255,.35);
    }

    .ch-story-card p{

        color:#eef6ff;

        line-height:1.8;

        font-size:1.05rem;

        margin-bottom:18px;
    }

    .ch-story-highlight{

        color:#00d5ff;

        font-weight:700;
    }