 :root{--bg:#03040b;--panel:#0c0b19cc;--purple:#8b2cff;--purple-2:#c34dff;--text:#fff;--muted:#b8b4ce;--line:#2b2150;--glow:0 0 28px rgba(139,44,255,.65)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;color:var(--text);background:radial-gradient(circle at 62% 18%,rgba(139,44,255,.35),transparent 35%),radial-gradient(circle at 18% 30%,rgba(56,29,161,.35),transparent 24%),linear-gradient(180deg,#02030a 0%,#070612 45%,#02030a 100%);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.45;background-image:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 1px),radial-gradient(circle at 70% 10%,#fff 0 1px,transparent 1px),radial-gradient(circle at 80% 50%,#fff 0 1px,transparent 1px);background-size:240px 240px,340px 340px,420px 420px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;border:0;cursor:pointer}.container{width:min(1180px,calc(100% - 40px));margin:auto}header{position:sticky;top:0;z-index:10;backdrop-filter:blur(18px);background:rgba(3,4,11,.72);border-bottom:1px solid rgba(255,255,255,.08)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{font-weight:900;letter-spacing:.08em;line-height:.9;font-size:25px}.logo span{display:block;color:var(--purple-2);text-shadow:var(--glow)}.menu{display:flex;gap:25px;color:#eee;font-size:14px}.menu a{opacity:.86;position:relative}.menu a.active:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:var(--purple-2);box-shadow:var(--glow)}.search-input{width:230px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.07);color:#fff;border-radius:999px;padding:12px 16px;outline:none}.hamb{display:none;background:none;font-size:25px}.primary{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,var(--purple),#651cff);padding:13px 20px;box-shadow:0 0 24px rgba(139,44,255,.45);font-weight:800}.hero{position:relative;padding:84px 0 62px;min-height:620px;overflow:hidden;background:linear-gradient(to bottom,rgba(3,4,11,.28),rgba(3,4,11,.84)),url("../images/planetestream.jpg");background-size:cover;background-position:center}.hero-content{position:relative;z-index:2;max-width:650px}.eyebrow{text-transform:uppercase;color:var(--purple-2);font-weight:900;letter-spacing:.14em;font-size:13px}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.03;font-weight:900;text-transform:uppercase;letter-spacing:-.05em;margin-top:12px}.hero h1 strong{color:var(--purple-2);text-shadow:var(--glow)}.hero p:not(.eyebrow){margin:24px 0 26px;color:#e6e1f3;font-size:18px;line-height:1.6;max-width:560px}.play:before{content:"▶";margin-right:12px}.badges{display:flex;gap:24px;margin-top:42px;color:#ddd;font-size:13px;flex-wrap:wrap}.badge{display:flex;align-items:center;gap:10px}.badge i{color:var(--purple-2);font-style:normal;font-weight:900}.tabs{display:flex;gap:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.05);padding:12px;border-radius:16px;margin:28px 0;overflow:auto;backdrop-filter:blur(12px)}.tabs button{background:rgba(255,255,255,.06);padding:11px 20px;border-radius:999px;color:#eee;white-space:nowrap}.tabs .active{background:linear-gradient(135deg,var(--purple),#6e20ff);box-shadow:var(--glow)}section{margin:28px 0 42px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-head p{color:var(--muted);font-size:14px}.section-title{font-size:22px;text-transform:uppercase;border-left:3px solid var(--purple-2);padding-left:14px}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.card{background:#070813;border-radius:13px;overflow:hidden;border:1px solid rgba(255,255,255,.08);transition:.25s;box-shadow:0 12px 32px rgba(0,0,0,.35);text-align:left}.card:hover{transform:translateY(-6px);box-shadow:0 0 25px rgba(139,44,255,.32)}.poster{height:255px;background:linear-gradient(145deg,#3b1c70,#111);position:relative;background-size:cover;background-position:center}.poster:after{content:attr(data-title);position:absolute;left:14px;right:14px;bottom:18px;font-weight:900;font-size:22px;text-transform:uppercase;line-height:.92;text-shadow:0 4px 14px #000}.poster:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 42%,rgba(0,0,0,.82))}.info{padding:13px}.info h3{font-size:14px;margin-bottom:8px}.meta{display:flex;flex-wrap:wrap;gap:6px;color:#aaa;font-size:11px}.meta span{background:#171827;border:1px solid #2a2a3d;border-radius:4px;padding:2px 6px}.cta{margin:20px 0 36px;padding:25px;border-radius:16px;background:linear-gradient(135deg,rgba(139,44,255,.23),rgba(32,21,60,.88));border:1px solid rgba(195,77,255,.4);display:flex;align-items:center;justify-content:space-between;gap:20px}.cta-copy{display:flex;align-items:center;gap:20px}.cta h2{font-size:22px}.cta p{color:var(--muted);margin-top:5px}.circle{min-width:62px;width:62px;height:62px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;box-shadow:var(--glow)}.modal{width:min(820px,calc(100% - 30px));border:1px solid rgba(195,77,255,.45);border-radius:20px;background:#090713;color:#fff;padding:0;box-shadow:0 0 80px rgba(0,0,0,.75)}.modal::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(6px)}.modal-close{position:absolute;right:16px;top:12px;background:rgba(255,255,255,.12);border-radius:50%;width:38px;height:38px;font-size:26px}.modal-hero{min-height:250px;background-size:cover;background-position:center;border-radius:20px 20px 0 0;position:relative}.modal-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.15),#090713)}.modal-body{padding:28px;position:relative}.modal-body h2{font-size:34px;margin-bottom:12px}.modal-body p{color:#ded8ef;line-height:1.7;margin:12px 0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chip{background:#171827;border:1px solid #2a2a3d;border-radius:999px;padding:6px 10px;font-size:12px;color:#ddd}footer{border-top:1px solid rgba(255,255,255,.08);padding:34px 0 50px;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:2fr repeat(2,1fr);gap:30px}.footer-grid h4{color:#fff;margin-bottom:14px}.footer-grid li{list-style:none;margin:9px 0;font-size:14px}.admin-panel{padding:36px 0}.admin-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:22px;margin:22px 0}.admin-row{display:flex;gap:10px;flex-wrap:wrap}.admin-row input,.admin-row select,textarea{background:#0d0d1a;border:1px solid #30224e;color:#fff;border-radius:10px;padding:12px}textarea{width:100%;min-height:220px;margin-top:12px}.result-list{display:grid;gap:12px;margin-top:18px}.tmdb-result{display:flex;gap:14px;align-items:center;background:#080914;border:1px solid rgba(255,255,255,.08);padding:10px;border-radius:14px}.tmdb-result img{width:72px;height:108px;object-fit:cover;border-radius:8px;background:#171827}@media(max-width:900px){.menu,.nav-actions{display:none}.hamb{display:block}.grid{grid-template-columns:repeat(3,1fr)}.hero{min-height:auto}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.container{width:min(100% - 26px,1180px)}.grid{grid-template-columns:repeat(2,1fr);gap:13px}.poster{height:205px}.poster:after{font-size:18px}.cta,.section-head{flex-direction:column;align-items:flex-start}.primary{width:100%}.footer-grid{grid-template-columns:1fr}.modal-body h2{font-size:26px}}
/* === Accents rouges Planète Stream : liserés danger premium === */
:root{
  --red:#ff2d55;
  --red-dark:#9b1230;
  --red-glow:0 0 18px rgba(255,45,85,.45);
}

body{
  background:
    radial-gradient(circle at 78% 18%, rgba(255,45,85,.20), transparent 26%),
    radial-gradient(circle at 62% 18%, rgba(139,44,255,.35), transparent 35%),
    radial-gradient(circle at 18% 30%, rgba(56,29,161,.35), transparent 24%),
    linear-gradient(180deg,#02030a 0%,#070612 45%,#02030a 100%);
}

header{
  border-bottom:1px solid rgba(255,45,85,.22);
}

.logo span{
  text-shadow:
    0 0 22px rgba(139,44,255,.65),
    0 0 10px rgba(255,45,85,.35);
}

.menu a.active:after{
  background:linear-gradient(90deg,var(--purple-2),var(--red));
  box-shadow:var(--red-glow), var(--glow);
}

.primary{
  background:linear-gradient(135deg,var(--purple),#7d22ff 58%,var(--red-dark));
  box-shadow:
    0 0 24px rgba(139,44,255,.45),
    0 0 16px rgba(255,45,85,.22);
}

.primary:hover{
  box-shadow:
    0 0 28px rgba(139,44,255,.55),
    0 0 24px rgba(255,45,85,.38);
}

.hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg, transparent 0 58%, rgba(255,45,85,.16) 59%, transparent 62%),
    radial-gradient(circle at 78% 30%, rgba(255,45,85,.16), transparent 22%);
  mix-blend-mode:screen;
}

.hero-content:before{
  content:"";
  display:block;
  width:96px;
  height:3px;
  margin-bottom:18px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--red),transparent);
  box-shadow:var(--red-glow);
}

.tabs{
  border-color:rgba(255,45,85,.18);
  box-shadow:inset 0 0 0 1px rgba(255,45,85,.04);
}

.tabs .active{
  background:linear-gradient(135deg,var(--purple),#7d22ff 62%,var(--red-dark));
  box-shadow:var(--glow), var(--red-glow);
}

.section-title{
  border-left:4px solid var(--red);
  text-shadow:0 0 10px rgba(255,45,85,.35);
}

.section-head{
  position:relative;
}

.section-head:after{
  content:"";
  height:1px;
  flex:1;
  align-self:center;
  min-width:80px;
  background:linear-gradient(90deg,rgba(255,45,85,.55),transparent);
  box-shadow:var(--red-glow);
}

.card{
  border-color:rgba(255,255,255,.08);
  position:relative;
}

.card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  opacity:.55;
  background:linear-gradient(to bottom,transparent,var(--red),transparent);
  z-index:2;
}

.card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,45,85,.75);
  box-shadow:
    0 0 12px rgba(255,45,85,.35),
    0 0 25px rgba(139,44,255,.35),
    0 12px 32px rgba(0,0,0,.35);
}

.poster:before{
  background:
    linear-gradient(to bottom,transparent 42%,rgba(0,0,0,.86)),
    linear-gradient(90deg,rgba(255,45,85,.20),transparent 25%);
}

.meta span,
.chip{
  border-color:rgba(255,45,85,.22);
}

.meta span:nth-child(2),
.chip:nth-child(2){
  border-color:rgba(255,45,85,.48);
  box-shadow:inset 0 0 12px rgba(255,45,85,.08);
}

.cta{
  border-color:rgba(255,45,85,.45);
  background:
    linear-gradient(135deg,rgba(255,45,85,.15),transparent 32%),
    linear-gradient(135deg,rgba(139,44,255,.23),rgba(32,21,60,.88));
}

.circle{
  border-color:var(--red);
  box-shadow:var(--red-glow), var(--glow);
}

.modal{
  border-color:rgba(255,45,85,.55);
  box-shadow:
    0 0 80px rgba(0,0,0,.75),
    0 0 28px rgba(255,45,85,.25);
}

.modal-close:hover{
  background:rgba(255,45,85,.35);
}

footer{
  border-top-color:rgba(255,45,85,.18);
}

/* === Finitions rouges supplémentaires : recherche, cartes, halo héro === */
.search-input{
  box-shadow:
    inset 0 0 0 1px rgba(255,60,60,.15),
    0 0 18px rgba(255,60,60,.08);
}

.search-input:focus{
  border-color:rgba(255,45,85,.55);
  box-shadow:
    inset 0 0 0 1px rgba(255,60,60,.20),
    0 0 22px rgba(255,45,85,.22),
    0 0 18px rgba(139,44,255,.18);
}

.card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(90deg,var(--red),transparent 70%);
  opacity:0;
  transition:.25s;
  z-index:3;
}

.card:hover::after{
  opacity:1;
}

.hero::after{
  content:"";
  position:absolute;
  width:500px;
  height:500px;
  right:-120px;
  top:120px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,40,60,.20), transparent 70%);
  pointer-events:none;
  z-index:1;
}

/* Petit coin rouge pour donner un côté contenu premium / vedette */
#featuredGrid .card::after{
  opacity:.8;
}

#featuredGrid .card:hover::after{
  opacity:1;
}

#featuredGrid .card .poster::after{
  text-shadow:
    0 4px 14px #000,
    0 0 12px rgba(255,45,85,.35);
}

/* === Fiche détail film premium === */

.modal{
  width:min(1050px, calc(100% - 28px));
  max-height:92vh;
  overflow:auto;
}

#modalContent{
  overflow:hidden;
  border-radius:20px;
}

.movie-backdrop{
  min-height:520px;
  background-size:cover;
  background-position:center;
  position:relative;
}

.movie-backdrop::after{
    content:"";
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(4,5,12,.96) 0%,
            rgba(4,5,12,.82) 28%,
            rgba(4,5,12,.55) 55%,
            rgba(4,5,12,.35) 100%
        ),

        linear-gradient(
            to top,
            #090713 0%,
            rgba(9,7,19,.85) 30%,
            transparent 80%
        );
}

.movie-overlay{
  position:relative;
  z-index:2;
  min-height:520px;
  display:flex;
  align-items:flex-end;
  gap:28px;
  padding:34px;
}

.movie-poster{
  flex:0 0 250px;
  height:375px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,45,85,.55);
  box-shadow:
    0 0 22px rgba(255,45,85,.28),
    0 24px 54px rgba(0,0,0,.65);
  background:#111;
}

.movie-poster img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.movie-main{
   max-width:700px;
    margin-left:8px;
}

.movie-main h1{
  margin-bottom:26px;
  font-size:clamp(36px, 6vw, 72px);
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:-.06em;
  margin-bottom:16px;
  text-shadow:0 8px 28px rgba(0,0,0,.85);
}

.movie-infos,
.movie-genres,
.movie-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:12px 0;
}

.movie-infos span,
.movie-genres span{
  border:1px solid rgba(255,45,85,.28);
  background:rgba(12,11,25,.82);
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:800;
  color:#eee;
}

.movie-genres span:first-child{
  border-color:rgba(255,45,85,.65);
  box-shadow:inset 0 0 14px rgba(255,45,85,.12);
}

.ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  padding:13px 20px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  font-weight:800;
}

.ghost:hover{
  border-color:rgba(255,45,85,.55);
  box-shadow:0 0 18px rgba(255,45,85,.22);
}

.movie-content{
  padding:30px 34px 36px;
  background:
    radial-gradient(circle at 85% 0%, rgba(255,45,85,.12), transparent 25%),
    #090713;
}

.movie-content section{
  margin:0 0 28px;
}

.movie-content h2,
.movie-content h3{
  text-transform:uppercase;
  letter-spacing:.04em;
}

.movie-content h2{
  font-size:22px;
  border-left:4px solid var(--red, #ff2d55);
  padding-left:12px;
  margin-bottom:12px;
}

.movie-content h3{
  font-size:13px;
  color:#fff;
  margin-bottom:8px;
}

.movie-content p{
  color:#ded8ef;
  line-height:1.7;
}

.movie-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
}

.movie-grid > div{
  border:1px solid rgba(255,45,85,.18);
  border-radius:14px;
  padding:16px;
  background:rgba(255,255,255,.04);
}

@media(max-width:760px){
  .movie-overlay{
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
  }

  .movie-poster{
    width:160px;
    height:240px;
    flex-basis:auto;
  }

  .movie-grid{
    grid-template-columns:1fr;
  }
}

/* ===========================================================
   DETAIL.HTML
   =========================================================== */

.detail-loading,
.detail-error{
    min-height:70vh;
    display:grid;
    place-items:center;
    text-align:center;
    font-size:22px;
}

.detail-error{
    gap:25px;
}

/* ---------- HERO ---------- */

.detail-hero{

    position:relative;
    min-height:720px;

    background-size:cover;
    background-position:center;

}

.detail-hero::before{

    content:"";

    position:absolute;
    inset:0;

    background:

        linear-gradient(
            90deg,
            rgba(3,4,11,.96) 0%,
            rgba(3,4,11,.86) 30%,
            rgba(3,4,11,.45) 62%,
            rgba(3,4,11,.22) 100%
        ),

        linear-gradient(
            to top,
            #03040b,
            rgba(3,4,11,.65),
            transparent 70%
        );

}

.detail-hero-overlay{

    position:relative;
    z-index:2;

    min-height:720px;

    display:flex;
    align-items:flex-end;

}

.detail-hero-content{

    display:flex;

    align-items:flex-end;

    gap:42px;

    padding-bottom:70px;

}

/* ---------- POSTER ---------- */

.detail-poster{

    width:280px;

    flex-shrink:0;

    border-radius:18px;

    overflow:hidden;

    border:1px solid rgba(255,45,85,.45);

    box-shadow:
0 25px 70px rgba(0,0,0,.60),
0 0 40px rgba(255,45,85,.18);
transition:.35s ease;

}
.detail-poster img:hover{
    transform:translateY(-6px) scale(1.02);
}

.detail-poster img{

    width:100%;

    display:block;

}

/* ---------- TITRE ---------- */

.detail-main{

    max-width:760px;

}

.detail-main h1{

    font-size:clamp(52px,7vw,88px);

    line-height:.92;

    text-transform:uppercase;

    letter-spacing:-.06em;

    margin:12px 0 24px;

    text-shadow:

        0 5px 18px #000,

        0 0 20px rgba(255,45,85,.20);

}

.detail-overview{

    font-size:18px;

    line-height:1.8;

    color:#e6e1f3;

    margin:26px 0;

}

/* ---------- BADGES ---------- */

.detail-meta,

.detail-genres{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin:18px 0;

}

.detail-meta span{

padding:10px 18px;

font-size:15px;

font-weight:700;

border-radius:999px;

border:1px solid rgba(255,45,85,.35);

background:
rgba(255,255,255,.05);

transition:.25s;

}

.detail-meta span:hover{

background:
rgba(255,45,85,.18);

transform:translateY(-2px);

}

.detail-genres span{

    padding:8px 14px;

    border-radius:999px;

    background:rgba(255,255,255,.07);

    border:1px solid rgba(255,45,85,.35);

    font-size:13px;

    font-weight:700;

    backdrop-filter:blur(8px);

}

.detail-genres span{

    border-color:rgba(139,44,255,.35);

}

/* ---------- BOUTONS ---------- */

.detail-actions{
transition:
.25s ease;
    display:flex;

    gap:16px;

    flex-wrap:wrap;

    margin-top:30px;

}

/* ---------- CONTENU ---------- */

.detail-info{

    margin-top:60px;

}

.detail-block{

    margin-bottom:40px;

}

.detail-block h2{

    margin-bottom:18px;

}

.detail-block p{

    line-height:1.9;

    color:#ddd;

}

/* ---------- GRILLE ---------- */

.detail-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;

}

.detail-grid article{

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,45,85,.18);

    border-radius:18px;

    padding:24px;

    transition:.25s;

}

.detail-grid article:hover{

    transform:translateY(-4px);

    border-color:rgba(255,45,85,.45);

    box-shadow:

        0 0 18px rgba(255,45,85,.16);

}

.detail-grid h3{

    margin-bottom:12px;

    font-size:14px;

    text-transform:uppercase;

    color:#fff;

}

.detail-grid p{

    color:#cfc9dd;

    line-height:1.7;

}

/* ---------- FILMS SIMILAIRES ---------- */

.detail-related{

    margin:70px auto;

}

/* ---------- RESPONSIVE ---------- */

@media(max-width:1000px){

    .detail-hero{

        min-height:auto;

    }

    .detail-hero-overlay{

        min-height:auto;

    }

    .detail-hero-content{

        flex-direction:column;

        align-items:flex-start;

        padding:50px 0;

    }

    .detail-poster{

        width:220px;

    }

}

@media(max-width:700px){

    .detail-grid{

        grid-template-columns:1fr;

    }

    .detail-main h1{

        font-size:46px;

    }

}
.detail-hero{
  min-height:640px;
}

.detail-hero-overlay{
  min-height:640px;
}

.detail-hero-content{
  align-items:center;
  padding-bottom:0;
}

.detail-poster{
  width:255px;
  transform:translateY(24px);
}

.detail-main h1{
  max-width:760px;
}

.detail-overview{
  max-width:780px;
}

.detail-info{
  margin-top:38px;
}

.nav-actions .primary{
  padding:10px 16px;
  font-size:14px;
  border-radius:9px;
}

/* === Détail : fond vivant très subtil === */

.detail-hero{
  animation:detailBackdropZoom 28s ease-in-out infinite alternate;
}

@keyframes detailBackdropZoom{
  from{
    background-size:100%;
  }

  to{
    background-size:106%;
  }
}

.detail-hero.no-backdrop{
  background:
    radial-gradient(circle at 70% 25%, rgba(139,44,255,.28), transparent 32%),
    radial-gradient(circle at 30% 35%, rgba(255,45,85,.18), transparent 28%),
    linear-gradient(135deg,#05060f,#15091f 55%,#03040b);
}

/* === Detail page : layout compact infos === */

.detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);
  gap:34px;
  margin:52px auto 70px;
  align-items:start;
}

.detail-left,
.detail-right{
  border:1px solid rgba(255,45,85,.18);
  border-radius:20px;
  background:rgba(255,255,255,.035);
  padding:28px;
}

.detail-left h2,
.detail-right h2{
  text-transform:uppercase;
  font-size:20px;
  margin-bottom:18px;
  border-left:4px solid var(--red,#ff2d55);
  padding-left:12px;
}

.detail-synopsis{
  color:#e4deef;
  line-height:1.9;
  font-size:16px;
  margin-bottom:34px;
}

.detail-cast{
  color:#fff;
  line-height:1.8;
  font-weight:600;
}

.movie-info-list{
  list-style:none;
  display:grid;
  gap:14px;
}

.movie-info-list li{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.movie-info-list li:last-child{
  border-bottom:0;
}

.movie-info-list span{
  color:var(--muted);
  font-size:13px;
  white-space:nowrap;
}

.movie-info-list strong{
  color:#fff;
  text-align:right;
  font-size:14px;
  line-height:1.45;
}

.detail-info,
.detail-grid,
.detail-block{
  display:none;
}

@media(max-width:900px){
  .detail-layout{
    grid-template-columns:1fr;
  }

  .movie-info-list li{
    align-items:flex-start;
  }
}
.detail-cast-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.detail-cast-list span{
  border:1px solid rgba(255,45,85,.24);
  border-radius:999px;
  padding:8px 12px;
  background:rgba(255,255,255,.055);
  color:#fff;
  font-weight:700;
  font-size:14px;
}
.detail-cast-list{
    margin-bottom:32px;
}
.detail-left h2{
    margin-top:28px;
}

.detail-left h2:first-child{
    margin-top:0;
}

/* === Finitions fiche détail adaptées à ton CSS actuel === */

.logo{
  filter:drop-shadow(0 0 18px rgba(176,73,255,.25));
}

.detail-main{
  position:relative;
  z-index:2;
}

.detail-main::before{
  content:"";
  position:absolute;
  left:-90px;
  top:-90px;
  width:520px;
  height:520px;
  background:radial-gradient(circle,
    rgba(255,45,85,.16) 0%,
    rgba(139,44,255,.12) 35%,
    transparent 75%);
  filter:blur(55px);
  pointer-events:none;
  z-index:-1;
}

.detail-main h1{
  text-shadow:
    0 6px 28px rgba(0,0,0,.55),
    0 0 24px rgba(255,45,85,.18);
}

.detail-meta span{
  padding:10px 18px;
  font-size:15px;
  font-weight:800;
  transition:.25s ease;
}

.detail-meta span:hover{
  background:rgba(255,45,85,.18);
  transform:translateY(-2px);
}

.detail-genres span{
  background:rgba(139,44,255,.18);
  border:1px solid rgba(255,45,85,.30);
  transition:.25s ease;
}

.detail-genres span:hover{
  background:rgba(255,45,85,.16);
  transform:translateY(-2px);
}

.detail-poster{
  box-shadow:
    0 25px 70px rgba(0,0,0,.60),
    0 0 40px rgba(255,45,85,.20);
  transition:.35s ease;
}

.detail-poster:hover{
  transform:translateY(18px) scale(1.02);
}

.detail-actions .ghost,
.detail-actions .primary{
  transition:.25s ease;
}

.detail-actions .ghost:hover,
.detail-actions .primary:hover{
  transform:translateY(-2px);
  box-shadow:
    0 10px 28px rgba(0,0,0,.35),
    0 0 18px rgba(255,45,85,.22);
}

.detail-right{
  backdrop-filter:blur(8px);
}

.detail-cast-list span{
  transition:.25s ease;
}

.detail-cast-list span:hover{
  background:rgba(255,45,85,.16);
  transform:translateY(-2px);
}
.detail-tagline{
  margin:-10px 0 18px;
  color:#d7cce8;
  font-size:18px;
  font-style:italic;
  opacity:.9;
  text-shadow:0 4px 18px rgba(0,0,0,.55);
}

.detail-trailer{
  margin:40px auto 70px;
}

.trailer-frame{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,45,85,.32);
  background:#05060f;
  box-shadow:
    0 25px 70px rgba(0,0,0,.55),
    0 0 26px rgba(255,45,85,.16);
}

.trailer-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
/* === Correctif admin : résultats + aperçu === */

.admin-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  gap:22px;
  align-items:start;
}

.tmdb-result{
  width:100%;
  max-width:100%;
  overflow:hidden;
}

.tmdb-result div{
  min-width:0;
}

.tmdb-result h3,
.tmdb-result p{
  overflow:hidden;
  text-overflow:ellipsis;
}

.tmdb-result p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.admin-preview{
  position:sticky;
  top:100px;
  min-width:0;
}

.preview-card{
  max-width:100%;
}

.preview-poster{
  min-height:0;
  height:420px;
  overflow:hidden;
}

.preview-poster img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.preview-body{
  max-height:260px;
  overflow:auto;
}

@media(max-width:900px){
  .admin-layout{
    grid-template-columns:1fr;
  }

  .admin-preview{
    position:static;
  }

  .preview-poster{
    height:360px;
  }
}
.genre-filter{

margin-left:auto;

padding:12px 18px;

background:#222036;

border:1px solid rgba(255,255,255,.12);

color:white;

border-radius:999px;

font:inherit;

cursor:pointer;

min-width:220px;

}
/* === Version 1.0 : accueil dynamique === */
.dynamic-hero{
  min-height:680px;
  background-size:cover;
  background-position:center;
  transition:background-image .6s ease-in-out;
}

.hero-dynamic-content{
  max-width:760px;
  position:relative;
  z-index:3;
}

.hero-meta{
  color:#f0dfff;
  font-weight:800;
  letter-spacing:.04em;
  margin:0 0 18px;
  text-shadow:0 0 18px rgba(255,45,85,.35);
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:26px;
}

.secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 21px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(255,45,85,.12);
  cursor:pointer;
  transition:.25s;
}

.secondary:hover{
  transform:translateY(-2px);
  border-color:rgba(255,45,85,.65);
  box-shadow:0 0 22px rgba(255,45,85,.25), inset 0 0 0 1px rgba(255,45,85,.18);
}

.stats-strip{
  margin-top:34px;
  padding:14px 16px;
  width:fit-content;
  max-width:100%;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(5,6,14,.55);
  backdrop-filter:blur(10px);
}

.stats-strip .badge i{
  font-size:18px;
  min-width:24px;
  text-align:right;
}

.hero-controls{
  display:flex;
  gap:10px;
  margin-top:24px;
}

.hero-controls button{
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  font-size:32px;
  line-height:1;
  cursor:pointer;
  transition:.25s;
}

.hero-controls button:hover{
  background:rgba(255,45,85,.25);
  border-color:rgba(255,45,85,.65);
}

.rail{
  grid-auto-flow:column;
  grid-auto-columns:minmax(180px, 1fr);
  grid-template-columns:none;
  overflow-x:auto;
  padding:4px 4px 18px;
  scroll-snap-type:x proximity;
}

.rail .card{
  scroll-snap-align:start;
}

.rail::-webkit-scrollbar{
  height:10px;
}

.rail::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg,var(--purple),var(--red));
  border-radius:999px;
}

.empty-state{
  color:var(--muted);
  padding:24px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.04);
  grid-column:1/-1;
}

@media(max-width:620px){
  .dynamic-hero{min-height:620px;}
  .hero-actions .primary,
  .hero-actions .secondary{width:100%;}
  .stats-strip{width:100%;}
  .hero-controls{justify-content:center;}
  .rail{grid-auto-columns:minmax(150px, 72%);}
}

/* === Ajustement : planète conservée + hero plus compact === */
.brand-orbit{
  position:relative;
  overflow:hidden;
  padding:42px 0 34px;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 50% 8%,rgba(139,44,255,.24),transparent 36%),
    radial-gradient(circle at 74% 30%,rgba(255,45,85,.13),transparent 30%),
    linear-gradient(180deg,rgba(3,4,11,.86),rgba(7,6,18,.58));
}

.brand-stars,
.brand-orbit::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.5;
  background-image:
    radial-gradient(circle at 12% 22%,#fff 0 1px,transparent 1px),
    radial-gradient(circle at 46% 12%,#fff 0 1px,transparent 1px),
    radial-gradient(circle at 76% 62%,#fff 0 1px,transparent 1px),
    radial-gradient(circle at 88% 24%,#fff 0 1px,transparent 1px);
  background-size:220px 220px,310px 310px,260px 260px,370px 370px;
  animation:starDrift 48s linear infinite;
}

.brand-orbit-inner{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  min-height:220px;
  text-align:left;
}

.planet-logo-wrap{
  position:relative;
  width:220px;
  height:220px;
  flex:0 0 220px;
  display:grid;
  place-items:center;
}

.planet-logo-wrap::before{
  content:"";
  position:absolute;
  inset:-18px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(195,77,255,.38),rgba(255,45,85,.13) 42%,transparent 68%);
  filter:blur(6px);
}

.planet-logo-wrap::after{
  content:"";
  position:absolute;
  width:290px;
  height:68px;
  border:1px solid rgba(195,77,255,.22);
  border-radius:50%;
  transform:rotate(-14deg);
  box-shadow:0 0 28px rgba(139,44,255,.22);
}

.planet-logo{
  position:relative;
  z-index:2;
  width:190px;
  height:190px;
  border-radius:50%;
  background:
    linear-gradient(90deg,rgba(3,4,11,.16),rgba(3,4,11,.18)),
    url("../images/planetestream.jpg");
  background-size:cover;
  background-position:center;
  box-shadow:
    inset -24px -18px 42px rgba(0,0,0,.38),
    inset 14px 12px 22px rgba(255,255,255,.06),
    0 0 34px rgba(139,44,255,.56),
    0 0 70px rgba(255,45,85,.16);
  animation:planetBreath 7s ease-in-out infinite;
}

.brand-copy h1{
  margin-top:8px;
  font-size:clamp(36px,6vw,76px);
  line-height:.9;
  letter-spacing:-.06em;
  font-weight:900;
}

.brand-copy h1 span{
  color:var(--purple-2);
  text-shadow:var(--glow);
}

.brand-copy p:not(.eyebrow){
  max-width:520px;
  margin-top:18px;
  color:#e6e1f3;
  font-size:18px;
  line-height:1.55;
}

.compact-hero{
  min-height:390px !important;
  padding:42px 0 36px !important;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.compact-hero .hero-dynamic-content{
  max-width:650px;
}

.compact-hero h1{
  font-size:clamp(32px,4.4vw,58px);
}

.compact-hero p:not(.eyebrow){
  font-size:16px;
  line-height:1.55;
  margin:14px 0 18px;
  max-width:610px;
}

.compact-hero .stats-strip{
  margin-top:22px;
}

.compact-hero .hero-actions{
  margin-top:18px;
}

.compact-hero .hero-controls{
  position:absolute;
  right:0;
  bottom:0;
  margin-top:0;
}

@keyframes planetBreath{
  0%,100%{transform:scale(1); filter:saturate(1.05)}
  50%{transform:scale(1.025); filter:saturate(1.22)}
}

@keyframes starDrift{
  from{background-position:0 0,0 0,0 0,0 0}
  to{background-position:220px 220px,-310px 310px,260px -260px,-370px 370px}
}

@media(max-width:900px){
  .brand-orbit-inner{
    flex-direction:column;
    text-align:center;
    gap:14px;
  }
  .brand-copy p:not(.eyebrow){
    margin-left:auto;
    margin-right:auto;
  }
  .compact-hero .hero-controls{
    position:static;
    margin-top:18px;
  }
}

@media(max-width:620px){
  .brand-orbit{padding:28px 0 24px;}
  .planet-logo-wrap{width:170px;height:170px;flex-basis:170px;}
  .planet-logo{width:145px;height:145px;}
  .planet-logo-wrap::after{width:220px;height:52px;}
  .compact-hero{min-height:auto !important;padding:34px 0 30px !important;}
}

/* Aperçus compacts : la fiche garde le synopsis, les cartes vont droit au pop-corn. */
.compact-hero .hero-dynamic-content > p:not(.eyebrow):not(.hero-meta){display:none}
.compact-hero{min-height:360px;padding:46px 0 38px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);padding:13px 18px;font-weight:800;color:#fff;backdrop-filter:blur(10px)}
.poster-link{display:block;color:inherit;text-decoration:none}
.card{display:flex;flex-direction:column}
.card-actions{display:flex;gap:8px;margin-top:12px}
.card-actions a{flex:1;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:9px 8px;font-size:12px;font-weight:800;text-decoration:none}
.card-play{background:linear-gradient(135deg,var(--purple),#651cff);box-shadow:0 0 18px rgba(139,44,255,.32);color:#fff}
.card-detail{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#eee}
.card-actions a:hover{filter:brightness(1.12)}
@media(max-width:620px){.compact-hero{min-height:320px}.card-actions{flex-direction:column}.hero-actions .secondary,.hero-actions .primary{width:auto;min-width:140px}}


/* Hero dynamique : effet de carrousel horizontal pour la sélection à la une. */
.dynamic-hero{
  isolation:isolate;
  transition:background-image .45s ease, background-position .72s cubic-bezier(.2,.8,.2,1);
}
.dynamic-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.10),rgba(255,255,255,0));
  opacity:0;
  transform:translateX(-120%);
}
.dynamic-hero.hero-slide-next::before{
  animation:heroLightSweepNext .72s ease both;
}
.dynamic-hero.hero-slide-prev::before{
  animation:heroLightSweepPrev .72s ease both;
}
.dynamic-hero.hero-slide-next .hero-dynamic-content{
  animation:heroContentNext .58s cubic-bezier(.2,.8,.2,1) both;
}
.dynamic-hero.hero-slide-prev .hero-dynamic-content{
  animation:heroContentPrev .58s cubic-bezier(.2,.8,.2,1) both;
}
.dynamic-hero.hero-slide-next::after,
.dynamic-hero.hero-slide-prev::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(circle at 80% 50%,rgba(195,77,255,.22),transparent 34%);
  animation:heroBackdropPulse .72s ease both;
}
@keyframes heroContentNext{
  0%{opacity:0;transform:translateX(42px);filter:blur(4px)}
  100%{opacity:1;transform:translateX(0);filter:blur(0)}
}
@keyframes heroContentPrev{
  0%{opacity:0;transform:translateX(-42px);filter:blur(4px)}
  100%{opacity:1;transform:translateX(0);filter:blur(0)}
}
@keyframes heroLightSweepNext{
  0%{opacity:0;transform:translateX(-120%)}
  30%{opacity:.42}
  100%{opacity:0;transform:translateX(120%)}
}
@keyframes heroLightSweepPrev{
  0%{opacity:0;transform:translateX(120%)}
  30%{opacity:.42}
  100%{opacity:0;transform:translateX(-120%)}
}
@keyframes heroBackdropPulse{
  0%{opacity:.08;transform:scale(1)}
  50%{opacity:.45;transform:scale(1.02)}
  100%{opacity:0;transform:scale(1.05)}
}
@media(prefers-reduced-motion:reduce){
  .dynamic-hero.hero-slide-next .hero-dynamic-content,
  .dynamic-hero.hero-slide-prev .hero-dynamic-content,
  .dynamic-hero.hero-slide-next::before,
  .dynamic-hero.hero-slide-prev::before,
  .dynamic-hero.hero-slide-next::after,
  .dynamic-hero.hero-slide-prev::after{animation:none}
}

/* Carrousel plus vif : 5 secondes, barre de progression et indicateur. */
.hero-carousel-status{
  display:flex;
  align-items:center;
  gap:14px;
  width:min(390px,100%);
  margin-top:16px;
}
.hero-progress{
  position:relative;
  flex:1;
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.hero-progress span{
  position:absolute;
  inset:0 auto 0 0;
  width:0%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--purple),var(--purple-2),var(--red));
  box-shadow:0 0 18px rgba(195,77,255,.7),0 0 20px rgba(255,45,85,.25);
}
.hero-progress-running .hero-progress span{
  animation:heroProgressFill 5s linear forwards;
}
.hero-paused .hero-progress span{
  animation-play-state:paused;
}
.hero-counter{
  min-width:58px;
  color:#f2dcff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-align:right;
  text-shadow:0 0 14px rgba(195,77,255,.35);
}
@keyframes heroProgressFill{
  from{width:0%}
  to{width:100%}
}

/* Transitions du hero un peu plus nerveuses. */
.dynamic-hero{
  transition:background-image .32s ease, background-position .45s cubic-bezier(.2,.8,.2,1);
}
.dynamic-hero.hero-slide-next::before{
  animation:heroLightSweepNext .48s ease both;
}
.dynamic-hero.hero-slide-prev::before{
  animation:heroLightSweepPrev .48s ease both;
}
.dynamic-hero.hero-slide-next .hero-dynamic-content{
  animation:heroContentNext .45s cubic-bezier(.2,.8,.2,1) both;
}
.dynamic-hero.hero-slide-prev .hero-dynamic-content{
  animation:heroContentPrev .45s cubic-bezier(.2,.8,.2,1) both;
}
.dynamic-hero.hero-slide-next::after,
.dynamic-hero.hero-slide-prev::after{
  animation:heroBackdropPulse .48s ease both;
}

/* Planète plus vivante : rotation lente, scintillement et étoile filante rare. */
.planet-logo{
  animation:planetLiving 150s linear infinite, planetGlowPulse 8s ease-in-out infinite;
}
.brand-stars::after{
  content:"";
  position:absolute;
  width:140px;
  height:1px;
  left:-18%;
  top:24%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);
  box-shadow:0 0 18px rgba(195,77,255,.65);
  transform:rotate(-17deg);
  opacity:0;
  animation:shootingStar 18s ease-in-out infinite;
}
.brand-orbit::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background-image:
    radial-gradient(circle at 18% 34%,rgba(255,255,255,.9) 0 1px,transparent 1px),
    radial-gradient(circle at 62% 20%,rgba(195,77,255,.9) 0 1px,transparent 1px),
    radial-gradient(circle at 84% 76%,rgba(255,255,255,.75) 0 1px,transparent 1px);
  background-size:260px 260px,340px 340px,420px 420px;
  animation:starTwinkle 4.8s ease-in-out infinite alternate;
}
@keyframes planetLiving{
  from{background-position:0% center; transform:rotate(0deg)}
  to{background-position:200% center; transform:rotate(360deg)}
}
@keyframes planetGlowPulse{
  0%,100%{filter:saturate(1.08) brightness(1); box-shadow:inset -24px -18px 42px rgba(0,0,0,.38),inset 14px 12px 22px rgba(255,255,255,.06),0 0 34px rgba(139,44,255,.56),0 0 70px rgba(255,45,85,.16)}
  50%{filter:saturate(1.26) brightness(1.05); box-shadow:inset -24px -18px 42px rgba(0,0,0,.38),inset 14px 12px 22px rgba(255,255,255,.08),0 0 46px rgba(139,44,255,.74),0 0 90px rgba(255,45,85,.22)}
}
@keyframes shootingStar{
  0%,72%{opacity:0; transform:translateX(0) translateY(0) rotate(-17deg)}
  76%{opacity:.85}
  84%{opacity:0; transform:translateX(145vw) translateY(40vh) rotate(-17deg)}
  100%{opacity:0; transform:translateX(145vw) translateY(40vh) rotate(-17deg)}
}
@keyframes starTwinkle{
  from{opacity:.25; filter:brightness(.9)}
  to{opacity:.58; filter:brightness(1.35)}
}

@media(max-width:620px){
  .hero-carousel-status{width:100%;}
  .hero-counter{min-width:54px;}
}
@media(prefers-reduced-motion:reduce){
  .hero-progress-running .hero-progress span,
  .planet-logo,
  .brand-stars,
  .brand-stars::after,
  .brand-orbit::after{animation:none!important}
}

/* === Salle de projection / page lecture === */
.watch-body{
  background:
    radial-gradient(circle at 72% 12%,rgba(195,77,255,.28),transparent 28%),
    radial-gradient(circle at 18% 18%,rgba(60,102,255,.2),transparent 24%),
    linear-gradient(180deg,#02030a 0%,#070511 50%,#02030a 100%);
}
.watch-loading{padding:80px 0;color:var(--muted)}
.watch-hero{
  margin:0;
  background-size:cover;
  background-position:center;
  position:relative;
}
.watch-veil{
  min-height:calc(100vh - 78px);
  padding:38px 0 58px;
  background:
    linear-gradient(180deg,rgba(2,3,10,.76),rgba(2,3,10,.98)),
    linear-gradient(90deg,rgba(2,3,10,.95),rgba(2,3,10,.45),rgba(2,3,10,.95));
}
.watch-shell{display:grid;gap:20px}
.watch-intro h1{
  margin-top:8px;
  font-size:clamp(34px,5vw,68px);
  line-height:.95;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.watch-meta-line{color:#d8d2ef;margin-top:12px;font-weight:700}
.cinema-frame{
  position:relative;
  aspect-ratio:16/9;
  width:100%;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.14);
  background:#000;
  box-shadow:0 35px 90px rgba(0,0,0,.7),0 0 42px rgba(139,44,255,.32);
}
.cinema-frame iframe{width:100%;height:100%;border:0;display:block;background:#000}
.cinema-frame:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  box-shadow:inset 0 0 80px rgba(0,0,0,.55);
}
.studio-bumper{
  position:absolute;
  inset:0;
  z-index:4;
  display:grid;
  place-items:center;
  align-content:center;
  gap:16px;
  background:radial-gradient(circle at 50% 42%,rgba(139,44,255,.28),transparent 30%),#02030a;
  transition:opacity .75s ease,visibility .75s ease;
}
.studio-bumper.hidden{opacity:0;visibility:hidden;pointer-events:none}
.bumper-planet{
  width:92px;height:92px;border-radius:50%;display:grid;place-items:center;
  font-size:54px;
  filter:drop-shadow(0 0 22px rgba(195,77,255,.8));
  animation:bumperFloat 1.15s ease both;
}
.studio-bumper strong{letter-spacing:.22em;font-size:13px;color:#eee;text-shadow:var(--glow)}
@keyframes bumperFloat{from{transform:scale(.8) rotate(-16deg);opacity:.2}to{transform:scale(1) rotate(0);opacity:1}}
.cinema-frame.is-playing{box-shadow:0 40px 110px rgba(0,0,0,.88),0 0 60px rgba(139,44,255,.24)}
.watch-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.ghost,.secondary{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#eee;padding:13px 18px;font-weight:800;
}
.watch-details-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  margin-top:30px;
}
.watch-panel{
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  padding:22px;
  box-shadow:0 18px 50px rgba(0,0,0,.26);
}
.rating-split{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:16px 0}
.rating-split > div{padding:16px;border-radius:16px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.08)}
.rating-label{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.rating-split strong,.viewer-panel strong{font-size:30px;line-height:1;color:#fff}
.rating-display{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:12px 0 14px;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.08);
}
.rating-display span{color:#ffd66b;font-size:20px;letter-spacing:1px;text-shadow:0 0 16px rgba(255,214,107,.28)}
.rating-display small{color:var(--muted);font-weight:800;white-space:nowrap}
.soft-note,.viewer-panel p{color:var(--muted);line-height:1.6;margin-top:12px}
.comments-section{margin-top:18px}
.comment-form{display:grid;gap:12px;margin-bottom:16px}
.form-row{display:grid;grid-template-columns:1fr 160px;gap:12px}
.comment-form input,.comment-form select,.comment-form textarea{
  width:100%;background:#0d0d1a;border:1px solid #30224e;color:#fff;border-radius:12px;padding:13px;outline:none;
}
.comment-form textarea{min-height:130px;resize:vertical;margin-top:0}
.comments-list{display:grid;gap:12px}
.comment-card{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  padding:18px;
}
.comment-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:10px}
.comment-head span{color:#ffd66b;font-size:13px;letter-spacing:.04em;white-space:nowrap}
.comment-card p{color:#e8e2f7;line-height:1.65;margin-bottom:10px}
.comment-card small{color:var(--muted)}
@media(max-width:800px){
  .watch-veil{min-height:auto;padding:30px 0 42px}
  .watch-details-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .watch-controls .primary,.watch-controls .ghost{width:100%}
}


/* === Finition v0.9.1 : boutons, admin et version === */
.secondary:hover,.ghost:hover,.primary:hover{transform:translateY(-1px)}
.catalogue-actions button,.catalogue-actions .primary,.catalogue-actions .ghost{min-height:48px;white-space:nowrap}
.catalogue-actions #resetBtn{background:rgba(255,255,255,.08)!important;color:#eee!important;border:1px solid rgba(255,255,255,.16)!important}
.catalogue-actions #resetBtn:hover{border-color:rgba(195,77,255,.55)!important;box-shadow:0 0 18px rgba(139,44,255,.24)!important}
.admin-version{margin:26px 0 0;color:var(--muted);font-size:12px;text-align:center;letter-spacing:.04em}
.version-pill{display:inline-flex;align-items:center;border:1px solid rgba(195,77,255,.28);background:rgba(139,44,255,.10);color:#ddd;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}
.preview-meta span{max-width:100%;}


/* === Communauté Discord v0.9.1 === */
.discord-link{
  color:#fff!important;
  opacity:1!important;
  padding:8px 13px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(88,101,242,.18),rgba(139,44,255,.12));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 0 14px rgba(88,101,242,.12);
  white-space:nowrap;
  transition:color .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;
}
.discord-link:hover{
  color:var(--purple-2)!important;
  border-color:rgba(195,77,255,.72);
  background:linear-gradient(135deg,rgba(139,44,255,.22),rgba(195,77,255,.14));
  box-shadow:0 0 22px rgba(139,44,255,.28),0 0 18px rgba(88,101,242,.2);
  transform:translateY(-1px);
}
.discord-nav-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  line-height:1;
}
.discord-icon-wrap{
  position:relative;
  display:inline-block;
  width:20px;
  height:16px;
  flex:0 0 20px;
}
.discord-icon{
  position:absolute;
  inset:0;
  width:20px;
  height:16px;
  object-fit:contain;
  transition:opacity .2s ease,transform .2s ease;
}
.discord-icon-violet{opacity:0}
.discord-nav-link:hover .discord-icon-white{opacity:0;transform:scale(.96)}
.discord-nav-link:hover .discord-icon-violet{opacity:1;transform:scale(1.04)}
.discord-cta{
  background:
    radial-gradient(circle at 10% 20%,rgba(88,101,242,.28),transparent 32%),
    linear-gradient(135deg,rgba(255,45,85,.14),transparent 30%),
    linear-gradient(135deg,rgba(139,44,255,.25),rgba(12,10,30,.92));
}
.discord-cta .eyebrow{margin-bottom:6px}
.discord-admin-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.discord-admin-box p{max-width:760px}
.footer-grid a{color:#fff}
.footer-grid a:hover{color:var(--purple-2);text-shadow:var(--glow)}
@media(max-width:900px){
  .discord-admin-box{align-items:flex-start;flex-direction:column}
}


/* === Navigation pixel-perfect v0.9.3 === */
.nav{
  min-height:78px;
}
.menu{
  align-items:center;
  gap:6px;
}
.menu a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 11px;
  border-radius:999px;
  color:#d9d5e6;
  font-weight:750;
  line-height:1;
  opacity:1;
  transition:color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.menu a::after,
.menu a.active::after{
  display:none!important;
}
.menu a:hover{
  color:#fff;
  background:rgba(255,255,255,.055);
}
.menu a.active{
  color:var(--purple-2)!important;
  background:rgba(139,44,255,.08);
  text-shadow:0 0 18px rgba(195,77,255,.35);
}
.discord-link{
  min-height:40px!important;
  padding:0 13px!important;
  margin-left:5px;
  transform:none;
}
.discord-link:hover{
  transform:none;
}
.discord-nav-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center;
  gap:8px;
  line-height:1;
}
.discord-icon-wrap{
  width:19px;
  height:15px;
  flex:0 0 19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform:translateY(0);
}
.discord-icon{
  width:19px;
  height:15px;
  object-fit:contain;
}
.nav-actions{
  display:flex;
  align-items:center;
}
.search-input{
  height:46px;
}


/* === Footer polish v0.9.5 === */
.site-footer{
  margin-top:34px;
  padding:42px 0 56px;
  border-top:1px solid rgba(195,77,255,.18);
  background:linear-gradient(180deg,rgba(3,4,11,.35),rgba(3,4,11,.86));
}
.site-footer .footer-grid{
  display:grid;
  grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(140px,.8fr));
  gap:48px;
  align-items:start;
}
.footer-brand{
  max-width:520px;
}
.footer-brand .logo{
  margin-bottom:12px;
}
.footer-brand p{
  max-width:520px;
  color:#c8c1df;
  line-height:1.55;
  margin:6px 0 0;
}
.footer-col{
  min-width:0;
}
.footer-col h4{
  color:#fff;
  font-size:15px;
  margin:0 0 14px;
  letter-spacing:.01em;
}
.footer-col ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
}
.footer-col li{
  list-style:none;
  margin:0;
  color:#d8d1f0;
  font-size:14px;
  line-height:1.35;
}
.site-footer a{
  color:#d8d1f0;
  transition:color .18s ease,text-shadow .18s ease;
}
.site-footer a:hover{
  color:var(--purple-2);
  text-shadow:var(--glow);
}
@media(max-width:900px){
  .site-footer .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:30px;
  }
  .footer-brand{
    grid-column:1 / -1;
  }
}
@media(max-width:620px){
  .site-footer .footer-grid{
    grid-template-columns:1fr;
    gap:26px;
  }
}

/* === Footer redesign v0.9.6 === */
.site-footer.footer-redesign{
  margin-top:38px;
  padding:56px 0 28px;
  border-top:1px solid rgba(195,77,255,.2);
  background:
    radial-gradient(circle at 16% 18%, rgba(195,77,255,.14), transparent 27%),
    radial-gradient(circle at 78% 8%, rgba(139,44,255,.11), transparent 30%),
    linear-gradient(180deg,rgba(3,4,11,.64),rgba(3,4,11,.95));
}
.footer-shell{
  display:grid;
  grid-template-columns:minmax(280px,0.82fr) minmax(560px,1.58fr);
  gap:64px;
  align-items:start;
}
.footer-brand-block{
  min-width:0;
  max-width:430px;
}
.footer-logo{
  display:inline-block;
  margin:0 0 16px;
}
.footer-tagline{
  max-width:360px;
  color:#fff;
  font-weight:900;
  font-size:18px;
  line-height:1.28;
  margin:0 0 14px;
}
.footer-description{
  max-width:410px;
  color:#c9c2de;
  font-size:15px;
  line-height:1.58;
  margin:0 0 16px;
}
.footer-meta{
  color:#a99fca;
  font-size:13px;
  letter-spacing:.02em;
  margin:0;
}
.footer-links-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:40px;
  align-items:start;
}
.footer-redesign .footer-col{
  min-width:0;
}
.footer-redesign .footer-col h4{
  color:#fff;
  font-size:15px;
  font-weight:900;
  line-height:1;
  margin:2px 0 18px;
}
.footer-redesign .footer-col ul{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
}
.footer-redesign .footer-col li{
  list-style:none;
  margin:0;
  color:#d9d2f0;
  font-size:14px;
  line-height:1.36;
}
.footer-redesign a{
  color:#d9d2f0;
  display:inline-block;
  transition:color .18s ease,text-shadow .18s ease,transform .18s ease;
}
.footer-redesign a:hover{
  color:var(--purple-2);
  text-shadow:0 0 18px rgba(195,77,255,.55);
  transform:translateX(2px);
}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:44px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.07);
  color:#9f96bd;
  font-size:13px;
}
.footer-version{
  color:#c9c2de;
  white-space:nowrap;
}
@media(max-width:980px){
  .footer-shell{
    grid-template-columns:1fr;
    gap:38px;
  }
  .footer-brand-block{
    max-width:620px;
  }
  .footer-links-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
  }
}
@media(max-width:700px){
  .site-footer.footer-redesign{
    padding-top:42px;
  }
  .footer-links-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .footer-bottom{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* === Planète Stream v1.0 Communauté : viewers, likes et réponses === */
.comments-title-row{
  align-items:flex-start;
  gap:16px;
}
.comments-title-row .ghost{
  white-space:nowrap;
}
.form-row.one-col{
  grid-template-columns:1fr;
}
.viewer-mini{
  display:flex;
  align-items:center;
  gap:8px;
  padding:11px 13px;
  border:1px solid rgba(195,77,255,.22);
  border-radius:14px;
  background:rgba(139,44,255,.08);
  color:#ddd;
  font-size:14px;
}
.viewer-mini strong{color:#fff}
.viewer-card-mini{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.viewer-card-mini small{
  display:block;
  margin-top:4px;
  color:#cfc7e8;
  font-size:12px;
  font-weight:800;
}
.viewer-avatar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.24), transparent 28%),
    linear-gradient(135deg, rgba(139,44,255,.95), rgba(195,77,255,.55));
  box-shadow:0 0 22px rgba(139,44,255,.32);
  border:1px solid rgba(255,255,255,.22);
  font-size:21px;
}
.viewer-avatar.small{
  width:28px;
  height:28px;
  flex-basis:28px;
  font-size:15px;
}
.community-head{
  align-items:flex-start;
}
.comment-author{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.comment-author strong{
  display:block;
  color:#fff;
  overflow:hidden;
  text-overflow:ellipsis;
}
.comment-author small{
  display:block;
  margin-top:3px;
}
.comment-stars{
  color:#ffd66b!important;
  text-shadow:0 0 16px rgba(255,214,107,.28);
}
.comment-reply-pill{
  border:1px solid rgba(195,77,255,.25);
  border-radius:999px;
  padding:5px 9px;
  background:rgba(139,44,255,.12);
  color:#e8dbff!important;
  font-size:12px!important;
  font-weight:900;
}
.comment-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:12px;
}
.comment-action{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:8px 12px;
  background:rgba(255,255,255,.06);
  color:#eee;
  font-size:13px;
  font-weight:900;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.comment-action:hover{
  transform:translateY(-1px);
  border-color:rgba(195,77,255,.6);
  box-shadow:0 0 18px rgba(139,44,255,.22);
}
.comment-action.is-active{
  color:#fff;
  background:linear-gradient(135deg,rgba(139,44,255,.5),rgba(195,77,255,.3));
  border-color:rgba(195,77,255,.7);
}
.comment-replies{
  display:grid;
  gap:10px;
  margin-top:14px;
  padding-left:18px;
  border-left:2px solid rgba(195,77,255,.24);
}
.comment-card.is-reply{
  background:rgba(139,44,255,.07);
  border-color:rgba(195,77,255,.16);
  box-shadow:none;
}
.reply-form{
  display:grid;
  gap:10px;
  margin-top:14px;
  padding:14px;
  border-radius:16px;
  background:rgba(0,0,0,.2);
  border:1px solid rgba(195,77,255,.18);
}
.reply-form textarea{
  width:100%;
  min-height:92px;
  resize:vertical;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  color:#fff;
  background:#0d0d1a;
  padding:13px;
  outline:none;
  font:inherit;
}
.reply-form textarea:focus{
  border-color:var(--purple-2);
  box-shadow:var(--glow);
}
.reply-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
#favoriteBtn.is-active{
  border-color:rgba(195,77,255,.72);
  background:linear-gradient(135deg,rgba(139,44,255,.32),rgba(195,77,255,.16));
  box-shadow:0 0 20px rgba(139,44,255,.22);
}
@media(max-width:800px){
  .comments-title-row{display:grid}
  .comments-title-row .ghost{width:100%}
  .comment-head.community-head{display:grid}
  .comment-stars{white-space:normal!important}
  .comment-replies{padding-left:10px}
  .reply-actions .primary,.reply-actions .ghost{width:100%}
}

/* === Planète Stream v1.2 : compte spectateur fluide === */
.account-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border:1px solid rgba(195,77,255,.28);
  border-radius:999px;
  background:rgba(139,44,255,.10);
  color:#fff;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 0 20px rgba(139,44,255,.18);
  transition:.22s ease;
}
.account-link:hover,
.account-link.is-connected{
  border-color:rgba(195,77,255,.58);
  background:linear-gradient(135deg,rgba(139,44,255,.28),rgba(195,77,255,.14));
  transform:translateY(-1px);
}
.account-page{
  padding:54px 0 80px;
}
.account-hero{
  padding:34px;
  margin-bottom:22px;
  background:
    radial-gradient(circle at 85% 10%, rgba(195,77,255,.22), transparent 30%),
    linear-gradient(135deg, rgba(12,11,25,.96), rgba(21,17,42,.82));
}
.account-hero h1{
  max-width:820px;
  margin:10px 0 14px;
  font-size:clamp(34px,5vw,58px);
  line-height:1;
  text-transform:uppercase;
  letter-spacing:-.055em;
}
.account-hero p{
  max-width:760px;
  color:#d8d0ed;
  line-height:1.65;
}
.account-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:18px;
  align-items:stretch;
}
.account-card{
  padding:24px;
  margin:0;
}
.account-card h2{
  margin:8px 0 10px;
  font-size:24px;
}
.account-card p{
  color:var(--muted);
  line-height:1.55;
  margin-bottom:16px;
}
.account-form{
  display:grid;
  gap:11px;
}
.account-form label{
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.account-form input,
.account-form select{
  width:100%;
  border:1px solid rgba(195,77,255,.22);
  border-radius:13px;
  color:#fff;
  background:#0b0b18;
  padding:13px 14px;
  outline:none;
}
.account-form input:focus,
.account-form select:focus{
  border-color:var(--purple-2);
  box-shadow:var(--glow);
}
.account-state{
  display:grid;
  gap:14px;
}
.account-viewer-line{
  align-items:center;
}
.account-status{
  min-height:24px;
  margin-top:18px;
  color:#d8d0ed;
  font-weight:800;
}
.account-status[data-status="ok"]{color:#9ff5c3}
.account-status[data-status="error"]{color:#ff9fb3}
.account-status[data-status="pending"]{color:#d9b7ff}

@media(max-width:980px){
  .account-grid{grid-template-columns:1fr}
  .account-link{width:auto}
}

/* === Planète Stream v1.3.1 : menu membre sécurisé === */
.account-menu-wrap{
  position:relative;
}
.account-link .account-avatar{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  margin-right:6px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(139,44,255,.65),rgba(195,77,255,.24));
  box-shadow:0 0 18px rgba(139,44,255,.28);
}
.account-link .account-chevron{
  margin-left:6px;
  color:#d8b5ff;
  font-size:11px;
}
.account-dropdown{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:60;
  width:250px;
  display:none;
  padding:10px;
  border:1px solid rgba(195,77,255,.28);
  border-radius:18px;
  background:rgba(9,8,20,.97);
  box-shadow:0 20px 50px rgba(0,0,0,.48), 0 0 30px rgba(139,44,255,.22);
  backdrop-filter:blur(16px);
}
.account-dropdown.is-open{
  display:grid;
  gap:6px;
  animation:accountDrop .16s ease both;
}
.account-dropdown::before{
  content:"";
  position:absolute;
  top:-7px;
  right:28px;
  width:12px;
  height:12px;
  transform:rotate(45deg);
  background:rgba(9,8,20,.97);
  border-left:1px solid rgba(195,77,255,.28);
  border-top:1px solid rgba(195,77,255,.28);
}
.account-dropdown-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  margin-bottom:4px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(139,44,255,.22),rgba(255,255,255,.04));
}
.account-dropdown-head strong{
  display:block;
  color:#fff;
}
.account-dropdown-head small{
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.account-dropdown a,
.account-dropdown button{
  width:100%;
  display:flex;
  align-items:center;
  gap:8px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#eee;
  padding:10px 11px;
  font:inherit;
  font-size:13px;
  font-weight:800;
  text-align:left;
  cursor:pointer;
}
.account-dropdown a:hover,
.account-dropdown button:hover{
  background:rgba(195,77,255,.13);
  color:#fff;
}
.account-grid-secure .account-card:nth-child(1){
  border-color:rgba(195,77,255,.30);
}
@keyframes accountDrop{
  from{opacity:0;transform:translateY(-6px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:980px){
  .account-dropdown{
    right:auto;
    left:0;
    width:min(280px, calc(100vw - 28px));
  }
}

/* === Planète Stream V2.1 : avis et interactions === */
.comments-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(195,77,255,.22);
  border-radius:16px;
  background:rgba(139,44,255,.08);
}
.comments-toolbar label{
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:nowrap;
}
.comments-toolbar select,
.edit-form select{
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  color:#fff;
  background:#0d0d1a;
  padding:10px 12px;
  outline:none;
  font:inherit;
}
.profile-trigger{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.profile-trigger:disabled{cursor:default}
.comment-author-copy{min-width:0;display:block}
.comment-action.danger:hover{
  border-color:rgba(255,96,121,.72);
  box-shadow:0 0 18px rgba(255,96,121,.22);
}
.edit-form{
  display:grid;
  gap:10px;
  margin-top:14px;
  padding:14px;
  border-radius:16px;
  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,214,107,.22);
}
.edit-form textarea{
  width:100%;
  min-height:110px;
  resize:vertical;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  color:#fff;
  background:#0d0d1a;
  padding:13px;
  outline:none;
  font:inherit;
}
.edit-form textarea:focus,
.edit-form select:focus,
.comments-toolbar select:focus{
  border-color:var(--purple-2);
  box-shadow:var(--glow);
}
.profile-mini-modal{
  position:fixed;
  inset:0;
  z-index:100;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(10px);
}
.profile-mini-card{
  width:min(460px,100%);
  position:relative;
  border:1px solid rgba(195,77,255,.32);
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 12%,rgba(195,77,255,.20),transparent 28%),
    linear-gradient(180deg,rgba(18,15,37,.98),rgba(7,8,19,.98));
  box-shadow:0 24px 80px rgba(0,0,0,.48), var(--glow);
  padding:24px;
}
.profile-close{
  position:absolute;
  top:12px;
  right:12px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:22px;
}
.profile-mini-head{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}
.viewer-avatar.big{
  width:62px;
  height:62px;
  flex-basis:62px;
  font-size:30px;
}
.profile-mini-head h3{
  margin:4px 0 4px;
  font-size:28px;
  line-height:1;
}
.profile-mini-head small,
.profile-mini-card p{color:var(--muted);line-height:1.55}
.profile-mini-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:18px 0;
}
.profile-mini-stats span{
  display:grid;
  gap:4px;
  padding:13px 10px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.055);
  text-align:center;
}
.profile-mini-stats strong{font-size:24px;color:#fff;line-height:1}
.profile-mini-stats small{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:800px){
  .comments-toolbar{align-items:stretch;flex-direction:column}
  .comments-toolbar select{width:100%}
  .profile-mini-stats{grid-template-columns:1fr}
}

/* === Planète Stream V2.1.1 : polish avis & interactions === */
.comment-card{
  position:relative;
  overflow:hidden;
}
.comment-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background:linear-gradient(120deg, transparent 0%, rgba(195,77,255,.08) 42%, transparent 72%);
  transform:translateX(-120%);
  transition:transform .75s ease;
}
.comment-card:hover::before{transform:translateX(120%)}
.comment-rating-badge{
  display:inline-grid;
  gap:3px;
  justify-items:end;
  min-width:132px;
  border:1px solid rgba(255,214,107,.22);
  border-radius:14px;
  padding:8px 11px;
  background:linear-gradient(135deg,rgba(255,214,107,.12),rgba(139,44,255,.08));
  box-shadow:0 0 18px rgba(255,214,107,.08);
}
.comment-rating-badge strong{
  color:#fff;
  font-size:12px;
  line-height:1;
}
.comment-rating-badge .comment-stars{
  font-size:12px!important;
  letter-spacing:.02em;
}
.like-action{
  min-width:74px;
}
.like-action small{
  color:#e9ddff!important;
  font-size:11px!important;
  font-weight:800;
  margin-left:2px;
}
.like-action.is-active{
  background:linear-gradient(135deg,rgba(255,45,120,.28),rgba(139,44,255,.28));
  border-color:rgba(255,94,150,.62);
  box-shadow:0 0 20px rgba(255,45,120,.18),0 0 22px rgba(139,44,255,.16);
}
.like-action.like-pop{
  animation:likePulse .36s ease;
}
@keyframes likePulse{
  0%{transform:scale(1)}
  45%{transform:scale(1.08)}
  100%{transform:scale(1)}
}
.comment-replies{
  position:relative;
  border-left:0;
  padding-left:26px;
}
.comment-replies::before{
  content:"";
  position:absolute;
  left:8px;
  top:4px;
  bottom:4px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(to bottom, rgba(195,77,255,.74), rgba(255,45,85,.18));
  box-shadow:0 0 14px rgba(139,44,255,.34);
}
.comment-card.is-reply::after{
  content:"";
  position:absolute;
  left:-18px;
  top:28px;
  width:18px;
  height:2px;
  background:rgba(195,77,255,.45);
  box-shadow:0 0 12px rgba(139,44,255,.3);
}
.comments-list.is-refreshing .comment-card{
  animation:commentRefresh .42s ease;
}
@keyframes commentRefresh{
  from{opacity:.66;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
.profile-mini-card{
  animation:profilePop .22s ease;
}
@keyframes profilePop{
  from{opacity:0;transform:translateY(12px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:800px){
  .comment-rating-badge{justify-items:start;min-width:0;width:max-content;max-width:100%}
  .comment-replies{padding-left:18px}
  .comment-card.is-reply::after{left:-12px;width:12px}
}

/* Planète Stream V2.2 · profils & badges */
.comment-inline-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:5px;
}
.comment-inline-badges em{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border:1px solid rgba(195,77,255,.38);
  border-radius:999px;
  background:rgba(139,44,255,.12);
  color:#f3dcff;
  padding:3px 7px;
  font-size:10px;
  font-style:normal;
  font-weight:900;
  letter-spacing:.02em;
}
.profile-mini-card-wide{
  width:min(620px, calc(100vw - 32px));
}
.profile-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0 4px;
}
.profile-badges span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(195,77,255,.36);
  border-radius:999px;
  background:linear-gradient(135deg, rgba(139,44,255,.18), rgba(255,45,120,.10));
  color:#fff;
  padding:7px 10px;
  font-size:12px;
  font-weight:900;
  box-shadow:0 0 18px rgba(139,44,255,.10);
}
.profile-recent{
  margin-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:16px;
}
.profile-recent h4{
  margin:0 0 12px;
  color:#fff;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.profile-review-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:start;
  border:1px solid rgba(255,255,255,.08);
  border-radius:15px;
  background:rgba(255,255,255,.035);
  padding:12px;
  margin-top:10px;
  transition:.2s ease;
}
.profile-review-item:hover{
  transform:translateY(-2px);
  border-color:rgba(195,77,255,.48);
  box-shadow:0 0 22px rgba(139,44,255,.16);
}
.profile-review-rating{
  display:grid;
  place-items:center;
  min-width:54px;
  border:1px solid rgba(255,211,94,.34);
  border-radius:12px;
  background:rgba(255,211,94,.10);
  color:#ffe38a;
  padding:8px;
  font-weight:900;
}
.profile-review-item strong{
  display:block;
  color:#fff;
  margin-bottom:2px;
}
.profile-review-item small{
  display:block;
  color:var(--muted);
  margin-bottom:7px;
  font-size:12px;
}
.profile-review-item em{
  display:block;
  color:#e9ddff;
  font-style:normal;
  line-height:1.45;
  font-size:13px;
}
@media(max-width:700px){
  .profile-mini-card-wide{width:calc(100vw - 24px)}
  .profile-review-item{grid-template-columns:1fr}
  .profile-review-rating{width:max-content}
}
.comment-card.is-highlighted{
  animation:commentTargetGlow 2.4s ease;
}
@keyframes commentTargetGlow{
  0%{box-shadow:0 0 0 rgba(195,77,255,0);border-color:rgba(195,77,255,.28)}
  25%{box-shadow:0 0 38px rgba(195,77,255,.38);border-color:rgba(255,211,94,.58)}
  100%{box-shadow:0 0 0 rgba(195,77,255,0);border-color:rgba(255,255,255,.08)}
}

/* V2.3 · Hall du Cinéma */
.cinema-hall{
  margin:32px auto 44px;
  scroll-margin-top:100px;
}
.hall-shell{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(195,77,255,.28);
  border-radius:28px;
  padding:28px;
  background:
    radial-gradient(circle at 12% 0%, rgba(195,77,255,.28), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(73,120,255,.18), transparent 30%),
    linear-gradient(145deg, rgba(7,8,19,.94), rgba(18,13,35,.94));
  box-shadow:0 28px 90px rgba(0,0,0,.45), 0 0 55px rgba(139,44,255,.14);
}
.hall-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background-image:
    radial-gradient(circle at 15% 18%, #fff 0 1px, transparent 1px),
    radial-gradient(circle at 76% 9%, #fff 0 1px, transparent 1px),
    radial-gradient(circle at 53% 72%, #fff 0 1px, transparent 1px);
  background-size:220px 220px, 320px 320px, 420px 420px;
  mask-image:linear-gradient(to bottom,#000,transparent 90%);
}
.hall-shell > *{position:relative;z-index:1}
.hall-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  margin-bottom:20px;
}
.hall-head h2{
  margin:4px 0 8px;
  font-size:clamp(27px,4vw,44px);
  line-height:1;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.hall-head p:not(.eyebrow){
  color:var(--muted);
  line-height:1.6;
  max-width:680px;
}
.hall-cta{white-space:nowrap}
.hall-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:20px 0;
}
.hall-stats span{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:14px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(10px);
}
.hall-stats strong{
  display:block;
  font-size:28px;
  line-height:1;
  color:#fff;
  text-shadow:0 0 20px rgba(195,77,255,.45);
}
.hall-stats small{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:12px;
}
.hall-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}
.hall-bottom-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:14px;
  margin-top:14px;
}
.hall-card{
  min-height:210px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(14,13,30,.86), rgba(7,8,19,.86));
  box-shadow:0 18px 46px rgba(0,0,0,.30);
  padding:18px;
}
.hall-card h3{
  font-size:16px;
  margin-bottom:14px;
}
.hall-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:6px;
}
.hall-card-head span{
  color:var(--muted);
  font-size:12px;
}
.hall-muted{
  color:var(--muted);
  line-height:1.55;
  font-size:14px;
}
.hall-mini-row{
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:11px;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.07);
}
.hall-mini-row:first-of-type{border-top:0;padding-top:0}
.hall-mini-row strong,
.hall-event strong,
.hall-feature-review strong,
.hall-welcome-card strong,
.hall-member-row strong{
  display:block;
  color:#fff;
  font-size:14px;
}
.hall-mini-row small,
.hall-event small,
.hall-feature-review small,
.hall-welcome-card small,
.hall-member-row small{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:3px;
}
.hall-mini-row em{
  color:#e9ddff;
  font-style:normal;
  font-size:12px;
}
.hall-poster-dot{
  width:42px;
  height:58px;
  border-radius:10px;
  background:#171827 center/cover no-repeat;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 24px rgba(0,0,0,.35);
}
.hall-feature-review{
  display:block;
  border-top:1px solid rgba(255,255,255,.07);
  padding-top:14px;
}
.hall-feature-review .viewer-avatar,
.hall-welcome-card .viewer-avatar.big{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:16px;
  background:rgba(195,77,255,.16);
  border:1px solid rgba(195,77,255,.30);
  box-shadow:0 0 26px rgba(139,44,255,.18);
  margin-bottom:10px;
}
.hall-feature-review p{
  margin:12px 0;
  color:#e9e5f5;
  line-height:1.5;
  font-size:14px;
}
.hall-feature-review em{
  color:#ffd36c;
  font-style:normal;
  font-size:13px;
}
.hall-welcome-card{
  text-align:center;
  padding-top:6px;
}
.hall-welcome-card .viewer-avatar.big{
  width:58px;
  height:58px;
  margin:0 auto 12px;
  border-radius:20px;
  font-size:26px;
}
.hall-welcome-card p{
  margin-top:12px;
  color:#e9e5f5;
  font-size:14px;
  line-height:1.5;
}
.hall-member-row{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:8px 10px;
  align-items:center;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.07);
}
.hall-member-row:first-of-type{border-top:0;padding-top:0}
.hall-member-row small{grid-column:2}
.hall-timeline{
  display:grid;
  gap:10px;
}
.hall-event{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:12px;
  align-items:flex-start;
  padding:12px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:16px;
  background:rgba(255,255,255,.04);
  transition:.22s ease;
}
.hall-event:hover,
.hall-mini-row:hover,
.hall-feature-review:hover{
  transform:translateY(-2px);
}
.hall-event > span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:14px;
  background:rgba(139,44,255,.16);
  border:1px solid rgba(195,77,255,.28);
}
.hall-event em{
  display:block;
  margin-top:6px;
  color:#ffd36c;
  font-style:normal;
  font-size:12px;
}
@media(max-width:1050px){
  .hall-grid{grid-template-columns:repeat(2,1fr)}
  .hall-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .cinema-hall{margin-top:22px}
  .hall-shell{padding:18px;border-radius:22px}
  .hall-head{display:block}
  .hall-cta{display:inline-flex;margin-top:14px}
  .hall-stats{grid-template-columns:repeat(2,1fr)}
  .hall-grid{grid-template-columns:1fr}
  .hall-card{min-height:auto}
}

/* === Planète Stream V2.4 : avatars officiels Planétiens === */
.viewer-avatar,
.account-link .account-avatar,
.avatar-choice-img{
  overflow:hidden;
  position:relative;
}
.viewer-avatar img,
.account-link .account-avatar img,
.avatar-choice-img img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:inherit;
}
.viewer-avatar.big img{border-radius:inherit}
.account-link .account-avatar{
  flex:0 0 24px;
  padding:0;
}
.avatar-gallery{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}
.avatar-gallery.compact{
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:9px;
  margin-top:8px;
}
.avatar-choice{
  display:grid;
  gap:7px;
  justify-items:center;
  align-content:start;
  min-height:112px;
  padding:10px 8px;
  border:1px solid rgba(195,77,255,.18);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(139,44,255,.10), rgba(255,255,255,.025));
  color:#fff;
  text-align:center;
  font-size:11px;
  font-weight:900;
  transition:.22s ease;
}
.avatar-gallery.compact .avatar-choice{
  min-height:88px;
  padding:8px 6px;
  font-size:10px;
}
.avatar-choice:hover{
  transform:translateY(-3px) scale(1.02);
  border-color:rgba(195,77,255,.55);
  box-shadow:0 0 26px rgba(139,44,255,.24);
}
.avatar-choice.is-selected{
  border-color:rgba(255,255,255,.72);
  background:linear-gradient(135deg, rgba(139,44,255,.34), rgba(195,77,255,.18));
  box-shadow:0 0 28px rgba(195,77,255,.36);
}
.avatar-choice-img{
  width:62px;
  height:62px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 0 20px rgba(139,44,255,.22);
}
.avatar-gallery.compact .avatar-choice-img{
  width:48px;
  height:48px;
}
.account-avatar-editor{
  display:grid;
  gap:8px;
  margin:6px 0 12px;
}
.account-avatar-editor label{
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.avatar-reserved-note{
  padding:12px 13px;
  margin:4px 0 12px;
  border:1px solid rgba(255,215,112,.26);
  border-radius:14px;
  background:rgba(255,198,70,.08);
  color:#ffe7a5;
  font-size:13px;
  font-weight:800;
}
.hall-member-row{
  grid-template-columns:28px 34px 1fr!important;
}
.hall-member-row .hall-member-avatar{
  grid-column:2;
}
.hall-member-row strong{
  grid-column:3;
}
.hall-member-row small{
  grid-column:3!important;
}
@media (max-width:620px){
  .avatar-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .avatar-gallery.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Planète Stream V2.5 · réputation, badges et carte de Planétien */
.planetiens-card{
  display:grid;
  gap:18px;
  padding:18px;
  border:1px solid rgba(195,77,255,.32);
  border-radius:20px;
  background:
    radial-gradient(circle at 12% 12%, rgba(195,77,255,.28), transparent 28%),
    linear-gradient(135deg, rgba(35,19,62,.88), rgba(8,9,22,.92));
  box-shadow:0 18px 50px rgba(0,0,0,.28), 0 0 36px rgba(139,44,255,.16);
}
.planetiens-head{
  display:flex;
  align-items:center;
  gap:16px;
}
.planetiens-head h2{
  margin:3px 0 4px;
  font-size:30px;
  letter-spacing:-.04em;
}
.planetiens-head small{color:var(--muted);font-weight:800}
.viewer-avatar.giant{
  width:82px;
  height:82px;
  min-width:82px;
  border-radius:50%;
  padding:3px;
  background:linear-gradient(135deg,#8b2cff,#ff2fa8);
  box-shadow:0 0 24px rgba(195,77,255,.5);
}
.viewer-avatar.giant img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.reputation-panel{
  display:grid;
  gap:10px;
  padding:13px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  background:rgba(255,255,255,.045);
}
.reputation-panel>div:first-child{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  font-weight:900;
}
.reputation-panel span{color:#f4eaff}
.reputation-panel strong{color:#fff;text-shadow:0 0 14px rgba(195,77,255,.45)}
.reputation-bar{
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
}
.reputation-bar i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#8b2cff,#ff2fa8,#ffcc66);
  box-shadow:0 0 18px rgba(195,77,255,.55);
}
.account-stat-grid{margin:0}
.account-badge-wall{margin-top:0}
.profile-badges span[class*="badge-"]{
  position:relative;
}
.profile-badges .badge-common{border-color:rgba(255,255,255,.16)}
.profile-badges .badge-rare{border-color:rgba(68,179,255,.38);box-shadow:0 0 14px rgba(68,179,255,.12)}
.profile-badges .badge-epic{border-color:rgba(195,77,255,.55);box-shadow:0 0 18px rgba(195,77,255,.16)}
.profile-badges .badge-legendary{border-color:rgba(255,205,100,.6);box-shadow:0 0 20px rgba(255,205,100,.18);color:#ffe6a6}
.account-recent{margin-top:18px}
.profile-reputation{margin:14px 0 12px}
.hall-member-row-rich{
  display:grid;
  grid-template-columns:auto auto 1fr;
  align-items:center;
  column-gap:9px;
}
.hall-member-row-rich small{
  grid-column:3;
  margin-top:2px;
}
.account-dropdown-head small{
  display:block;
  max-width:170px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:620px){
  .planetiens-head{align-items:flex-start}
  .viewer-avatar.giant{width:68px;height:68px;min-width:68px}
  .planetiens-head h2{font-size:24px}
  .reputation-panel>div:first-child{align-items:flex-start;flex-direction:column;gap:4px}
}

/* === Planète Stream V2.5.1 : note rapide indépendante === */
.quick-rating-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,320px);
  gap:18px;
  align-items:center;
  margin-bottom:16px;
  border-color:rgba(255,214,107,.22);
  background:
    radial-gradient(circle at 90% 18%, rgba(255,214,107,.12), transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
}
.quick-rating-form h3{
  margin:4px 0 0;
  font-size:22px;
  color:#fff;
}
.quick-rating-controls{
  display:grid;
  gap:10px;
}
.quick-rating-controls select{
  width:100%;
  background:#0d0d1a;
  border:1px solid rgba(255,214,107,.32);
  color:#fff;
  border-radius:12px;
  padding:13px;
  outline:none;
}
.quick-rating-controls select:focus{
  border-color:#ffd66b;
  box-shadow:0 0 20px rgba(255,214,107,.18);
}
.quick-rating-form .form-help{
  grid-column:1 / -1;
  margin-top:0;
}
.quick-rating-form button:disabled,
.quick-rating-form select:disabled{
  opacity:.55;
  cursor:not-allowed;
}
@media(max-width:800px){
  .quick-rating-form{grid-template-columns:1fr}
}

/* V2.5.2 - confort mot de passe */
.password-field{
  position:relative;
  display:flex;
  align-items:center;
}
.password-field input{
  width:100%;
  padding-right:54px;
}
.password-toggle{
  position:absolute;
  right:10px;
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(195,77,255,.25);
  color:#ded8ff;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.password-toggle:hover{
  transform:translateY(-1px);
  background:rgba(139,44,255,.16);
  border-color:rgba(195,77,255,.65);
  box-shadow:0 0 18px rgba(139,44,255,.35);
}
.password-toggle svg{
  width:21px;
  height:21px;
  fill:currentColor;
}
.password-toggle.is-visible{
  color:#fff;
  background:linear-gradient(135deg,rgba(139,44,255,.34),rgba(195,77,255,.18));
}
.password-toggle.is-visible::after{
  content:"";
  position:absolute;
  width:23px;
  height:2px;
  border-radius:999px;
  background:#fff;
  transform:rotate(-38deg);
  box-shadow:0 0 8px rgba(255,255,255,.7);
}

/* V2.5.3 - fils de réponses imbriqués */
.comment-card.is-reply .comment-action[data-reply-comment]{
  border-color:rgba(139,44,255,.34);
}
.comment-card[data-depth="2"]{background:rgba(139,44,255,.055)}
.comment-card[data-depth="3"],
.comment-card[data-depth="4"],
.comment-card[data-depth="5"],
.comment-card[data-depth="6"]{background:rgba(139,44,255,.04)}
.comment-card[data-depth="3"] .comment-replies,
.comment-card[data-depth="4"] .comment-replies,
.comment-card[data-depth="5"] .comment-replies,
.comment-card[data-depth="6"] .comment-replies{
  padding-left:18px;
}
.comment-card[data-depth="3"] .comment-replies::before,
.comment-card[data-depth="4"] .comment-replies::before,
.comment-card[data-depth="5"] .comment-replies::before,
.comment-card[data-depth="6"] .comment-replies::before{
  opacity:.55;
}
@media (max-width:700px){
  .comment-replies{padding-left:14px}
  .comment-card.is-reply::after{left:-10px;width:10px}
}

/* V2.5.4 - Fluidité des discussions */
.reply-target{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  max-width:100%;
  margin:2px 0 9px;
  padding:5px 9px;
  border:1px solid rgba(195,77,255,.2);
  border-radius:999px;
  background:rgba(139,44,255,.10);
  color:#d9c7ff;
  font-size:12px;
  font-weight:800;
}
.reply-target strong{color:#fff}
.comment-replies.is-flat-thread{
  padding-left:16px;
}
.comment-card.is-flat-depth .comment-replies{
  padding-left:0;
  margin-left:0;
}
.comment-card.is-flat-depth .comment-replies::before,
.comment-card.is-flat-depth::after{
  opacity:.35;
}
.comment-card[data-actual-depth="4"],
.comment-card[data-actual-depth="5"],
.comment-card[data-actual-depth="6"]{
  margin-left:0;
}
@media(max-width:700px){
  .reply-target{font-size:11px;width:100%;justify-content:flex-start}
  .comment-replies.is-flat-thread{padding-left:10px}
  .comment-card.is-flat-depth .comment-replies{padding-left:0}
}

/* V2.5.5 - Discussions compactes : on garde le fil lisible même avec beaucoup de réponses */
.comment-replies.is-flat-thread{
  display:grid;
  gap:10px;
  padding-left:22px;
  margin-top:14px;
}
.comment-replies.is-flat-thread .comment-card{
  margin-left:0!important;
}
.comment-replies.is-flat-thread .comment-card .comment-replies{
  display:none!important;
}
.comment-card[data-depth="2"],
.comment-card[data-depth="3"],
.comment-card[data-depth="4"],
.comment-card[data-depth="5"],
.comment-card[data-depth="6"]{
  background:rgba(139,44,255,.045);
}
.comment-card.is-flat-depth::after{
  opacity:.22;
}
@media(max-width:700px){
  .comment-replies.is-flat-thread{padding-left:12px}
}

/* V2.5.8 - Teintes de discussion renforcées
   L'alternance est volontairement plus lisible : une critique principale définit
   la couleur de tout son fil. Les réponses héritent de la même ambiance. */
.comment-card.thread-tone-light{
  --thread-bg:linear-gradient(135deg,rgba(128,78,214,.44),rgba(101,55,178,.30));
  --thread-bg-reply:linear-gradient(135deg,rgba(137,84,225,.34),rgba(105,58,180,.24));
  --thread-border:rgba(200,146,255,.50);
  --thread-border-soft:rgba(200,146,255,.36);
  --thread-line:rgba(221,137,255,.86);
  --thread-glow:rgba(184,99,255,.24);
  --thread-chip:rgba(175,91,255,.28);
}
.comment-card.thread-tone-dark{
  --thread-bg:linear-gradient(135deg,rgba(31,16,61,.86),rgba(18,10,38,.72));
  --thread-bg-reply:linear-gradient(135deg,rgba(40,20,77,.70),rgba(22,12,45,.62));
  --thread-border:rgba(96,58,178,.38);
  --thread-border-soft:rgba(96,58,178,.28);
  --thread-line:rgba(115,66,202,.76);
  --thread-glow:rgba(69,35,150,.18);
  --thread-chip:rgba(89,48,168,.26);
}
.comment-card.is-root-review.thread-tone-light,
.comment-card.is-root-review.thread-tone-dark{
  background:var(--thread-bg)!important;
  border-color:var(--thread-border)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.20), inset 0 0 0 1px rgba(255,255,255,.045), 0 0 30px var(--thread-glow);
}
.comment-card.is-root-review.thread-tone-light::before,
.comment-card.is-root-review.thread-tone-dark::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  border-radius:inherit;
  background:var(--thread-line);
  opacity:.85;
}
.comment-card.is-reply.thread-tone-light,
.comment-card.is-reply.thread-tone-dark,
.comment-replies.is-flat-thread .comment-card.thread-tone-light,
.comment-replies.is-flat-thread .comment-card.thread-tone-dark{
  background:var(--thread-bg-reply)!important;
  border-color:var(--thread-border-soft)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.comment-card.thread-tone-light .comment-replies.is-flat-thread,
.comment-card.thread-tone-dark .comment-replies.is-flat-thread{
  border-left-color:var(--thread-line)!important;
}
.comment-card.thread-tone-light .reply-target,
.comment-card.thread-tone-dark .reply-target{
  background:var(--thread-chip);
  border-color:var(--thread-border-soft);
}
.comment-card.thread-tone-light .comment-action,
.comment-card.thread-tone-dark .comment-action{
  border-color:var(--thread-border-soft);
}
.comment-card.is-root-review.thread-tone-light:hover,
.comment-card.is-root-review.thread-tone-dark:hover{
  filter:brightness(1.04);
}
.comment-card.is-root-review.thread-tone-light:hover .comment-card.is-reply,
.comment-card.is-root-review.thread-tone-dark:hover .comment-card.is-reply{
  filter:brightness(1.025);
}
@media(max-width:700px){
  .comment-card.is-root-review.thread-tone-light,
  .comment-card.is-root-review.thread-tone-dark{box-shadow:0 12px 30px rgba(0,0,0,.18)}
}

/* === Planète Stream V2.6 : Mon Espace === */
.account-card.is-hidden{display:none!important}
.account-card.is-space-dashboard{grid-column:1 / -1}
.space-nav{
  position:sticky;
  top:86px;
  z-index:5;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 18px;
  padding:10px;
  border:1px solid rgba(195,77,255,.22);
  border-radius:18px;
  background:rgba(9,8,20,.84);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 36px rgba(0,0,0,.28);
}
.space-nav a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:#eee;
  font-size:13px;
  font-weight:900;
  transition:.18s ease;
}
.space-nav a:hover{
  transform:translateY(-1px);
  border-color:rgba(195,77,255,.42);
  background:rgba(139,44,255,.16);
  box-shadow:0 0 20px rgba(139,44,255,.16);
}
.space-section{
  scroll-margin-top:116px;
  margin:16px 0;
  padding:20px;
  border:1px solid rgba(195,77,255,.16);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}
.space-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  margin-bottom:14px;
}
.space-section-head h2{
  margin:4px 0 0;
  font-size:24px;
}
.space-profile-card{margin:0}
.space-joined{margin:8px 0 0!important}
.space-stats-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
.space-stat{
  min-height:118px;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:6px;
  padding:14px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:radial-gradient(circle at 50% 0%, rgba(195,77,255,.15), transparent 58%), rgba(255,255,255,.035);
  text-align:center;
}
.space-stat i{font-style:normal;font-size:22px}
.space-stat strong{font-size:30px;color:#fff;line-height:1}
.space-stat small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:900}
.space-list{margin-top:0!important}
.space-badges span{
  display:grid!important;
  gap:3px;
}
.space-badges span small{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
}
.space-settings{
  display:grid;
  gap:10px;
}
.space-settings .ghost{justify-self:start}
.account-dropdown{width:285px}
.account-dropdown a:first-of-type{
  background:linear-gradient(135deg,rgba(139,44,255,.26),rgba(195,77,255,.10));
  border:1px solid rgba(195,77,255,.25);
}
@media(max-width:1100px){
  .space-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
  .space-nav{position:static}
  .space-section{padding:16px}
  .space-section-head{display:block}
  .space-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-dropdown{width:min(300px, calc(100vw - 28px))}
}

/* === Planète Stream V2.6.1 : Messages du Hall === */
.notification-dot,
.menu-notification-pill{
  display:inline-grid;
  place-items:center;
  min-width:18px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff3d8f,#c34dff);
  color:#fff;
  font-size:11px;
  font-weight:900;
  box-shadow:0 0 18px rgba(195,77,255,.55);
  margin-left:6px;
}
.notification-dot[hidden],
.menu-notification-pill[hidden]{display:none!important}
.account-nav-link.has-notifications,
#accountNavLink.has-notifications{position:relative}
.account-dropdown a{
  position:relative;
}
.account-dropdown .menu-notification-pill{
  margin-left:auto;
}
.space-notification-panel{
  border:1px solid rgba(195,77,255,.22);
  border-radius:22px;
  padding:18px;
  background:linear-gradient(135deg,rgba(18,12,35,.86),rgba(8,9,20,.72));
  box-shadow:0 16px 38px rgba(0,0,0,.24);
}
.space-notification-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.space-notification-actions p{margin:0;max-width:620px}
.space-notification-list{
  display:grid;
  gap:10px;
}
.space-notification-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  color:#fff;
  transition:.18s ease;
}
.space-notification-item:hover{
  transform:translateY(-2px);
  border-color:rgba(195,77,255,.38);
  background:rgba(139,44,255,.12);
  box-shadow:0 0 26px rgba(139,44,255,.18);
}
.space-notification-item.is-unread{
  border-color:rgba(255,61,143,.34);
  background:linear-gradient(135deg,rgba(139,44,255,.16),rgba(255,61,143,.08));
}
.space-notification-item span{
  display:grid;
  gap:3px;
  min-width:0;
}
.space-notification-item strong{
  font-size:14px;
}
.space-notification-item small{
  color:var(--muted);
  font-size:12px;
}
.space-notification-item em{
  justify-self:start;
  color:#fff;
  background:rgba(255,61,143,.22);
  border:1px solid rgba(255,61,143,.36);
  border-radius:999px;
  padding:2px 7px;
  font-style:normal;
  font-size:11px;
  font-weight:800;
}
@media (max-width:640px){
  .space-notification-actions{align-items:flex-start;flex-direction:column}
  .space-notification-actions .ghost{width:100%}
}

/* === Planète Stream V2.6.2 : confort notifications === */
.space-notification-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.space-notification-item{
  position:relative;
  justify-content:space-between;
}
.space-notification-main{
  display:flex;
  align-items:center;
  gap:12px;
  color:inherit;
  text-decoration:none;
  flex:1;
  min-width:0;
}
.space-notification-main:hover{color:inherit}
.notification-delete{
  width:32px;
  height:32px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  transition:.18s ease;
  flex:0 0 auto;
}
.notification-delete:hover{
  border-color:rgba(255,61,143,.55);
  background:rgba(255,61,143,.16);
  box-shadow:0 0 20px rgba(255,61,143,.22);
}
@media (max-width:640px){
  .space-notification-buttons{width:100%;justify-content:stretch}
  .space-notification-buttons .ghost{flex:1 1 100%}
}

/* === Planète Stream V2.7 : Parcours du Planétien === */
.journey-shell{
  display:grid;
  gap:18px;
}

.journey-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,.35fr);
  gap:18px;
  align-items:stretch;
  padding:22px;
  border:1px solid rgba(195,77,255,.26);
  border-radius:22px;
  background:
    radial-gradient(circle at 15% 10%, rgba(195,77,255,.22), transparent 36%),
    linear-gradient(135deg, rgba(22,13,43,.96), rgba(8,7,18,.94));
  box-shadow:0 18px 46px rgba(0,0,0,.28);
}

.journey-hero h3{
  margin:8px 0 8px;
  font-size:clamp(24px,3.4vw,38px);
  line-height:1;
  letter-spacing:-.04em;
}

.journey-hero p,
.journey-next span{
  color:var(--muted);
  line-height:1.55;
}

.journey-orbit{
  display:inline-grid;
  width:52px;
  height:52px;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(139,44,255,.5), rgba(195,77,255,.26));
  box-shadow:var(--glow);
  font-size:26px;
}

.journey-next{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
}

.journey-next small,
.journey-event small,
.journey-goal small{
  color:var(--muted);
  font-size:12px;
}

.journey-next strong{
  font-size:18px;
}

.journey-timeline{
  position:relative;
  display:grid;
  gap:12px;
  padding-left:18px;
}

.journey-timeline::before{
  content:"";
  position:absolute;
  left:21px;
  top:8px;
  bottom:8px;
  width:2px;
  background:linear-gradient(to bottom, rgba(195,77,255,.72), rgba(139,44,255,.12));
}

.journey-event{
  position:relative;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:13px;
  padding:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg, rgba(22,14,44,.82), rgba(10,9,23,.78));
  transition:.2s ease;
}

a.journey-event:hover{
  transform:translateX(4px);
  border-color:rgba(195,77,255,.32);
  box-shadow:0 0 24px rgba(139,44,255,.16);
}

.journey-event-icon{
  position:relative;
  z-index:1;
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:50%;
  background:#20153f;
  box-shadow:0 0 0 4px rgba(6,5,15,.9), 0 0 18px rgba(195,77,255,.35);
}

.journey-event p{
  margin-top:6px;
  color:#d8d1ef;
  line-height:1.45;
}

.journey-goals{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.journey-goal{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}

.journey-goal > span{
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border-radius:14px;
  background:rgba(139,44,255,.16);
}

.journey-goal.is-done{
  border-color:rgba(195,77,255,.28);
  background:rgba(139,44,255,.10);
}

.journey-goal em{
  color:#fff;
  font-style:normal;
  font-weight:900;
}

.journey-goal-bar{
  height:6px;
  overflow:hidden;
  margin-top:9px;
  border-radius:99px;
  background:rgba(255,255,255,.08);
}

.journey-goal-bar i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--purple), var(--purple-2));
  box-shadow:var(--glow);
}

.hall-journey-row{
  grid-template-columns:34px 1fr;
}

.hall-journey-row .hall-member-avatar{
  grid-row:1 / span 2;
}

@media (max-width:760px){
  .journey-hero,
  .journey-goals{grid-template-columns:1fr}
  .journey-timeline{padding-left:0}
  .journey-timeline::before{display:none}
}

/* === Planète Stream V2.7.1 : bandeau Parcours dans le Hall === */
.hall-planetian-ticker{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid rgba(195,77,255,.22);
  border-radius:18px;
  background:
    radial-gradient(circle at 8% 50%, rgba(195,77,255,.18), transparent 30%),
    linear-gradient(90deg, rgba(27,14,48,.86), rgba(11,10,24,.78));
  overflow:hidden;
  box-shadow:0 14px 36px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
}
.hall-planetian-ticker::after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:130px;
  pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(11,10,24,.95));
}
.hall-ticker-title{
  white-space:nowrap;
  color:#fff;
  font-weight:900;
  font-size:14px;
  letter-spacing:.01em;
  text-shadow:0 0 18px rgba(195,77,255,.35);
}
.hall-ticker-viewport{
  min-width:0;
  overflow:hidden;
}
.hall-ticker-track{
  display:flex;
  width:max-content;
  align-items:center;
  gap:12px;
  white-space:nowrap;
  will-change:transform;
}
.hall-ticker-track:not(:has(.hall-ticker-empty)){
  animation:hallTickerScroll 38s linear infinite;
}
.hall-planetian-ticker:hover .hall-ticker-track{
  animation-play-state:paused;
}
.hall-ticker-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.hall-ticker-item::after{
  content:"•";
  margin-left:4px;
  color:rgba(255,255,255,.25);
}
.hall-ticker-item strong{
  color:#fff;
  font-size:13px;
}
.hall-ticker-item em{
  color:#d8ccff;
  font-style:normal;
  font-size:12px;
}
.hall-ticker-empty{
  color:var(--muted);
  font-size:13px;
}
.viewer-avatar.tiny{
  width:24px;
  height:24px;
  border-radius:999px;
  flex:0 0 24px;
}
@keyframes hallTickerScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (max-width:700px){
  .hall-planetian-ticker{
    grid-template-columns:1fr;
    gap:8px;
  }
  .hall-ticker-title{font-size:13px}
  .hall-ticker-track:not(:has(.hall-ticker-empty)){
    animation-duration:30s;
  }
}
@media (prefers-reduced-motion:reduce){
  .hall-ticker-track{animation:none !important; flex-wrap:wrap; width:auto; white-space:normal}
}

/* === Planète Stream V2.9.2 / V2.9.3 : realtime commentaires + likes === */
.realtime-comments-notice{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 18px auto;
  border:1px solid rgba(189,84,255,.55);
  background:linear-gradient(135deg, rgba(139,44,255,.22), rgba(194,24,122,.18));
  color:#fff;
  border-radius:999px;
  padding:10px 16px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(139,44,255,.22);
}
.comment-card.is-realtime-new{
  animation:psRealtimeGlow 1.8s ease both;
}
@keyframes psRealtimeGlow{
  0%{box-shadow:0 0 0 rgba(189,84,255,0); transform:translateY(0)}
  20%{box-shadow:0 0 0 1px rgba(210,122,255,.75), 0 0 34px rgba(189,84,255,.36); transform:translateY(-1px)}
  100%{box-shadow:var(--thread-shadow, 0 16px 38px rgba(0,0,0,.18)); transform:translateY(0)}
}

/* === Planète Stream V2.9.4.1 : fix suppression note indépendante === */
#communityRatingLabel.rating-pop{
  display:inline-block;
  animation: ratingRealtimePop .38s ease;
  text-shadow:0 0 18px rgba(186, 91, 255, .55);
}
@keyframes ratingRealtimePop{
  0%{transform:scale(1);}
  40%{transform:scale(1.08);}
  100%{transform:scale(1);}
}

/* === Planète Stream V2.9.4.2 : realtime DELETE ratings === */

/* === V2.9.5 · Hall realtime === */
.cinema-hall.is-hall-live-refresh .hall-shell{
  box-shadow:0 0 0 1px rgba(195,77,255,.24), 0 0 28px rgba(195,77,255,.11);
}
.cinema-hall.is-hall-realtime-pulse .hall-stats strong,
.cinema-hall.is-hall-realtime-pulse .hall-card h3,
.cinema-hall.is-hall-realtime-pulse .hall-ticker-title{
  animation:hallRealtimePulse .75s ease;
}
@keyframes hallRealtimePulse{
  0%{filter:brightness(1); transform:translateY(0)}
  35%{filter:brightness(1.28); transform:translateY(-1px)}
  100%{filter:brightness(1); transform:translateY(0)}
}

/* === Planète Stream V3.0 RC1 : polish lisibilité, densité et responsive léger === */
:root{
  --ps-fast:.16s ease;
}

/* Textes plus denses, moins de hauteur perdue */
section{margin:24px 0 34px}
.section-head{margin-bottom:14px}
.section-title{font-size:clamp(18px,2.2vw,21px);padding-left:12px}
.section-head p{max-width:520px;line-height:1.45}

/* Accueil : marque et hero un peu plus compacts */
.brand-orbit{padding:30px 0 24px}
.brand-orbit-inner{min-height:170px;gap:22px}
.planet-logo-wrap{width:174px;height:174px;flex-basis:174px}
.planet-logo{width:150px;height:150px}
.planet-logo-wrap::after{width:230px;height:54px}
.brand-copy h1{font-size:clamp(34px,5.2vw,62px)}
.brand-copy p:not(.eyebrow){font-size:16px;max-width:500px;margin-top:12px}
.compact-hero{min-height:310px!important;padding:34px 0 28px!important}
.compact-hero h1{font-size:clamp(30px,4vw,50px)}
.compact-hero .stats-strip{margin-top:16px;gap:16px}
.compact-hero .hero-actions{margin-top:14px}
.hero-carousel-status{margin-top:16px!important}

/* Hall : même richesse, moins de volume. Le Hall respire, il ne monopolise plus le pont. */
.cinema-hall{margin:26px auto 34px}
.hall-shell{padding:22px;border-radius:24px}
.hall-head{margin-bottom:14px;gap:18px}
.hall-head h2{font-size:clamp(24px,3.3vw,36px);line-height:1.04}
.hall-head p:not(.eyebrow){line-height:1.45;max-width:610px}
.hall-stats{margin:14px 0;gap:10px}
.hall-stats span{padding:11px 12px;border-radius:15px}
.hall-stats strong{font-size:24px}
.hall-stats small{font-size:11px;margin-top:5px}
.hall-grid{gap:12px}
.hall-bottom-grid{gap:12px;margin-top:12px}
.hall-card{padding:15px;border-radius:18px;min-height:180px}
.hall-card h3{font-size:15px;margin-bottom:10px}
.hall-muted,.hall-feature-review p,.hall-welcome-card p{font-size:13px;line-height:1.45}
.hall-mini-row{padding:8px 0;grid-template-columns:36px 1fr auto;gap:9px}
.hall-poster-dot{width:36px;height:50px;border-radius:8px}
.hall-event{padding:10px;border-radius:14px;gap:10px}
.hall-event>span{width:34px;height:34px;border-radius:12px}
.hall-member-row{padding:8px 0}
.hall-feature-review .viewer-avatar,
.hall-welcome-card .viewer-avatar.big{width:42px;height:42px;border-radius:14px;margin-bottom:8px}
.hall-welcome-card .viewer-avatar.big{width:52px;height:52px;border-radius:18px}
.hall-planetian-ticker{margin:12px 0!important}

/* Catalogue : cartes plus lisibles et moins hautes */
.tabs{margin:22px 0;padding:9px;border-radius:14px;gap:8px}
.tabs button{padding:9px 16px;font-size:13px}
.genre-filter{min-height:38px!important;font-size:13px!important}
.grid{gap:14px}
.poster{height:230px}
.info{padding:11px}
.info h3{font-size:13px;line-height:1.25}
.card-actions{margin-top:10px}
.card-actions a{padding:8px 7px}
.card:hover{transform:translateY(-4px)}

/* CTA et footer : plus directs */
.cta{padding:20px;margin:18px 0 30px;border-radius:15px}
.cta-copy{gap:16px}.cta h2{font-size:20px}.cta p{line-height:1.45}.circle{width:52px;height:52px;min-width:52px}
.footer-shell{gap:26px!important}.footer-description,.footer-tagline{line-height:1.45}.site-footer.footer-redesign{padding-top:26px!important}
.footer-bottom{padding-top:14px!important}

/* Mon Espace : cartes plus denses */
.account-page{padding:38px 0 62px}
.account-hero{padding:26px;margin-bottom:18px}
.account-hero h1{font-size:clamp(30px,4.5vw,48px);margin:8px 0 10px}
.account-hero p{line-height:1.5;max-width:690px}
.account-grid{gap:14px}.account-card{padding:19px}.account-card h2{font-size:21px}.account-card p{line-height:1.45}
.planetiens-card{padding:15px;gap:14px}.planetiens-head h2{font-size:26px}.viewer-avatar.giant{width:74px;height:74px;min-width:74px}

/* Header mobile : on affiche les accès essentiels au lieu de cacher le cockpit. */
@media(max-width:900px){
  .nav{flex-wrap:wrap;gap:10px;padding:13px 0}
  .logo{font-size:20px;flex:1 1 auto}
  .hamb{display:none!important}
  .menu{order:3;display:flex!important;width:100%;gap:8px;overflow-x:auto;padding:4px 0 2px;scrollbar-width:none}
  .menu::-webkit-scrollbar{display:none}
  .menu a{flex:0 0 auto;font-size:12px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}
  .menu a.active{background:rgba(139,44,255,.22);border-color:rgba(195,77,255,.30)}
  .nav-actions{order:2;display:flex!important;gap:8px;align-items:center;justify-content:flex-end;flex:1 1 100%}
  .account-link{min-height:38px;padding:0 12px;font-size:12px;max-width:100%}
  .search-input{min-height:38px;max-width:210px;font-size:13px;padding:0 12px}
  .account-dropdown{left:auto;right:0;width:min(300px,calc(100vw - 28px))}
  .brand-orbit-inner{min-height:auto}
  .compact-hero .hero-controls{position:static;margin-top:12px}
}

@media(max-width:700px){
  .hall-shell{padding:16px;border-radius:20px}
  .hall-head h2{font-size:24px}
  .hall-cta{width:100%;margin-top:10px}
  .hall-stats{grid-template-columns:repeat(2,1fr)}
  .hall-card{min-height:auto}
}

@media(max-width:620px){
  .container{width:min(100% - 20px,1180px)}
  .brand-orbit{padding:20px 0 18px}
  .planet-logo-wrap{width:136px;height:136px;flex-basis:136px}.planet-logo{width:116px;height:116px}.planet-logo-wrap::after{width:176px;height:42px}
  .brand-copy h1{font-size:34px}.brand-copy p:not(.eyebrow){font-size:14px}
  .compact-hero{padding:26px 0 24px!important}.hero-actions{gap:8px}.hero-actions .secondary,.hero-actions .primary{min-width:0;flex:1 1 calc(50% - 8px);padding:11px 12px;font-size:13px}.hero-actions #surpriseBtn{flex-basis:100%}
  .badges{gap:10px}.badge{font-size:12px}
  .grid{grid-template-columns:repeat(2, minmax(0,1fr));gap:10px}.poster{height:176px}.poster:after{font-size:16px;left:10px;right:10px;bottom:12px}.info{padding:10px}.meta{font-size:10px}
  .section-head:after{display:none}.section-title{font-size:18px}.section-head p{font-size:13px}.section-head{gap:8px}
  .tabs{position:sticky;top:0;z-index:20;margin:14px -2px 18px;box-shadow:0 10px 30px rgba(0,0,0,.28);backdrop-filter:blur(16px)}
  .cta{padding:16px}.cta-copy{align-items:flex-start}.circle{width:44px;height:44px;min-width:44px}.cta .primary{width:100%}
  .account-page{padding-top:24px}.account-hero{padding:20px}.account-card{padding:16px}.avatar-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}

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


/* === Planète Stream V3.0 RC1.1 : cartes catalogue compactes === */
.card .info h3{display:none}
.compact-meta{
  display:flex;
  align-items:center;
  gap:6px;
  color:#d8d2ef;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  margin-bottom:5px;
  opacity:.92;
}
.compact-meta span:not(:last-child)::after{
  content:"•";
  margin-left:6px;
  color:rgba(255,255,255,.42);
  font-weight:700;
}
.compact-genres{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  color:#a9a2c6;
  font-size:10.5px;
  line-height:1.25;
  min-height:14px;
}
.compact-genres span:not(:last-child)::after{
  content:"•";
  margin:0 6px;
  color:rgba(255,255,255,.32);
}
.card .info{padding:9px 10px 10px}
.card-actions{margin-top:8px;gap:7px}
.card-actions a{padding:7px 7px;border-radius:8px;font-size:11px;min-height:32px}
.poster{height:222px}
.poster:after{font-size:20px;bottom:15px;left:12px;right:12px}
.grid.rail .card{min-width:174px}
.card{border-radius:12px}
.card:hover{transform:translateY(-3px)}
@media(max-width:620px){
  .poster{height:166px}
  .poster:after{font-size:15px;bottom:10px;left:9px;right:9px}
  .card .info{padding:8px}
  .compact-meta{font-size:10px;margin-bottom:4px}
  .compact-genres{font-size:9.5px}
  .card-actions{gap:6px;margin-top:7px}
  .card-actions a{font-size:10.5px;min-height:30px;padding:6px}
}

/* === Planète Stream V3.0 RC1.3 : header mobile respirable === */
@media(max-width:620px){
  header{position:sticky;top:0;z-index:80;background:rgba(3,4,11,.88)}
  .nav{height:auto!important;min-height:0!important;display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:10px 0 8px}
  .logo{order:1;flex:0 0 100%;font-size:19px;letter-spacing:.07em}
  .nav-actions{order:2;width:100%;flex:0 0 100%!important;display:grid!important;grid-template-columns:minmax(118px,auto) minmax(0,1fr);gap:8px;align-items:center;min-width:0}
  .account-menu-wrap{min-width:0;max-width:100%}
  .account-link{width:100%;min-width:0;min-height:36px;height:36px;padding:0 10px!important;font-size:12px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap}
  .account-link .account-avatar{width:22px;height:22px;min-width:22px;margin-right:6px}
  .account-link .account-user-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .account-link .account-chevron{margin-left:5px;flex:0 0 auto}
  .search-input{width:100%!important;max-width:none!important;min-width:0;height:36px!important;min-height:36px!important;font-size:13px;padding:0 12px;border-radius:999px}
  .menu{order:3;width:100%;display:flex!important;gap:7px;overflow-x:auto;padding:2px 0 0;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent)}
  .menu::-webkit-scrollbar{display:none}
  .menu a{min-height:34px!important;padding:0 10px!important;font-size:11.5px;flex:0 0 auto;border-radius:999px;white-space:nowrap}
  .discord-nav-link{gap:6px!important}
  .discord-icon-wrap{width:18px;height:14px;flex-basis:18px}
  .account-dropdown{right:0;width:min(300px,calc(100vw - 20px));top:calc(100% + 8px)}

  /* Accueil mobile : moins de vitrine, plus de contenu utile. */
  .brand-orbit{padding:14px 0 14px!important}
  .brand-orbit-inner{gap:10px;text-align:center;justify-content:center}
  .planet-logo-wrap{width:96px!important;height:96px!important;flex-basis:96px!important}
  .planet-logo{width:82px!important;height:82px!important}
  .planet-logo-wrap::after{width:126px!important;height:30px!important}
  .brand-copy .eyebrow{font-size:10px;letter-spacing:.16em}
  .brand-copy h1{font-size:28px!important;line-height:.95;margin-top:7px}
  .brand-copy p:not(.eyebrow){font-size:13px!important;line-height:1.35;max-width:330px;margin:8px auto 0}

  .compact-hero{min-height:0!important;padding:22px 0 22px!important}
  .hero h1{font-size:clamp(32px,10vw,42px)!important;line-height:.98;letter-spacing:-.06em}
  .hero p:not(.eyebrow),.hero-meta{font-size:15px!important;line-height:1.45;margin:12px 0 14px!important}
  .stats-strip{margin-top:18px}
}

@media(max-width:390px){
  .nav-actions{grid-template-columns:minmax(104px,38%) minmax(0,1fr)}
  .account-link{font-size:11px;padding:0 8px!important}
  .account-link .account-avatar{width:20px;height:20px;min-width:20px}
  .search-input{font-size:12px;padding:0 10px}
  .menu a{font-size:11px;padding:0 9px!important}
}


/* === V3.0 RC1.4 - Page Confidentialité / RGPD === */
.privacy-page{padding:46px 0 60px}.privacy-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:28px;margin-bottom:24px;padding:38px;border:1px solid rgba(195,77,255,.26);border-radius:28px;background:radial-gradient(circle at 78% 18%,rgba(195,77,255,.32),transparent 30%),linear-gradient(135deg,rgba(18,12,34,.96),rgba(7,6,19,.92));overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,.34)}.privacy-hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(circle,#fff 0 1px,transparent 1px);background-size:86px 86px}.privacy-hero-copy{position:relative;z-index:1;max-width:720px}.privacy-hero h1{margin:8px 0 12px;font-size:clamp(34px,5vw,62px);line-height:.96;text-transform:uppercase;letter-spacing:-.055em}.privacy-hero p{color:#ddd5f5;line-height:1.65}.privacy-updated{margin-top:16px;color:#a994d5!important;font-size:14px}.privacy-orb{position:relative;z-index:1;width:122px;height:122px;min-width:122px;border-radius:50%;display:grid;place-items:center;font-size:52px;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.18),rgba(139,44,255,.42) 46%,rgba(22,12,54,.92) 75%);border:1px solid rgba(195,77,255,.48);box-shadow:0 0 44px rgba(139,44,255,.42)}.privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.privacy-card{padding:24px;border-radius:22px;background:linear-gradient(145deg,rgba(18,14,31,.92),rgba(8,7,19,.9));border:1px solid rgba(195,77,255,.22);box-shadow:0 12px 38px rgba(0,0,0,.24)}.privacy-card-wide{grid-column:1 / -1}.privacy-card h2{margin:0 0 12px;font-size:20px}.privacy-card p,.privacy-card li{color:#ded8ef;line-height:1.6;font-size:15px}.privacy-card ul{padding-left:20px;display:grid;gap:6px}.privacy-card a{color:#d86cff;font-weight:800}.privacy-note{background:linear-gradient(135deg,rgba(139,44,255,.25),rgba(12,9,25,.94));border-color:rgba(195,77,255,.38)}@media(max-width:760px){.privacy-page{padding-top:22px}.privacy-hero{padding:26px;align-items:flex-start}.privacy-orb{display:none}.privacy-grid{grid-template-columns:1fr}.privacy-card{padding:20px}.privacy-card h2{font-size:18px}}
