:root {
  --bg: #06070b;
  --bg-soft: #0b0d14;
  --panel: rgba(18, 21, 31, .82);
  --panel-solid: #11141d;
  --text: #f7f8fc;
  --muted: #a5aabb;
  --line: rgba(255,255,255,.1);
  --accent: #7b5cff;
  --accent-2: #20d9ff;
  --danger: #ff3d66;
  --success: #3ddc97;
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --shadow: 0 24px 80px rgba(0,0,0,.45);
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 8% 0%, rgba(123,92,255,.16), transparent 28rem),
    radial-gradient(circle at 95% 12%, rgba(32,217,255,.09), transparent 25rem),
    var(--bg);
  font-family: Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
main { min-height: 70vh; }
.site-header {
  position: fixed; inset: 0 0 auto; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px clamp(18px, 4vw, 64px);
  transition: background .25s, backdrop-filter .25s, border-color .25s;
  border-bottom: 1px solid transparent;
}
.site-header.is-scrolled {
  background: rgba(6,7,11,.78);
  backdrop-filter: blur(20px) saturate(150%);
  border-color: var(--line);
}
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: -.04em; font-size: 1.1rem; }
.brand-mark {
  display: grid; place-items: center; width: 36px; aspect-ratio: 1;
  border-radius: 12px; color: white;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow: 0 10px 35px rgba(123,92,255,.35);
}
.main-nav { display: flex; gap: 28px; color: #d7d9e2; font-size: .93rem; font-weight: 600; }
.main-nav a { opacity: .82; transition: opacity .2s; }
.main-nav a:hover { opacity: 1; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.icon-button { width: 42px; height: 42px; display: grid; place-items: center; color: white; background: rgba(255,255,255,.08); border: 1px solid var(--line); border-radius: 50%; }
.icon-button svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
.live-pill { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid rgba(255,61,102,.35); background: rgba(255,61,102,.12); border-radius: 999px; font-size: .82rem; font-weight: 800; }
.live-pill span { width: 8px; height: 8px; background: var(--danger); border-radius: 50%; box-shadow: 0 0 0 5px rgba(255,61,102,.12); animation: pulse 1.5s infinite; }
@keyframes pulse { 50% { opacity: .45; transform: scale(.9); } }
.hero { position: relative; min-height: 82vh; display: grid; align-items: end; overflow: hidden; }
.hero-backdrop { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.02); }
.hero-backdrop::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(6,7,11,.96) 0%, rgba(6,7,11,.72) 40%, rgba(6,7,11,.1) 72%), linear-gradient(0deg, var(--bg) 0%, transparent 42%); }
.hero-backdrop, .hero-backdrop::after, .media-card::after, .live-feature-image::after { pointer-events: none; }
.hero-content { position: relative; z-index: 2; width: min(780px, 90%); padding: 150px clamp(20px, 5vw, 76px) 88px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; color: #dcd6ff; font-size: .78rem; letter-spacing: .15em; text-transform: uppercase; font-weight: 800; }
.eyebrow::before { content:""; width: 28px; height: 2px; background: linear-gradient(90deg, var(--accent), var(--accent-2)); }
.hero h1 { margin: 0 0 18px; font-size: clamp(3rem, 7vw, 6.8rem); line-height: .92; letter-spacing: -.075em; max-width: 800px; }
.hero p { margin: 0 0 30px; color: #d2d5df; font-size: clamp(1rem, 1.7vw, 1.2rem); line-height: 1.75; max-width: 650px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 0 20px; border-radius: 14px; border: 1px solid transparent; font-weight: 800; transition: transform .2s, background .2s, border-color .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #090a0f; background: white; }
.button-accent { color: white; background: linear-gradient(135deg, var(--accent), #5b7cff); box-shadow: 0 14px 35px rgba(123,92,255,.28); }
.button-ghost { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.14); backdrop-filter: blur(12px); }
.button-danger { background: rgba(255,61,102,.12); border-color: rgba(255,61,102,.28); color: #ff93aa; }
.content-shell { padding: 24px clamp(18px, 4vw, 64px) 96px; }
.content-shell.overlap { position: relative; z-index: 4; margin-top: -36px; }
.section { margin: 0 0 58px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.section-heading h2 { margin: 0; font-size: clamp(1.45rem, 2vw, 2rem); letter-spacing: -.045em; }
.section-heading p { margin: 6px 0 0; color: var(--muted); }
.row-controls { display: flex; gap: 8px; }
.row-controls button { width: 40px; height: 40px; border: 1px solid var(--line); background: rgba(255,255,255,.06); color: white; border-radius: 12px; }
.media-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(230px, 24vw); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 5px 2px 18px; }
.media-rail::-webkit-scrollbar { display: none; }
.media-card { position: relative; min-height: 320px; border-radius: var(--radius-lg); overflow: hidden; background: var(--panel-solid); border: 1px solid var(--line); scroll-snap-align: start; box-shadow: 0 12px 40px rgba(0,0,0,.22); transition: transform .28s, border-color .28s, box-shadow .28s; }
.media-card:hover { transform: translateY(-7px) scale(1.01); border-color: rgba(123,92,255,.5); box-shadow: var(--shadow); }
.media-card img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.media-card::after { content:""; position:absolute; inset:0; background: linear-gradient(0deg, rgba(5,6,10,.98), rgba(5,6,10,.05) 70%); }
.card-body { position: absolute; z-index: 2; inset: auto 0 0; padding: 24px; }
.card-kicker { color: #bdb5ff; text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 800; }
.card-body h3 { margin: 8px 0 5px; font-size: 1.35rem; letter-spacing: -.04em; }
.card-body p { color: #c8cbd5; font-size: .86rem; margin: 0; line-height: 1.5; }
.badge { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border-radius: 999px; font-size: .72rem; font-weight: 800; background: rgba(5,6,10,.6); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(12px); }
.card-top { position: absolute; z-index: 3; top: 14px; left: 14px; right: 14px; display: flex; justify-content: space-between; }
.episode-rail { grid-auto-columns: minmax(300px, 31vw); }
.episode-card { min-height: 210px; }
.episode-card .card-body { padding: 19px; }
.live-feature { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 400px; border-radius: var(--radius-xl); overflow: hidden; border: 1px solid var(--line); background: linear-gradient(135deg, rgba(123,92,255,.15), rgba(17,20,29,.96)); }
.live-feature-image { min-height: 320px; position: relative; display:flex; align-items:center; justify-content:center; padding: clamp(10px, 1.8vw, 20px); background: radial-gradient(circle at center, rgba(123,92,255,.12), rgba(10,12,18,.9)); }
.live-feature-image-bg { position:absolute; inset:0; background-size: cover; background-position: center; filter: blur(14px) saturate(.9); transform: scale(1.05); opacity:.42; }
.live-feature-image::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(17,20,29,.12), rgba(17,20,29,.88)); }
.live-feature-poster { position:relative; z-index:1; display:block; width:100%; height:100%; max-width:100%; max-height:360px; object-fit:contain; object-position:center; border-radius: calc(var(--radius-xl) - 8px); }
.live-feature-content { padding: clamp(28px, 5vw, 64px); display: flex; flex-direction: column; justify-content: center; }
.live-feature h2 { font-size: clamp(2rem, 4vw, 4.2rem); margin: 8px 0 16px; letter-spacing: -.06em; line-height: 1; }
.live-meta { color: #d4d7e2; margin-bottom: 26px; }
.page-hero { padding: 160px clamp(18px, 4vw, 64px) 48px; }
.page-hero h1 { margin: 0 0 12px; font-size: clamp(2.7rem, 6vw, 5.5rem); letter-spacing: -.07em; }
.page-hero p { color: var(--muted); max-width: 680px; font-size: 1.05rem; line-height: 1.7; }
.filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
.filter-chip { padding: 10px 15px; border-radius: 999px; border: 1px solid var(--line); color: #d8dbe4; background: rgba(255,255,255,.04); }
.filter-chip.active, .filter-chip:hover { background: rgba(123,92,255,.17); border-color: rgba(123,92,255,.42); }
.catalogue-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.catalogue-grid .media-card { min-height: 380px; }
.series-hero { position: relative; min-height: 70vh; display: flex; align-items: end; overflow: hidden; }
.series-hero .hero-content { width: min(800px, 92%); }
.episode-list { display: grid; gap: 14px; }
.episode-item { display: grid; grid-template-columns: 250px 1fr auto; gap: 22px; align-items: center; padding: 14px; border-radius: 18px; border: 1px solid var(--line); background: rgba(255,255,255,.035); transition: background .2s, transform .2s; }
.episode-item:hover { background: rgba(255,255,255,.065); transform: translateX(4px); }
.episode-thumb { aspect-ratio: 16/9; border-radius: 13px; overflow: hidden; background: #151822; }
.episode-thumb img { width: 100%; height: 100%; object-fit: cover; }
.episode-number { color: #a9a0ff; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.episode-item h3 { margin: 5px 0 7px; letter-spacing: -.03em; }
.episode-item p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.play-button { width: 46px; height: 46px; display: grid; place-items: center; background: white; color: #07080c; border-radius: 50%; font-weight: 900; }
.empty-state { text-align: center; padding: 70px 20px; border-radius: var(--radius-xl); border: 1px dashed rgba(255,255,255,.18); color: var(--muted); }
.search-overlay { position: fixed; z-index: 100; inset: 0; display: grid; place-items: start center; padding-top: 14vh; background: rgba(4,5,8,.88); backdrop-filter: blur(18px); opacity: 0; pointer-events: none; visibility: hidden; transition: opacity .18s, visibility 0s linear .18s; }
.search-overlay.is-open { opacity: 1; pointer-events: auto; visibility: visible; transition-delay: 0s; }
.search-panel { width: min(800px, calc(100% - 32px)); padding: 28px; border: 1px solid var(--line); background: #0d0f16; border-radius: 24px; box-shadow: var(--shadow); }
.search-panel label { display:block; margin-bottom:16px; font-size:1.4rem; font-weight:800; letter-spacing:-.04em; }
.search-row { display:flex; gap:10px; }
.search-row input { flex:1; min-width:0; padding:15px 17px; color:white; background:#080a10; border:1px solid var(--line); border-radius:14px; outline:none; }
.search-row input:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(123,92,255,.13); }
.search-row button { border:0; border-radius:14px; padding:0 20px; font-weight:800; }
.search-close { margin-top:14px; color:var(--muted); border:0; background:transparent; }
.site-footer { display:grid; grid-template-columns: 1fr auto; gap:35px; align-items:end; padding: 48px clamp(18px,4vw,64px); border-top:1px solid var(--line); background:#05060a; color:var(--muted); }
.brand-footer { color:white; margin-bottom:12px; }
.site-footer p { max-width:500px; }
.site-footer small { grid-column:1/-1; }
.footer-links { display:flex; flex-wrap:wrap; gap:18px; }
.footer-links a:hover { color:white; }
/* Admin */
.admin-body { background: #080a10; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:250px 1fr; }
.admin-sidebar { position:sticky; top:0; height:100vh; padding:28px 20px; border-right:1px solid var(--line); background:#0b0d14; }
.admin-sidebar nav { display:grid; gap:7px; margin-top:36px; }
.admin-sidebar nav a { padding:12px 14px; border-radius:12px; color:#b9bdca; }
.admin-sidebar nav a:hover, .admin-sidebar nav a.active { color:white; background:rgba(123,92,255,.14); }
.admin-main { padding:36px clamp(20px,4vw,56px); }
.admin-topbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:30px; }
.admin-topbar h1 { margin:0; letter-spacing:-.05em; }
.admin-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.stat-card, .panel { border:1px solid var(--line); background:#10131c; border-radius:18px; }
.stat-card { padding:22px; }
.stat-card strong { display:block; font-size:2rem; margin-top:10px; }
.stat-card span { color:var(--muted); }
.panel { padding:22px; margin-top:20px; }
.panel h2 { margin-top:0; }
.admin-table { width:100%; border-collapse:collapse; }
.admin-table th, .admin-table td { padding:13px 10px; text-align:left; border-bottom:1px solid var(--line); vertical-align:middle; }
.admin-table th { color:#9ea4b5; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; }
.admin-table tr:last-child td { border-bottom:0; }
.thumb-mini { width:72px; aspect-ratio:16/9; object-fit:cover; border-radius:9px; background:#181b25; }
.inline-actions { display:flex; gap:8px; flex-wrap:wrap; }
.small-button { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:0 11px; border-radius:9px; border:1px solid var(--line); color:white; background:rgba(255,255,255,.05); font-size:.8rem; }
.small-button.danger { color:#ff8ba4; border-color:rgba(255,61,102,.26); background:rgba(255,61,102,.08); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.form-group { display:grid; gap:8px; }
.form-group.full { grid-column:1/-1; }
.form-group label { color:#cbd0dc; font-size:.88rem; font-weight:700; }
.form-group input, .form-group textarea, .form-group select { width:100%; padding:13px 14px; color:white; border:1px solid var(--line); background:#090b11; border-radius:12px; outline:none; }
.form-group textarea { min-height:120px; resize:vertical; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color:var(--accent); box-shadow:0 0 0 4px rgba(123,92,255,.12); }
.form-actions { display:flex; gap:10px; margin-top:20px; }
.alert { padding:13px 15px; margin-bottom:16px; border-radius:12px; border:1px solid var(--line); }
.alert-success { background:rgba(61,220,151,.08); border-color:rgba(61,220,151,.22); color:#8ff0c2; }
.alert-error { background:rgba(255,61,102,.08); border-color:rgba(255,61,102,.22); color:#ff91aa; }
.login-page { min-height:100vh; display:grid; place-items:center; padding:20px; }
.login-card { width:min(430px,100%); padding:30px; border-radius:24px; border:1px solid var(--line); background:#0f121a; box-shadow:var(--shadow); }
.login-card h1 { margin:22px 0 6px; }
.login-card p { color:var(--muted); margin:0 0 24px; }
@media (max-width: 1000px) {
  .catalogue-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .live-feature { grid-template-columns:1fr; }
  .live-feature-image::after { background:linear-gradient(0deg, rgba(17,20,29,.92), rgba(17,20,29,.18)); }
  .admin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .main-nav { display:none; }
  .live-pill { display:none; }
  .hero { min-height:76vh; }
  .hero-backdrop::after { background:linear-gradient(0deg, var(--bg) 0%, rgba(6,7,11,.25) 60%), linear-gradient(90deg, rgba(6,7,11,.85), transparent); }
  .hero-content { padding-bottom:65px; }
  .media-rail { grid-auto-columns:78vw; }
  .episode-rail { grid-auto-columns:86vw; }
  .catalogue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalogue-grid .media-card { min-height:310px; }
  .episode-item { grid-template-columns:130px 1fr; }
  .episode-item .play-button { display:none; }
  .site-footer { grid-template-columns:1fr; }
  .admin-shell { grid-template-columns:1fr; }
  .admin-sidebar { position:static; height:auto; }
  .admin-sidebar nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .admin-main { padding-top:20px; }
  .form-grid { grid-template-columns:1fr; }
  .form-group.full { grid-column:auto; }
}
@media (max-width: 520px) {
  .site-header { padding:14px 16px; }
  .brand span:last-child { display:none; }
  .hero h1 { font-size:3.1rem; }
  .catalogue-grid { grid-template-columns:1fr; }
  .episode-item { grid-template-columns:1fr; }
  .episode-thumb { width:100%; }
  .admin-grid { grid-template-columns:1fr; }
  .admin-sidebar nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .search-row { flex-direction:column; }
  .search-row button { min-height:48px; }
}

/* Bibliothèque d’images */
body.media-modal-open { overflow: hidden; }
.media-picker-field { min-width: 0; }
.media-field-layout { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 14px; align-items: stretch; }
.media-field-preview { position: relative; width: 112px; min-height: 92px; padding: 0; overflow: hidden; border: 1px dashed rgba(255,255,255,.2); border-radius: 14px; background: #090b11; color: #a9a0ff; }
.media-field-preview:hover { border-color: rgba(123,92,255,.65); background: rgba(123,92,255,.08); }
.media-field-preview img { width: 100%; height: 100%; min-height: 92px; object-fit: cover; }
.media-field-preview span { position: absolute; inset: 0; display: grid; place-items: center; font-size: 2rem; }
.media-field-controls { min-width: 0; display: grid; align-content: center; gap: 9px; }
.media-field-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.field-help { color: var(--muted); font-size: .76rem; line-height: 1.45; }

.media-modal[hidden] { display: none; }
.media-modal { position: fixed; z-index: 300; inset: 0; display: grid; place-items: center; padding: 20px; opacity: 0; transition: opacity .18s ease; }
.media-modal.is-open { opacity: 1; }
.media-modal-backdrop { position: absolute; inset: 0; background: rgba(2,3,7,.84); backdrop-filter: blur(16px); }
.media-modal-dialog { position: relative; width: min(1120px, 100%); max-height: min(880px, calc(100vh - 40px)); display: grid; grid-template-rows: auto auto auto auto minmax(0,1fr); gap: 16px; padding: 24px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; background: #0e1119; box-shadow: 0 38px 120px rgba(0,0,0,.65); transform: translateY(12px) scale(.985); transition: transform .18s ease; }
.media-modal.is-open .media-modal-dialog { transform: translateY(0) scale(1); }
.media-modal-header, .media-modal-tools, .media-manager-heading, .media-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.media-modal-header h2 { margin: 3px 0 0; font-size: clamp(1.55rem, 3vw, 2.2rem); letter-spacing: -.05em; }
.media-modal-header .eyebrow { margin: 0; }
.media-modal-close { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.06); color: white; font-size: 1.7rem; line-height: 1; }
.media-search { flex: 1; min-width: 180px; display: flex; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid var(--line); border-radius: 13px; background: #080a10; color: var(--muted); }
.media-search input { width: 100%; min-width: 0; padding: 12px 0; border: 0; outline: 0; background: transparent; color: white; }
.media-dropzone { display: grid; justify-items: center; gap: 5px; padding: 20px; border: 1px dashed rgba(123,92,255,.48); border-radius: 16px; background: rgba(123,92,255,.07); text-align: center; outline: none; transition: border-color .2s, background .2s, transform .2s; }
.media-dropzone:hover, .media-dropzone:focus, .media-dropzone.is-dragging { border-color: var(--accent-2); background: rgba(32,217,255,.1); transform: translateY(-1px); }
.media-dropzone strong { font-size: .98rem; }
.media-dropzone span, .media-dropzone small { color: var(--muted); }
.media-dropzone small { font-size: .73rem; }
.media-dropzone-large { min-height: 180px; place-content: center; margin: 22px 0; }
.media-status { padding: 11px 13px; border-radius: 11px; border: 1px solid var(--line); background: rgba(255,255,255,.04); color: #dfe2eb; font-size: .86rem; white-space: pre-line; }
.media-status[data-type="success"] { color: #8ff0c2; border-color: rgba(61,220,151,.26); background: rgba(61,220,151,.08); }
.media-status[data-type="warning"] { color: #ffd38d; border-color: rgba(255,186,82,.28); background: rgba(255,186,82,.08); }
.media-status[data-type="error"] { color: #ff91aa; border-color: rgba(255,61,102,.28); background: rgba(255,61,102,.08); }
.media-library-grid { min-height: 160px; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 13px; overflow-y: auto; align-content: start; padding: 2px 5px 8px 2px; }
.media-library-card { position: relative; min-width: 0; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: #11141d; color: white; text-align: left; }
button.media-library-card { cursor: pointer; }
button.media-library-card:hover, button.media-library-card:focus-visible { border-color: rgba(123,92,255,.75); box-shadow: 0 0 0 3px rgba(123,92,255,.14); outline: none; transform: translateY(-2px); }
.media-library-image { aspect-ratio: 16/10; overflow: hidden; background: #080a10; }
.media-library-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.media-library-card:hover .media-library-image img { transform: scale(1.035); }
.media-library-details { display: grid; gap: 4px; padding: 11px; min-width: 0; }
.media-library-details strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8rem; }
.media-library-details span { color: var(--muted); font-size: .68rem; }
.media-select-label { position: absolute; top: 9px; right: 9px; padding: 6px 8px; border-radius: 999px; background: rgba(6,7,11,.72); border: 1px solid rgba(255,255,255,.16); font-size: .65rem; font-weight: 800; backdrop-filter: blur(8px); }
.media-empty { min-height: 170px; display: grid; place-content: center; justify-items: center; gap: 7px; padding: 30px; color: var(--muted); text-align: center; border: 1px dashed var(--line); border-radius: 16px; }
.media-empty strong { color: white; }
.media-manager-panel { margin-top: 0; }
.media-manager-heading p { max-width: 730px; margin: 7px 0 0; color: var(--muted); line-height: 1.6; }
.media-toolbar { margin: 20px 0 14px; }
.media-count { color: var(--muted); font-size: .84rem; white-space: nowrap; }
.media-manager-grid { grid-template-columns: repeat(4, minmax(0,1fr)); overflow: visible; }
.media-library-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 11px 11px; }
.media-library-card-footer > span { color: var(--muted); font-size: .7rem; }
.small-button:disabled { opacity: .4; cursor: not-allowed; }

@media (max-width: 1050px) {
  .media-library-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .media-manager-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .media-modal { padding: 0; }
  .media-modal-dialog { width: 100%; max-height: 100vh; height: 100vh; border-radius: 0; padding: 18px; }
  .media-library-grid, .media-manager-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .media-manager-heading, .media-toolbar { align-items: stretch; flex-direction: column; }
  .media-manager-heading .button { width: 100%; }
}
@media (max-width: 520px) {
  .media-field-layout { grid-template-columns: 84px minmax(0,1fr); }
  .media-field-preview { width: 84px; min-height: 82px; }
  .media-field-preview img { min-height: 82px; }
  .media-modal-tools { align-items: stretch; flex-direction: column; }
  .media-library-grid, .media-manager-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .media-library-details { padding: 9px; }
}

/* Admin V5 — formulaires plus compacts et plus explicites */
.editor-panel { width: min(960px, 100%); padding: 19px; }
.editor-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.editor-heading h2 { margin:3px 0 5px; font-size:clamp(1.25rem,2vw,1.6rem); letter-spacing:-.035em; }
.editor-heading p { max-width:720px; margin:0; color:var(--muted); font-size:.88rem; line-height:1.55; }
.editor-kicker { color:#a99cff; font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.compact-grid { gap:14px; }
.editor-panel .form-group { gap:6px; }
.editor-panel .form-group input,
.editor-panel .form-group textarea,
.editor-panel .form-group select { padding:10px 12px; border-radius:10px; }
.editor-panel .form-group textarea { min-height:92px; }
.editor-panel .field-help { display:block; margin-top:1px; color:#8f95a5; font-size:.72rem; line-height:1.45; }
.label-optional { margin-left:4px; color:#777e8f; font-size:.72rem; font-weight:600; }

.form-section { padding:17px 0; border-bottom:1px solid var(--line); }
.form-section:first-of-type { padding-top:0; }
.form-section:last-of-type { border-bottom:0; }
.form-section-title { display:flex; align-items:center; gap:11px; margin-bottom:14px; }
.form-section-title > span { flex:0 0 auto; width:27px; height:27px; display:grid; place-items:center; border-radius:9px; background:rgba(123,92,255,.14); color:#c8c0ff; font-size:.76rem; font-weight:800; }
.form-section-title div { display:grid; gap:2px; }
.form-section-title strong { font-size:.94rem; }
.form-section-title small { color:var(--muted); font-size:.72rem; }

.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.setting-card { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 15px; border:1px solid var(--line); border-radius:13px; background:#0b0e15; }
.setting-copy { display:grid; gap:4px; min-width:0; }
.setting-copy strong { color:#f4f5f8; font-size:.86rem; }
.setting-copy span { color:#8f95a5; font-size:.71rem; line-height:1.45; }
.switch-control { flex:0 0 auto; cursor:pointer; }
.switch-control input { position:absolute; opacity:0; pointer-events:none; }
.switch-track { width:44px; height:25px; display:block; padding:3px; border-radius:999px; background:#303440; border:1px solid rgba(255,255,255,.08); transition:background .2s,border-color .2s; }
.switch-thumb { width:17px; height:17px; display:block; border-radius:50%; background:#f7f7fb; box-shadow:0 2px 7px rgba(0,0,0,.35); transition:transform .2s; }
.switch-control input:checked + .switch-track { background:linear-gradient(135deg,var(--accent),var(--accent-2)); border-color:transparent; }
.switch-control input:checked + .switch-track .switch-thumb { transform:translateX(19px); }
.switch-control input:focus-visible + .switch-track { box-shadow:0 0 0 4px rgba(123,92,255,.2); }

.advanced-settings { margin-top:16px; border:1px solid var(--line); border-radius:13px; background:rgba(255,255,255,.018); overflow:hidden; }
.advanced-settings summary { display:flex; align-items:center; justify-content:space-between; padding:12px 14px; color:#b9bfcc; font-size:.8rem; font-weight:800; cursor:pointer; list-style:none; user-select:none; }
.advanced-settings summary::-webkit-details-marker { display:none; }
.advanced-settings summary::after { content:'＋'; color:#8f95a5; font-size:1rem; }
.advanced-settings[open] summary::after { content:'−'; }
.advanced-settings[open] summary { color:white; border-bottom:1px solid var(--line); }
.advanced-settings-body { padding:14px; }
.input-prefix-row { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#090b11; }
.input-prefix-row > span { padding:0 0 0 12px; color:#717789; font-size:.75rem; white-space:nowrap; }
.input-prefix-row input { border:0 !important; box-shadow:none !important; background:transparent !important; }
.sticky-actions { align-items:center; margin-top:16px; padding-top:15px; border-top:1px solid var(--line); }
.section-subtitle { margin:3px 0 0; color:var(--muted); font-size:.78rem; }
.status-badge { display:inline-flex; align-items:center; min-height:25px; padding:0 9px; border-radius:999px; font-size:.69rem; font-weight:800; white-space:nowrap; }
.status-live { color:#8ff0c2; background:rgba(61,220,151,.09); border:1px solid rgba(61,220,151,.2); }
.status-muted { color:#abb0bd; background:rgba(255,255,255,.045); border:1px solid var(--line); }
.row-note { display:block; width:max-content; margin-top:5px; padding:2px 7px; border-radius:999px; color:#c8c0ff; background:rgba(123,92,255,.12); font-size:.65rem; font-weight:800; }
.table-scroll { overflow-x:auto; }
.inline-actions { align-items:center; }
.inline-actions form { display:flex; margin:0; }
.small-button { line-height:1; white-space:nowrap; }
.media-form-grid .media-picker-field { align-self:start; }

@media (max-width: 760px) {
  .editor-panel { padding:16px; }
  .settings-grid { grid-template-columns:1fr; }
  .setting-card { min-height:72px; }
  .input-prefix-row { grid-template-columns:1fr; }
  .input-prefix-row > span { display:none; }
}

/* Admin V6 — optimisation WebP et comparaison de poids */
.media-manager-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.button:disabled { opacity:.48; cursor:not-allowed; filter:saturate(.45); }
.server-capability { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; margin:16px 0; padding:12px 14px; border:1px solid var(--line); border-radius:13px; background:rgba(255,255,255,.025); }
.server-capability strong { font-size:.82rem; }
.server-capability span { flex:1; min-width:230px; color:var(--muted); font-size:.74rem; line-height:1.45; }
.server-capability a { color:#c9c1ff; font-size:.72rem; font-weight:800; }
.server-capability.is-ready { border-color:rgba(61,220,151,.22); background:rgba(61,220,151,.06); }
.server-capability.is-ready strong { color:#8ff0c2; }
.server-capability.is-warning { border-color:rgba(255,186,82,.26); background:rgba(255,186,82,.07); }
.server-capability.is-warning strong { color:#ffd38d; }

.media-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:11px; margin:17px 0 6px; }
.media-stats article { min-width:0; display:grid; gap:3px; padding:14px; border:1px solid var(--line); border-radius:14px; background:#0b0e15; }
.media-stats article > span { color:var(--muted); font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.media-stats article strong { overflow:hidden; text-overflow:ellipsis; color:#f7f7fb; font-size:1.18rem; letter-spacing:-.035em; }
.media-stats article small { color:#808696; font-size:.66rem; line-height:1.35; }
.media-stats .media-stat-saved { border-color:rgba(61,220,151,.22); background:linear-gradient(145deg,rgba(61,220,151,.09),rgba(123,92,255,.045)); }
.media-stats .media-stat-saved strong { color:#8ff0c2; }

.media-optimization-badge { position:absolute; left:9px; bottom:9px; z-index:2; max-width:calc(100% - 18px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:5px 7px; border-radius:999px; border:1px solid rgba(255,255,255,.14); background:rgba(5,7,11,.78); color:#d7dae3; font-size:.59rem; font-weight:800; backdrop-filter:blur(9px); }
.media-optimization-badge[data-tone="success"] { color:#8ff0c2; border-color:rgba(61,220,151,.28); background:rgba(13,38,30,.8); }
.media-optimization-badge[data-tone="warning"] { color:#ffd38d; border-color:rgba(255,186,82,.28); background:rgba(43,30,10,.82); }
.media-optimization-badge[data-tone="error"] { color:#ff91aa; border-color:rgba(255,61,102,.28); background:rgba(48,13,22,.82); }
.media-weight-comparison { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:7px; margin-top:5px; padding:8px; border-radius:10px; background:rgba(255,255,255,.035); }
.media-weight-comparison > span { min-width:0; display:grid; gap:1px; }
.media-weight-comparison small { color:#747b8d; font-size:.56rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.media-weight-comparison strong { overflow:hidden; text-overflow:ellipsis; color:#e8eaf0; font-size:.68rem; white-space:nowrap; }
.media-weight-comparison i { color:#6f7585; font-size:.72rem; font-style:normal; }
.media-saving-line { display:block; margin-top:6px; color:#8ff0c2 !important; font-size:.64rem !important; font-weight:800; }
.media-saving-line.is-neutral { overflow:hidden; text-overflow:ellipsis; color:#8f95a5 !important; font-weight:600; white-space:nowrap; }
.media-library-card-footer { align-items:flex-end; }
.media-card-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.media-card-actions .small-button { padding:7px 8px; font-size:.64rem; }

.toggle-stack { display:grid; gap:10px; margin-bottom:14px; }
.admin-switch-row { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 14px; border:1px solid var(--line); border-radius:13px; background:#0b0e15; cursor:pointer; }
.admin-switch-copy { min-width:0; display:grid; gap:4px; }
.admin-switch-copy strong { color:#f3f4f8; font-size:.84rem; }
.admin-switch-copy small { color:#8d93a2; font-size:.7rem; line-height:1.45; }
.admin-switch { position:relative; flex:0 0 auto; width:46px; height:26px; }
.admin-switch input { position:absolute; opacity:0; pointer-events:none; }
.admin-switch > span { position:absolute; inset:0; border:1px solid rgba(255,255,255,.09); border-radius:999px; background:#303440; transition:.2s; }
.admin-switch > span::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#f8f8fb; box-shadow:0 2px 8px rgba(0,0,0,.35); transition:transform .2s; }
.admin-switch input:checked + span { border-color:transparent; background:linear-gradient(135deg,var(--accent),var(--accent-2)); }
.admin-switch input:checked + span::after { transform:translateX(20px); }
.admin-switch input:focus-visible + span { box-shadow:0 0 0 4px rgba(123,92,255,.2); }
.media-optimization-grid { margin-top:14px; }
.number-with-suffix { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#090b11; }
.number-with-suffix input { border:0 !important; box-shadow:none !important; background:transparent !important; }
.number-with-suffix > span { padding:0 12px; color:#747b8d; font-size:.72rem; font-weight:700; white-space:nowrap; }
.settings-note { display:grid; gap:4px; margin-top:14px; padding:12px 14px; border-left:3px solid rgba(123,92,255,.65); border-radius:0 11px 11px 0; background:rgba(123,92,255,.07); }
.settings-note strong { color:#d6d0ff; font-size:.78rem; }
.settings-note span { color:#979dae; font-size:.71rem; line-height:1.5; }

@media (max-width: 980px) {
  .media-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .media-manager-actions { width:100%; justify-content:stretch; }
  .media-manager-actions .button { flex:1; }
  .media-stats { grid-template-columns:1fr 1fr; }
  .admin-switch-row { align-items:flex-start; }
  .media-library-card-footer { align-items:stretch; flex-direction:column; }
  .media-card-actions { justify-content:flex-start; }
}
@media (max-width: 460px) {
  .media-stats { grid-template-columns:1fr; }
  .media-manager-actions { flex-direction:column; }
}

/* Admin V7 — médiathèque lisible + diagnostic WebP XAMPP */
.media-library-card {
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
}
.media-library-image { position:relative; }
.media-library-details { align-content:start; }
.media-saving-line.is-neutral {
  min-height:2.55em;
  overflow:hidden;
  white-space:normal;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.media-library-card-footer {
  display:grid;
  grid-template-columns:1fr;
  align-items:stretch;
  gap:9px;
  padding:10px 11px 11px;
  border-top:1px solid rgba(255,255,255,.065);
  background:rgba(6,8,13,.22);
}
.media-library-card-footer > span {
  min-height:18px;
  display:flex;
  align-items:center;
  color:#8f95a5;
  font-size:.68rem;
}
.media-card-actions {
  width:100%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.media-card-actions .small-button {
  width:100%;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 7px;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:.62rem;
}
.media-optimization-badge {
  left:9px;
  right:auto;
  bottom:9px;
  max-width:calc(100% - 18px);
}

.server-capability { justify-content:space-between; }
.server-capability-copy { min-width:0; flex:1; display:grid; gap:4px; }
.server-capability-copy span { min-width:0; }
.server-capability-actions { flex:0 0 auto; display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.server-capability-actions .small-button { min-height:34px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.server-capability.is-warning {
  border-color:rgba(255,186,82,.3);
  background:linear-gradient(135deg,rgba(255,186,82,.09),rgba(123,92,255,.035));
}

.webp-help-panel { width:min(940px,100%); }
.webp-diagnostic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin:4px 0 16px; }
.webp-diagnostic-card { min-width:0; display:flex; align-items:center; gap:12px; padding:14px; border:1px solid var(--line); border-radius:14px; background:#0b0e15; }
.webp-diagnostic-card > span { width:32px; height:32px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; background:rgba(123,92,255,.12); color:#c9c1ff; font-size:.75rem; font-weight:900; }
.webp-diagnostic-card > div { min-width:0; display:grid; gap:3px; }
.webp-diagnostic-card strong { overflow:hidden; text-overflow:ellipsis; color:#f2f3f7; font-size:.8rem; white-space:nowrap; }
.webp-diagnostic-card small { color:#8d93a2; font-size:.7rem; }
.webp-diagnostic-card.is-ok { border-color:rgba(61,220,151,.22); background:rgba(61,220,151,.055); }
.webp-diagnostic-card.is-ok > span { background:rgba(61,220,151,.13); color:#8ff0c2; }
.webp-diagnostic-card.is-missing { border-color:rgba(255,186,82,.24); background:rgba(255,186,82,.055); }
.webp-diagnostic-card.is-missing > span { background:rgba(255,186,82,.12); color:#ffd38d; }
.webp-steps { margin:14px 0 0; padding-left:23px; color:#c9ccd5; font-size:.8rem; line-height:1.7; }
.webp-steps li + li { margin-top:6px; }
.webp-steps.compact { margin-top:0; }
.webp-steps code { display:inline-block; max-width:100%; padding:3px 7px; overflow-wrap:anywhere; border:1px solid rgba(255,255,255,.08); border-radius:7px; background:#080a10; color:#d9d3ff; font-size:.72rem; }
.webp-safety-note { margin-top:18px; }

@media (max-width:760px) {
  .server-capability { align-items:stretch; }
  .server-capability-actions { width:100%; justify-content:flex-start; }
  .webp-diagnostic-grid { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .media-card-actions { grid-template-columns:1fr; }
}

/* V8 — logo de série dans le bandeau + détection automatique YouTube */
.visually-hidden {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.hero-title-logo {
  width:min(560px,72vw);
  max-width:100%;
  max-height:220px;
  margin:0 0 24px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 18px 35px rgba(0,0,0,.34));
}
.series-title-logo { max-height:190px; }
.form-grid > .full { grid-column:1/-1; }
.logo-picker-wrap .media-picker-field { width:100%; }
.logo-picker-wrap .media-field-preview img { object-fit:contain; padding:8px; background:linear-gradient(135deg,#111522,#080a10); }

.youtube-url-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  align-items:stretch;
}
.youtube-url-row input { min-width:0; }
.youtube-fetch-button { min-height:42px; padding-inline:14px; }
.youtube-fetch-button:disabled { opacity:.55; cursor:wait; }
.youtube-detection-status {
  margin-top:2px;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:rgba(255,255,255,.035);
  color:#c8ccd7;
  font-size:.72rem;
  line-height:1.45;
}
.youtube-detection-status[data-tone="loading"] { color:#c9c1ff; border-color:rgba(123,92,255,.28); background:rgba(123,92,255,.08); }
.youtube-detection-status[data-tone="success"] { color:#8ff0c2; border-color:rgba(61,220,151,.24); background:rgba(61,220,151,.07); }
.youtube-detection-status[data-tone="warning"] { color:#ffd38d; border-color:rgba(255,186,82,.26); background:rgba(255,186,82,.07); }
.youtube-detection-status[data-tone="error"] { color:#ff91aa; border-color:rgba(255,61,102,.26); background:rgba(255,61,102,.07); }
.youtube-thumbnail-field .media-picker-field { width:100%; }

@media (max-width:760px) {
  .form-grid > .full { grid-column:auto; }
  .hero-title-logo { width:min(480px,82vw); max-height:165px; }
  .youtube-url-row { grid-template-columns:1fr; }
  .youtube-fetch-button { width:100%; }
}

/* V9 — accueil : ordre chronologique, vrais carrousels et affiches verticales */
.hero-carousel {
  display:block;
  min-height:82vh;
  isolation:isolate;
}
.hero-slides,
.hero-slide {
  position:absolute;
  inset:0;
}
.hero-slide {
  display:grid;
  align-items:end;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .55s ease, visibility .55s ease;
}
.hero-slide.is-active {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:2;
}
.hero-slide .hero-backdrop {
  transform:scale(1.035);
  transition:transform 7s ease;
}
.hero-slide.is-active .hero-backdrop { transform:scale(1.015); }
.hero-arrow {
  position:absolute;
  z-index:8;
  top:50%;
  width:48px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.17);
  border-radius:15px;
  color:#fff;
  background:rgba(5,7,12,.55);
  box-shadow:0 14px 38px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);
  transform:translateY(-50%);
  transition:opacity .2s, transform .2s, background .2s;
}
.hero-arrow:hover:not(:disabled) { background:rgba(20,23,33,.86); transform:translateY(-50%) scale(1.05); }
.hero-arrow:disabled { opacity:.18; cursor:default; }
.hero-arrow-prev { left:clamp(12px,2vw,32px); }
.hero-arrow-next { right:clamp(12px,2vw,32px); }
.hero-pagination {
  position:absolute;
  z-index:9;
  left:50%;
  bottom:54px;
  display:flex;
  gap:8px;
  transform:translateX(-50%);
}
.hero-dot {
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.42);
  transition:width .25s, background .25s;
}
.hero-dot.is-active { width:30px; background:#fff; }

.home-carousel-section { position:relative; }
.home-carousel-section .section-heading { margin-bottom:16px; }
.row-controls button {
  transition:opacity .18s, transform .18s, background .18s, border-color .18s;
}
.row-controls button:hover:not(:disabled) {
  transform:translateY(-1px);
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.2);
}
.row-controls button:disabled { opacity:.28; cursor:default; }
.row-controls[hidden] { display:none !important; }

.media-rail {
  --rail-gap:16px;
  gap:var(--rail-gap);
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  scroll-padding-inline:2px;
}
.episode-rail {
  grid-auto-columns:calc((100% - 64px) / 5);
  padding-bottom:18px;
}
.episode-card {
  min-height:0;
  aspect-ratio:16 / 9;
  border-radius:16px;
}
.episode-card .card-body { padding:18px; }
.episode-card .card-body h3 {
  margin:5px 0 8px;
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:clamp(.88rem,1.05vw,1.12rem);
  line-height:1.18;
}
.episode-card .card-kicker { font-size:.61rem; }
.release-date {
  display:block;
  color:#d2d5df;
  font-size:.69rem;
  font-weight:600;
}
.episode-card .badge { padding:6px 9px; font-size:.63rem; }
.episode-card .card-top { top:10px; left:10px; right:10px; }

.poster-rail {
  --rail-gap:14px;
  grid-auto-columns:calc((100% - 84px) / 7);
  padding:4px 2px 18px;
}
.series-poster-card {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:#17121d;
  scroll-snap-align:start;
  box-shadow:0 10px 30px rgba(0,0,0,.2);
  transition:transform .25s, border-color .25s, box-shadow .25s;
}
.series-poster-card:hover {
  transform:translateY(-6px);
  border-color:rgba(123,92,255,.5);
  box-shadow:0 22px 55px rgba(0,0,0,.38);
}
.series-poster-visual {
  width:100%;
  aspect-ratio:2 / 3;
  overflow:hidden;
  background:#11141d;
}
.series-poster-visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.series-poster-card:hover .series-poster-visual img { transform:scale(1.035); }
.series-poster-title {
  min-height:55px;
  display:flex;
  align-items:center;
  padding:11px 12px;
  background:linear-gradient(135deg,rgba(123,92,255,.1),rgba(255,255,255,.025));
}
.series-poster-title h3 {
  margin:0;
  overflow:hidden;
  color:#f5f5f8;
  font-size:.82rem;
  line-height:1.25;
  letter-spacing:-.02em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.category-section .section-heading p { display:none; }

@media (max-width:1400px) {
  .episode-rail { grid-auto-columns:calc((100% - 48px) / 4); }
  .poster-rail { grid-auto-columns:calc((100% - 70px) / 6); }
}
@media (max-width:1100px) {
  .episode-rail { grid-auto-columns:calc((100% - 32px) / 3); }
  .poster-rail { grid-auto-columns:calc((100% - 42px) / 4); }
}
@media (max-width:760px) {
  .hero-carousel { min-height:76vh; }
  .hero-arrow { width:40px; height:48px; top:54%; }
  .hero-arrow-prev { left:8px; }
  .hero-arrow-next { right:8px; }
  .hero-pagination { bottom:24px; }
  .episode-rail { grid-auto-columns:calc((100% - 16px) / 2); }
  .poster-rail { grid-auto-columns:calc((100% - 28px) / 3); }
  .episode-card .card-top .badge:last-child { display:none; }
}
@media (max-width:520px) {
  .section-heading { align-items:center; }
  .section-heading p { font-size:.8rem; }
  .row-controls button { width:36px; height:36px; }
  .episode-rail { grid-auto-columns:86vw; }
  .poster-rail { grid-auto-columns:42vw; }
  .series-poster-title { min-height:49px; padding:9px 10px; }
  .series-poster-title h3 { font-size:.76rem; }
}

/* V10 — carrousel héro aux bords + collections contenant plusieurs séries */
.hero-edge {
  position:absolute;
  z-index:12;
  top:72px;
  bottom:0;
  width:clamp(48px,4.5vw,82px);
  padding:0;
  border:0;
  color:#fff;
  background:transparent;
  outline:none;
}
.hero-edge::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .22s ease;
  pointer-events:none;
}
.hero-edge-prev { left:0; }
.hero-edge-next { right:0; }
.hero-edge-prev::before { background:linear-gradient(90deg,rgba(3,5,10,.72),transparent); }
.hero-edge-next::before { background:linear-gradient(-90deg,rgba(3,5,10,.72),transparent); }
.hero-edge > span {
  position:absolute;
  top:50%;
  width:46px;
  height:72px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:15px;
  background:rgba(7,9,15,.7);
  box-shadow:0 14px 38px rgba(0,0,0,.32);
  backdrop-filter:blur(15px);
  font-size:2.25rem;
  line-height:1;
  opacity:0;
  transform:translateY(-50%) scale(.92);
  transition:opacity .2s ease, transform .2s ease, background .2s ease;
  pointer-events:none;
}
.hero-edge-prev > span { left:10px; }
.hero-edge-next > span { right:10px; }
.hero-edge:hover::before,
.hero-edge:focus-visible::before { opacity:1; }
.hero-edge:hover > span,
.hero-edge:focus-visible > span {
  opacity:1;
  transform:translateY(-50%) scale(1);
}
.hero-edge:active > span { transform:translateY(-50%) scale(.96); }
.hero-edge:disabled { display:none; }
.hero-carousel:focus-visible { outline:2px solid rgba(123,92,255,.7); outline-offset:-2px; }
.hero-carousel .hero-pagination { z-index:13; }

.collection-series-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:15px;
}
.collection-series-card {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:#15111b;
  box-shadow:0 12px 36px rgba(0,0,0,.22);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.collection-series-card:hover {
  transform:translateY(-6px);
  border-color:rgba(123,92,255,.52);
  box-shadow:0 22px 58px rgba(0,0,0,.38);
}
.collection-series-poster {
  aspect-ratio:2/3;
  overflow:hidden;
  background:#10131b;
}
.collection-series-poster img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.collection-series-card:hover img { transform:scale(1.035); }
.collection-series-info {
  min-height:68px;
  display:grid;
  align-content:center;
  gap:4px;
  padding:11px 12px;
  background:linear-gradient(135deg,rgba(123,92,255,.1),rgba(255,255,255,.02));
}
.collection-series-info h3 {
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#f4f5f8;
  font-size:.82rem;
  line-height:1.25;
  white-space:nowrap;
}
.collection-series-info span { color:#9298a8; font-size:.67rem; font-weight:700; }
.back-to-collection {
  display:inline-flex;
  margin:0 0 24px;
  color:#c9c2ff;
  font-size:.84rem;
  font-weight:800;
}
.back-to-collection:hover { color:#fff; }

.content-type-choices {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.content-type-card {
  position:relative;
  min-height:94px;
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#0b0e15;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.content-type-card:hover { transform:translateY(-1px); border-color:rgba(123,92,255,.34); }
.content-type-card input { margin:3px 0 0; accent-color:var(--accent); }
.content-type-card span { display:grid; gap:5px; }
.content-type-card strong { font-size:.86rem; }
.content-type-card small { color:#8f95a5; font-size:.71rem; line-height:1.45; }
.content-type-card:has(input:checked) {
  border-color:rgba(123,92,255,.55);
  background:linear-gradient(145deg,rgba(123,92,255,.13),rgba(12,15,23,.96));
  box-shadow:inset 0 0 0 1px rgba(123,92,255,.08);
}
.hierarchy-fields { margin-top:4px; }
.type-note { color:#9fe6ff; background:rgba(32,217,255,.1); }
.table-help { display:block; margin-top:4px; color:#858b9b; font-size:.66rem; }

@media (max-width:1400px) {
  .collection-series-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
@media (max-width:1100px) {
  .collection-series-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .hero-edge { top:64px; width:48px; }
  .hero-edge > span { width:38px; height:56px; opacity:.68; font-size:1.8rem; }
  .hero-edge-prev > span { left:5px; }
  .hero-edge-next > span { right:5px; }
  .content-type-choices { grid-template-columns:1fr; }
  .collection-series-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
}
@media (max-width:520px) {
  .collection-series-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* V11 — carrousel héro fiabilisé : vraie piste horizontale pilotée par JavaScript */
.hero-carousel {
  position:relative;
  display:block;
  min-height:82vh;
  overflow:hidden;
  isolation:isolate;
}
.hero-viewport {
  position:absolute;
  inset:0;
  overflow:hidden;
}
.hero-carousel .hero-slides {
  position:relative;
  inset:auto;
  width:100%;
  height:100%;
  min-height:82vh;
  display:flex;
  align-items:stretch;
  transform:translate3d(0,0,0);
  transition:transform .62s cubic-bezier(.22,.72,.18,1);
  will-change:transform;
}
.hero-carousel .hero-slides.is-jump { transition:none !important; }
.hero-carousel .hero-slide {
  position:relative;
  inset:auto;
  flex:0 0 100%;
  width:100%;
  min-width:100%;
  min-height:82vh;
  display:grid;
  align-items:end;
  overflow:hidden;
  opacity:1;
  visibility:visible;
  pointer-events:none;
  z-index:auto;
  transition:none;
}
.hero-carousel .hero-slide.is-active {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:auto;
}
.hero-carousel .hero-slide .hero-backdrop {
  background-image:var(--hero-desktop-image);
  transform:scale(1.025);
  transition:transform 7s ease;
}
.hero-carousel .hero-slide.is-active .hero-backdrop { transform:scale(1.01); }

.hero-carousel .hero-edge {
  position:absolute;
  z-index:20;
  top:72px;
  bottom:0;
  width:clamp(44px,3.6vw,64px);
  padding:0;
  border:0;
  color:#fff;
  background:transparent;
  outline:none;
  cursor:pointer;
  touch-action:manipulation;
}
.hero-carousel .hero-edge-prev { left:0; }
.hero-carousel .hero-edge-next { right:0; }
.hero-carousel .hero-edge::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.06;
  transition:opacity .2s ease;
  pointer-events:none;
}
.hero-carousel .hero-edge-prev::before { background:linear-gradient(90deg,rgba(3,5,10,.78),transparent); }
.hero-carousel .hero-edge-next::before { background:linear-gradient(-90deg,rgba(3,5,10,.78),transparent); }
.hero-carousel .hero-edge > span {
  position:absolute;
  top:50%;
  width:44px;
  height:70px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.2);
  border-radius:15px;
  background:rgba(7,9,15,.78);
  box-shadow:0 14px 38px rgba(0,0,0,.34);
  backdrop-filter:blur(15px);
  font-size:2.2rem;
  line-height:1;
  opacity:.18;
  transform:translateY(-50%) scale(.94);
  transition:opacity .18s ease,transform .18s ease,background .18s ease;
  pointer-events:none;
}
.hero-carousel .hero-edge-prev > span { left:5px; }
.hero-carousel .hero-edge-next > span { right:5px; }
.hero-carousel .hero-edge:hover::before,
.hero-carousel .hero-edge:focus-visible::before { opacity:1; }
.hero-carousel .hero-edge:hover > span,
.hero-carousel .hero-edge:focus-visible > span {
  opacity:1;
  transform:translateY(-50%) scale(1);
  background:rgba(15,18,29,.92);
}
.hero-carousel .hero-edge:active > span { transform:translateY(-50%) scale(.96); }
.hero-carousel .hero-edge:disabled { display:none; }

.hero-carousel .hero-pagination {
  position:absolute;
  z-index:21;
  left:50%;
  bottom:42px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  background:rgba(7,9,15,.38);
  backdrop-filter:blur(12px);
  transform:translateX(-50%);
}
.hero-counter {
  min-width:34px;
  color:rgba(255,255,255,.76);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.06em;
  text-align:center;
}
.hero-dots { display:flex; align-items:center; gap:7px; }
.hero-carousel .hero-dot {
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.38);
  cursor:pointer;
  transition:width .22s ease,background .22s ease,transform .22s ease;
}
.hero-carousel .hero-dot:hover { background:rgba(255,255,255,.72); transform:scale(1.08); }
.hero-carousel .hero-dot.is-active { width:28px; background:#fff; }
.hero-carousel:focus-visible { outline:2px solid rgba(123,92,255,.72); outline-offset:-2px; }

@media (max-width:760px) {
  .hero-carousel,
  .hero-carousel .hero-slides,
  .hero-carousel .hero-slide { min-height:76vh; }
  .hero-carousel .hero-edge { top:64px; width:44px; }
  .hero-carousel .hero-edge > span { width:36px; height:54px; opacity:.62; font-size:1.75rem; }
  .hero-carousel .hero-edge-prev > span { left:3px; }
  .hero-carousel .hero-edge-next > span { right:3px; }
  .hero-carousel .hero-pagination { bottom:22px; }
}

@media (hover:none) {
  .hero-carousel .hero-edge::before { opacity:.18; }
  .hero-carousel .hero-edge > span { opacity:.7; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-carousel .hero-slides { transition:none; }
  .hero-carousel .hero-slide .hero-backdrop { transition:none; }
}

.hero-admin-status {
  flex:0 0 210px;
  display:grid;
  gap:2px;
  padding:12px 14px;
  border:1px solid rgba(255,196,87,.24);
  border-radius:14px;
  background:rgba(255,196,87,.07);
}
.hero-admin-status strong { font-size:1.05rem; }
.hero-admin-status span { color:#f0c86c; font-size:.76rem; font-weight:800; }
.hero-admin-status small { color:#9aa0ae; font-size:.68rem; line-height:1.4; }
.hero-admin-status.is-ready { border-color:rgba(61,220,151,.24); background:rgba(61,220,151,.07); }
.hero-admin-status.is-ready span { color:#8ff0c2; }
@media (max-width:760px) {
  .editor-heading { flex-direction:column; }
  .hero-admin-status { width:100%; flex-basis:auto; }
}

/* V12 — espacement accueil, boucle héro infinie et contenus programmés */
.home-content-shell {
  margin-top:0 !important;
  padding-top:38px;
}
.hero-carousel .hero-slide.is-clone {
  pointer-events:none !important;
}
.upcoming-section {
  position:relative;
}
.upcoming-card::before {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(135deg,rgba(123,92,255,.08),transparent 48%);
  pointer-events:none;
}
.upcoming-card .upcoming-badge {
  border-color:rgba(123,92,255,.5);
  background:rgba(69,43,153,.7);
}
.upcoming-date {
  color:#c9c1ff;
}
.scheduled-release-pill {
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:0 17px;
  border:1px solid rgba(123,92,255,.36);
  border-radius:13px;
  background:rgba(123,92,255,.14);
  color:#e3deff;
  font-weight:800;
  backdrop-filter:blur(12px);
}
.upcoming-detail-state {
  border-color:rgba(123,92,255,.25);
  background:linear-gradient(135deg,rgba(123,92,255,.1),rgba(255,255,255,.025));
}
.status-badge.status-scheduled {
  color:#ffd38d;
  border-color:rgba(255,186,82,.3);
  background:rgba(255,186,82,.1);
}

@media (max-width:760px) {
  .home-content-shell { padding-top:28px; }
}
.hero-carousel .hero-slide.is-clone .hero-backdrop {
  transform:scale(1.01);
}

/* V13 — zones du carrousel séparées des boutons et des sections suivantes */
.hero-carousel .hero-content {
  padding-bottom:clamp(104px,11vh,138px);
}

/*
 * Les boutons du carrousel ne couvrent plus toute la hauteur du héros.
 * Ils deviennent de petits contrôles centrés verticalement, affichés seulement
 * lorsque la souris approche réellement du bord correspondant.
 */
.hero-carousel .hero-edge {
  top:50%;
  bottom:auto;
  width:58px;
  height:88px;
  opacity:0;
  pointer-events:none;
  transform:translateY(-50%);
  transition:opacity .18s ease;
}
.hero-carousel .hero-edge-prev { left:10px; }
.hero-carousel .hero-edge-next { right:10px; }
.hero-carousel .hero-edge::before {
  inset:-20px -10px;
  border-radius:18px;
}
.hero-carousel .hero-edge > span {
  top:50%;
  left:0;
  right:0;
  width:100%;
  height:100%;
  opacity:1;
  transform:translateY(-50%) scale(.96);
}
.hero-carousel .hero-edge-prev > span,
.hero-carousel .hero-edge-next > span {
  left:0;
  right:0;
}
.hero-carousel.is-near-left .hero-edge-prev,
.hero-carousel.is-near-right .hero-edge-next,
.hero-carousel .hero-edge:focus-visible {
  opacity:1;
  pointer-events:auto;
}
.hero-carousel.is-near-left .hero-edge-prev > span,
.hero-carousel.is-near-right .hero-edge-next > span,
.hero-carousel .hero-edge:focus-visible > span {
  transform:translateY(-50%) scale(1);
}

/* Les indicateurs ont leur propre zone, loin des boutons d'action. */
.hero-carousel .hero-pagination {
  left:auto;
  right:clamp(22px,4vw,64px);
  bottom:28px;
  transform:none;
}

/* Séparation visuelle nette entre le héros et le catalogue de l'accueil. */
.home-content-shell {
  position:relative;
  z-index:5;
  padding-top:54px;
  background:var(--bg);
  border-top:1px solid rgba(255,255,255,.055);
}
.home-content-shell::before {
  content:"";
  position:absolute;
  z-index:-1;
  left:0;
  right:0;
  top:-34px;
  height:34px;
  background:linear-gradient(180deg,transparent,var(--bg));
  pointer-events:none;
}

@media (max-width:760px) {
  .hero-carousel .hero-content { padding-bottom:104px; }
  .hero-carousel .hero-pagination {
    right:14px;
    bottom:18px;
  }
  .home-content-shell { padding-top:40px; }
}

@media (hover:none) {
  .hero-carousel .hero-edge {
    width:44px;
    height:64px;
    opacity:.78;
    pointer-events:auto;
  }
  .hero-carousel .hero-edge-prev { left:5px; }
  .hero-carousel .hero-edge-next { right:5px; }
}

/* V14 — hauteur stable du bandeau et contenu responsive entre les diapositives */
.hero-carousel {
  /* Une longue description ne peut plus agrandir le carrousel. */
  height:clamp(620px,82svh,900px);
  min-height:0;
}
.hero-carousel .hero-viewport,
.hero-carousel .hero-slides,
.hero-carousel .hero-slide {
  height:100%;
  min-height:0;
}
.hero-carousel .hero-slide {
  align-items:stretch;
}
.hero-carousel .hero-content {
  box-sizing:border-box;
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  padding-top:clamp(108px,15vh,150px);
  padding-bottom:clamp(104px,12vh,132px);
}
.hero-carousel .hero-content > .eyebrow,
.hero-carousel .hero-content > h1,
.hero-carousel .hero-content > .hero-title-logo,
.hero-carousel .hero-content > .actions {
  flex:0 0 auto;
}
.hero-carousel .hero-content > p {
  display:-webkit-box;
  max-width:650px;
  margin-bottom:24px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  line-clamp:4;
  flex:0 1 auto;
}
.hero-carousel .hero-content > .actions {
  align-items:center;
  flex-wrap:nowrap;
}
.hero-carousel .hero-content > .actions .button {
  flex:0 0 auto;
  white-space:nowrap;
}

/* Écrans peu hauts : on réduit le logo et le texte avant de toucher aux boutons. */
@media (min-width:761px) and (max-height:760px) {
  .hero-carousel {
    height:clamp(570px,88svh,680px);
  }
  .hero-carousel .hero-content {
    padding-top:96px;
    padding-bottom:88px;
  }
  .hero-carousel .hero-title-logo {
    width:min(470px,62vw);
    max-height:145px;
    margin-bottom:16px;
  }
  .hero-carousel h1 {
    margin-bottom:14px;
    font-size:clamp(3rem,6vw,5.4rem);
  }
  .hero-carousel .hero-content > p {
    margin-bottom:18px;
    font-size:1rem;
    line-height:1.55;
    -webkit-line-clamp:3;
    line-clamp:3;
  }
}

@media (min-width:761px) and (max-height:620px) {
  .hero-carousel {
    height:560px;
  }
  .hero-carousel .hero-content {
    padding-top:82px;
    padding-bottom:76px;
  }
  .hero-carousel .eyebrow {
    margin-bottom:12px;
  }
  .hero-carousel .hero-title-logo {
    max-height:112px;
    margin-bottom:12px;
  }
  .hero-carousel h1 {
    margin-bottom:10px;
    font-size:clamp(2.8rem,5.5vw,4.7rem);
  }
  .hero-carousel .hero-content > p {
    margin-bottom:14px;
    -webkit-line-clamp:2;
    line-clamp:2;
  }
  .hero-carousel .button {
    min-height:44px;
  }
}

@media (max-width:760px) {
  .hero-carousel {
    height:max(640px,86svh);
    min-height:0;
  }
  .hero-carousel .hero-slides,
  .hero-carousel .hero-slide {
    min-height:0;
  }
  .hero-carousel .hero-content {
    width:100%;
    padding:104px 20px 104px;
  }
  .hero-carousel .hero-title-logo {
    width:min(430px,82vw);
    max-height:138px;
    margin-bottom:18px;
  }
  .hero-carousel h1 {
    margin-bottom:14px;
  }
  .hero-carousel .hero-content > p {
    margin-bottom:20px;
    font-size:.98rem;
    line-height:1.58;
    -webkit-line-clamp:4;
    line-clamp:4;
  }
  .hero-carousel .hero-content > .actions {
    width:100%;
    flex-wrap:wrap;
  }
  .hero-carousel .hero-content > .actions .button {
    flex:1 1 180px;
  }
}

@media (max-width:520px) {
  .hero-carousel {
    height:max(650px,88svh);
  }
  .hero-carousel .hero-content {
    padding:96px 16px 96px;
  }
  .hero-carousel .hero-title-logo {
    max-height:116px;
  }
  .hero-carousel .hero-content > p {
    -webkit-line-clamp:3;
    line-clamp:3;
  }
  .hero-carousel .hero-content > .actions {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .hero-carousel .hero-content > .actions .button {
    width:100%;
    min-width:0;
  }
}

/* Téléphones et petites fenêtres en paysage : tout reste visible sans étirer le slide. */
@media (max-width:900px) and (max-height:560px) and (orientation:landscape) {
  .hero-carousel {
    height:max(420px,100svh);
  }
  .hero-carousel .hero-content {
    width:min(660px,82%);
    padding:78px 54px 62px;
  }
  .hero-carousel .eyebrow {
    margin-bottom:9px;
    font-size:.68rem;
  }
  .hero-carousel .hero-title-logo {
    width:min(360px,54vw);
    max-height:88px;
    margin-bottom:9px;
  }
  .hero-carousel h1 {
    margin-bottom:8px;
    font-size:clamp(2.6rem,7vw,4rem);
  }
  .hero-carousel .hero-content > p {
    max-width:590px;
    margin-bottom:12px;
    font-size:.9rem;
    line-height:1.45;
    -webkit-line-clamp:2;
    line-clamp:2;
  }
  .hero-carousel .hero-content > .actions {
    display:flex;
    width:auto;
    flex-wrap:nowrap;
    gap:8px;
  }
  .hero-carousel .hero-content > .actions .button {
    width:auto;
    min-height:42px;
    padding-inline:15px;
    font-size:.86rem;
  }
  .hero-carousel .hero-pagination {
    right:12px;
    bottom:12px;
  }
}

/* V15 — cartes de sorties avec métadonnées sous l'image + recherche instantanée */
.release-card {
  min-width:0;
  display:block;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#10131b;
  scroll-snap-align:start;
  box-shadow:0 12px 36px rgba(0,0,0,.22);
  transition:transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.release-card:hover {
  transform:translateY(-5px);
  border-color:rgba(123,92,255,.46);
  box-shadow:0 22px 55px rgba(0,0,0,.36);
}
.release-card-visual {
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:#0b0d14;
}
.release-card-visual::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(5,6,10,.3),transparent 48%);
  pointer-events:none;
}
.release-card-visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.release-card:hover .release-card-visual img { transform:scale(1.025); }
.release-card-badges {
  position:absolute;
  z-index:2;
  top:10px;
  left:10px;
  right:10px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.release-card-badges .badge { padding:6px 9px; font-size:.63rem; }
.release-card-info {
  min-height:118px;
  display:flex;
  flex-direction:column;
  padding:13px 14px 15px;
  background:linear-gradient(135deg,rgba(123,92,255,.07),rgba(255,255,255,.015));
}
.release-card-kicker {
  overflow:hidden;
  color:#bdb5ff;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.1em;
  line-height:1.3;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.release-card-info h3 {
  margin:5px 0 9px;
  display:-webkit-box;
  overflow:hidden;
  color:#f5f6fa;
  font-size:clamp(.85rem,1vw,1.06rem);
  line-height:1.23;
  letter-spacing:-.035em;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.release-card-info .release-date {
  margin-top:auto;
  color:#aeb3c1;
  font-size:.68rem;
  font-weight:650;
}
.upcoming-release-card .release-card-info {
  background:linear-gradient(135deg,rgba(123,92,255,.13),rgba(255,255,255,.018));
}
.upcoming-release-card .upcoming-date { color:#d1c9ff; }

/* Recherche globale : suggestions réelles au fil de la saisie. */
.search-panel {
  width:min(900px,calc(100% - 32px));
  max-height:min(720px,76vh);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.search-panel-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.search-panel-heading label { margin:2px 0 0; }
.search-eyebrow {
  display:block;
  margin-bottom:4px;
  color:#a99fff;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.search-close-icon {
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.05);
  color:#d5d8e2;
  font-size:1.35rem;
  line-height:1;
}
.search-close-icon:hover { background:rgba(255,255,255,.1); color:white; }
.search-suggestions {
  min-height:76px;
  margin-top:16px;
  overflow:auto;
  overscroll-behavior:contain;
  border-top:1px solid rgba(255,255,255,.07);
  padding-top:14px;
  scrollbar-width:thin;
}
.search-hint,
.search-status {
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:15px;
  color:var(--muted);
  font-size:.85rem;
  text-align:center;
}
.search-status.is-error { color:#ff9aaf; }
.search-results-list { display:grid; gap:7px; }
.search-result-item {
  display:grid;
  grid-template-columns:112px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  min-width:0;
  padding:8px;
  border:1px solid transparent;
  border-radius:14px;
  background:rgba(255,255,255,.025);
  transition:background .18s,border-color .18s,transform .18s;
}
.search-result-item:hover,
.search-result-item.is-selected {
  border-color:rgba(123,92,255,.35);
  background:rgba(123,92,255,.1);
  transform:translateX(2px);
}
.search-result-thumb {
  width:112px;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:10px;
  background:#151822;
}
.search-result-thumb img { width:100%; height:100%; object-fit:cover; }
.search-result-copy { min-width:0; }
.search-result-kind {
  display:block;
  margin-bottom:3px;
  overflow:hidden;
  color:#aaa1ff;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.07em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.search-result-copy strong {
  display:block;
  overflow:hidden;
  color:#f6f7fb;
  font-size:.91rem;
  letter-spacing:-.02em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.search-result-copy small {
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:#8f95a5;
  font-size:.7rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.search-result-arrow { color:#7e8494; padding:0 5px; font-size:1rem; }
.search-results-footer {
  display:flex;
  justify-content:center;
  padding:12px 4px 3px;
}
.search-results-footer button {
  min-height:36px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:rgba(255,255,255,.05);
  color:#e8eaf0;
  font-weight:750;
}

/* Page complète de recherche — utile après Entrée ou le bouton Rechercher. */
.search-page-hero { padding-bottom:28px; }
.search-page-form { max-width:760px; display:flex; gap:10px; margin-top:24px; }
.search-page-form input {
  flex:1;
  min-width:0;
  padding:0 17px;
  min-height:50px;
  border:1px solid var(--line);
  border-radius:14px;
  outline:none;
  background:#090b11;
  color:white;
}
.search-page-form input:focus { border-color:var(--accent); box-shadow:0 0 0 4px rgba(123,92,255,.12); }
.search-page-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.search-page-card {
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#11141d;
  transition:transform .22s,border-color .22s;
}
.search-page-card:hover { transform:translateY(-5px); border-color:rgba(123,92,255,.45); }
.search-page-card-visual { position:relative; aspect-ratio:16/9; overflow:hidden; background:#0b0d14; }
.search-page-card-visual img { width:100%; height:100%; object-fit:cover; }
.search-type-badge {
  position:absolute;
  left:9px;
  bottom:9px;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(5,6,10,.68);
  backdrop-filter:blur(10px);
  font-size:.62rem;
  font-weight:800;
}
.search-page-card-copy { padding:13px 14px 15px; }
.search-page-card-copy > span { color:#aaa1ff; font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.search-page-card-copy h2 { margin:5px 0 7px; font-size:1rem; letter-spacing:-.035em; }
.search-page-card-copy small { color:var(--muted); font-size:.7rem; }

@media (max-width:1000px) {
  .search-page-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .release-card-info { min-height:108px; }
  .search-overlay { padding-top:9vh; }
  .search-panel { max-height:84vh; padding:20px; }
  .search-result-item { grid-template-columns:88px minmax(0,1fr) auto; gap:10px; }
  .search-result-thumb { width:88px; }
  .search-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .release-card-badges .badge:last-child { display:none; }
  .search-panel-heading label { font-size:1.15rem; }
  .search-suggestions { margin-top:12px; }
  .search-result-item { grid-template-columns:78px minmax(0,1fr); }
  .search-result-thumb { width:78px; }
  .search-result-arrow { display:none; }
  .search-page-form { flex-direction:column; }
  .search-page-form .button { width:100%; }
  .search-page-grid { grid-template-columns:1fr; }
}

/* V16 — médiathèque : vignettes stables + défilement interne */
.media-modal-dialog {
  height:min(880px, calc(100dvh - 40px));
}
.media-modal-dialog > .media-library-grid {
  min-height:0;
  height:100%;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
  grid-auto-rows:max-content;
  align-items:start;
  align-content:start;
  padding-right:10px;
}
.media-modal-dialog .media-library-card {
  align-self:start;
  height:auto;
  min-height:0;
}
.media-modal-dialog .media-library-image {
  flex:none;
  min-height:112px;
  aspect-ratio:16 / 10;
}
.media-modal-dialog .media-library-details {
  min-height:118px;
}
.media-modal-dialog .media-library-grid::-webkit-scrollbar {
  width:10px;
}
.media-modal-dialog .media-library-grid::-webkit-scrollbar-track {
  background:rgba(255,255,255,.025);
  border-radius:999px;
}
.media-modal-dialog .media-library-grid::-webkit-scrollbar-thumb {
  background:rgba(255,255,255,.16);
  border:2px solid #0e1119;
  border-radius:999px;
}
.media-modal-dialog .media-library-grid::-webkit-scrollbar-thumb:hover {
  background:rgba(255,255,255,.25);
}
.media-card-actions .danger:not(:disabled) {
  border-color:rgba(255,61,102,.24);
}

@media (max-width:760px) {
  .media-modal-dialog {
    height:100dvh;
    max-height:100dvh;
  }
  .media-modal-dialog > .media-library-grid {
    grid-template-columns:repeat(auto-fill, minmax(155px, 1fr));
  }
}
@media (max-width:420px) {
  .media-modal-dialog > .media-library-grid {
    grid-template-columns:1fr 1fr;
  }
  .media-modal-dialog .media-library-details {
    min-height:106px;
  }
}

/* V17 — Catalogue en affiches verticales, identique au langage visuel de l'accueil */
.catalogue-shell {
  padding-top:18px;
}
.catalogue-results-label {
  margin:0 0 20px;
  color:var(--muted);
}
.catalogue-poster-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
.catalogue-poster-card {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:#17121d;
  box-shadow:0 10px 30px rgba(0,0,0,.2);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.catalogue-poster-card:hover,
.catalogue-poster-card:focus-visible {
  transform:translateY(-6px);
  border-color:rgba(123,92,255,.52);
  box-shadow:0 22px 55px rgba(0,0,0,.38);
  outline:none;
}
.catalogue-poster-visual {
  width:100%;
  aspect-ratio:2 / 3;
  overflow:hidden;
  background:#11141d;
}
.catalogue-poster-visual img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.catalogue-poster-card:hover .catalogue-poster-visual img,
.catalogue-poster-card:focus-visible .catalogue-poster-visual img {
  transform:scale(1.035);
}
.catalogue-poster-title {
  min-height:56px;
  display:flex;
  align-items:center;
  padding:11px 12px;
  background:linear-gradient(135deg,rgba(123,92,255,.1),rgba(255,255,255,.025));
}
.catalogue-poster-title h2 {
  margin:0;
  overflow:hidden;
  color:#f5f5f8;
  font-size:.84rem;
  line-height:1.25;
  letter-spacing:-.02em;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width:1500px) {
  .catalogue-poster-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
@media (max-width:1200px) {
  .catalogue-poster-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width:980px) {
  .catalogue-poster-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
}
@media (max-width:720px) {
  .catalogue-poster-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .catalogue-poster-title { min-height:50px; padding:9px 10px; }
  .catalogue-poster-title h2 { font-size:.78rem; }
}
@media (max-width:480px) {
  .catalogue-poster-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
}

/* V18 — Gestionnaire central du carrousel */
.carousel-admin-summary {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}
.carousel-admin-summary h2 { margin:5px 0 8px; font-size:clamp(1.55rem,2.4vw,2.35rem); letter-spacing:-.045em; }
.carousel-admin-summary p { margin:0; max-width:820px; color:#969cab; line-height:1.65; }
.carousel-capacity {
  flex:0 0 auto;
  min-width:126px;
  padding:15px 18px;
  border:1px solid rgba(123,92,255,.3);
  border-radius:16px;
  background:rgba(123,92,255,.08);
  display:grid;
  text-align:center;
}
.carousel-capacity strong { font-size:1.45rem; color:#fff; }
.carousel-capacity span { margin-top:2px; color:#aaa2df; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.carousel-capacity.is-full { border-color:rgba(240,190,82,.34); background:rgba(240,190,82,.08); }
.carousel-capacity.is-full span { color:#f1ca77; }
.carousel-preview-panel { overflow:hidden; }
.carousel-admin-preview-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:14px;
}
.carousel-admin-preview {
  position:relative;
  min-height:230px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:17px;
  background:#090b11 var(--preview-bg) center/cover no-repeat;
  isolation:isolate;
}
.carousel-admin-preview::before { content:""; position:absolute; inset:0; z-index:-2; background:var(--preview-bg) center/cover no-repeat; transform:scale(1.01); }
.carousel-preview-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(4,5,10,.96) 0%,rgba(4,5,10,.72) 47%,rgba(4,5,10,.15) 100%),linear-gradient(0deg,rgba(4,5,10,.74),transparent 65%); }
.carousel-preview-content { position:absolute; inset:auto 18px 18px 18px; max-width:72%; display:grid; gap:8px; }
.carousel-preview-content small { color:#c6c7d3; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.carousel-preview-content strong { font-size:clamp(1.2rem,2vw,1.8rem); letter-spacing:-.04em; line-height:1.02; }
.carousel-preview-content img { display:block; max-width:230px; max-height:78px; object-fit:contain; object-position:left center; }
.carousel-preview-content p { display:-webkit-box; margin:0; overflow:hidden; color:#d0d2da; font-size:.76rem; line-height:1.45; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.carousel-preview-button { width:max-content; max-width:100%; padding:7px 10px; border-radius:9px; background:#f7f7fa; color:#101117; font-size:.68rem; font-weight:800; }
.carousel-preview-number { position:absolute; right:-4px; bottom:-4px; z-index:-1; color:rgba(255,255,255,.08); font-size:5rem; font-weight:900; line-height:.8; }
.carousel-manager-list { display:grid; gap:10px; }
.carousel-manager-row {
  display:grid;
  grid-template-columns:38px 112px minmax(180px,1fr) auto;
  align-items:center;
  gap:14px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#0b0e15;
}
.carousel-order-number { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; background:rgba(123,92,255,.14); color:#c7baff; font-weight:900; }
.carousel-order-number.is-reserve { color:#8f95a5; background:#171a22; }
.carousel-manager-thumb { width:112px; aspect-ratio:16/9; overflow:hidden; border-radius:11px; background:#151821; }
.carousel-manager-thumb img { width:100%; height:100%; object-fit:cover; }
.carousel-manager-copy { min-width:0; display:grid; gap:3px; }
.carousel-manager-copy > span { color:#8f84da; font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.carousel-manager-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.carousel-manager-copy small { color:#8e94a4; }
.carousel-manager-actions { justify-content:flex-end; flex-wrap:wrap; }
.carousel-manager-actions form { margin:0; }
.small-button:disabled { opacity:.34; pointer-events:none; }
.carousel-reset-form { margin-top:14px; }
.hero-admin-status a { color:inherit; text-decoration:underline; text-underline-offset:3px; }

@media (max-width: 900px) {
  .carousel-admin-summary { align-items:flex-start; }
  .carousel-manager-row { grid-template-columns:36px 94px 1fr; }
  .carousel-manager-thumb { width:94px; }
  .carousel-manager-actions { grid-column:2 / -1; justify-content:flex-start; }
}
@media (max-width: 620px) {
  .carousel-admin-summary { display:grid; }
  .carousel-capacity { width:100%; }
  .carousel-admin-preview-list { grid-template-columns:1fr; }
  .carousel-manager-row { grid-template-columns:34px 74px 1fr; gap:10px; }
  .carousel-manager-thumb { width:74px; }
  .carousel-preview-content { max-width:82%; }
}
.dashboard-carousel-cta { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.dashboard-carousel-cta h2 { margin:0 0 6px; }
.dashboard-carousel-cta p { margin:0; color:#9197a7; }
@media (max-width:620px){ .dashboard-carousel-cta { align-items:stretch; flex-direction:column; } }

/* V19 — Catalogue unique + filtres par genres */
.catalogue-page-hero-v19 {
  padding-bottom:42px;
}
.catalogue-shell-v19 {
  padding-top:0;
}
.catalogue-tools {
  display:grid;
  gap:18px;
  margin:0 0 22px;
}
.catalogue-search-box {
  width:min(780px,100%);
  min-height:54px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 14px 0 17px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(10,12,18,.92);
  box-shadow:0 16px 45px rgba(0,0,0,.18);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.catalogue-search-box:focus-within {
  border-color:rgba(123,92,255,.55);
  box-shadow:0 0 0 3px rgba(123,92,255,.1),0 18px 48px rgba(0,0,0,.22);
}
.catalogue-search-box > span {
  color:#9aa2b4;
  font-size:1.3rem;
  line-height:1;
}
.catalogue-search-box input {
  flex:1;
  min-width:0;
  padding:15px 0;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:.95rem;
}
.catalogue-search-box input::-webkit-search-cancel-button { display:none; }
.catalogue-search-clear {
  padding:8px 10px;
  border:0;
  border-radius:10px;
  background:rgba(255,255,255,.06);
  color:#b7bdca;
  font:inherit;
  font-size:.72rem;
  font-weight:800;
  cursor:pointer;
}
.catalogue-search-clear:hover { color:#fff; background:rgba(255,255,255,.1); }
.catalogue-genre-filter {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.catalogue-result-meta {
  display:flex;
  align-items:baseline;
  gap:6px;
  margin:0 0 16px;
  color:#8d94a5;
  font-size:.78rem;
}
.catalogue-result-meta strong { color:#f1f3f8; font-size:.92rem; }
.catalogue-poster-title-v19 {
  min-height:66px;
  display:grid;
  align-content:center;
  gap:4px;
}
.catalogue-poster-title-v19 h2 {
  white-space:nowrap;
}
.catalogue-poster-title-v19 span {
  overflow:hidden;
  color:#8f95a5;
  font-size:.62rem;
  font-weight:700;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.catalogue-filter-empty { margin-top:24px; }

/* V19 — Genres réutilisables dans l'administration */
.genre-checkbox-grid {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.genre-checkbox {
  position:relative;
  cursor:pointer;
}
.genre-checkbox input {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.genre-checkbox span {
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#0b0e15;
  color:#b9bfcc;
  font-size:.76rem;
  font-weight:800;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}
.genre-checkbox:hover span {
  transform:translateY(-1px);
  border-color:rgba(123,92,255,.36);
  color:#fff;
}
.genre-checkbox input:checked + span {
  border-color:rgba(123,92,255,.6);
  background:rgba(123,92,255,.17);
  color:#e7e2ff;
  box-shadow:inset 0 0 0 1px rgba(123,92,255,.08);
}
.genre-manage-link {
  display:inline-flex;
  margin-top:13px;
  color:#aaa0ff;
  font-size:.75rem;
  font-weight:800;
}
.genre-manage-link:hover { color:#fff; }
.genre-empty-inline {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px;
  border:1px dashed rgba(123,92,255,.3);
  border-radius:14px;
  background:rgba(123,92,255,.055);
  color:#9aa1b0;
  font-size:.78rem;
}
.genre-admin-list { display:grid; gap:9px; }
.genre-admin-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#0c0f16;
}
.genre-admin-copy { display:grid; gap:3px; }
.genre-admin-copy strong { color:#f4f5f8; font-size:.86rem; }
.genre-admin-copy span { color:#8d94a4; font-size:.69rem; }
.genre-row-note { color:#c9bfff; background:rgba(123,92,255,.1); }

@media (max-width:720px) {
  .catalogue-page-hero-v19 { padding-bottom:30px; }
  .catalogue-search-box { min-height:50px; border-radius:14px; }
  .catalogue-genre-filter { flex-wrap:nowrap; overflow-x:auto; padding-bottom:5px; scrollbar-width:none; }
  .catalogue-genre-filter::-webkit-scrollbar { display:none; }
  .catalogue-genre-filter .filter-chip { flex:0 0 auto; }
  .catalogue-poster-title-v19 { min-height:60px; }
  .genre-admin-row { align-items:flex-start; flex-direction:column; }
  .genre-empty-inline { align-items:flex-start; flex-direction:column; }
}

/* V20 — Recherche en bibliothèque verticale, sans épisodes */
.search-overlay {
  padding:5vh 0 3vh;
  align-items:start;
  overflow-y:auto;
}
.search-panel {
  width:min(1180px,calc(100% - 36px));
  max-height:90vh;
  padding:24px;
}
.search-row {
  flex:0 0 auto;
}
.search-genre-bar {
  display:flex;
  flex:0 0 auto;
  gap:8px;
  margin-top:14px;
  padding:2px 0 5px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
}
.search-genre-chip {
  flex:0 0 auto;
  min-height:34px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:#b9bdc9;
  font:inherit;
  font-size:.76rem;
  font-weight:750;
  cursor:pointer;
  transition:background .18s,border-color .18s,color .18s;
}
.search-genre-chip:hover {
  color:#fff;
  background:rgba(255,255,255,.075);
}
.search-genre-chip.is-active {
  color:#fff;
  border-color:rgba(123,92,255,.6);
  background:rgba(123,92,255,.2);
}
.search-library {
  min-height:260px;
  margin-top:14px;
  padding-top:16px;
}
.search-library-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:15px;
  align-items:start;
}
.search-library-card {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:#11131b;
  color:inherit;
  transition:transform .2s,border-color .2s,background .2s;
}
.search-library-card:hover,
.search-library-card.is-selected {
  transform:translateY(-4px);
  border-color:rgba(123,92,255,.55);
  background:#151824;
}
.search-library-poster {
  position:relative;
  aspect-ratio:2 / 3;
  overflow:hidden;
  background:#090b11;
}
.search-library-poster img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .28s ease;
}
.search-library-card:hover .search-library-poster img,
.search-library-card.is-selected .search-library-poster img {
  transform:scale(1.025);
}
.search-library-type {
  position:absolute;
  top:9px;
  left:9px;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:999px;
  background:rgba(5,6,10,.72);
  backdrop-filter:blur(9px);
  color:#f3f4f8;
  font-size:.57rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.search-library-copy {
  min-height:66px;
  padding:10px 11px 12px;
}
.search-library-copy strong {
  display:block;
  overflow:hidden;
  color:#f6f7fb;
  font-size:.82rem;
  line-height:1.25;
  letter-spacing:-.025em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.search-library-copy small {
  display:-webkit-box;
  margin-top:5px;
  overflow:hidden;
  color:#9298a8;
  font-size:.65rem;
  line-height:1.3;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.search-results-footer {
  position:sticky;
  bottom:0;
  margin-top:12px;
  padding:12px 4px 3px;
  background:linear-gradient(180deg,rgba(13,15,22,0),#0d0f16 35%);
}

/* Page de résultats complète : même langage visuel vertical. */
.search-page-hero-v20 { padding-bottom:30px; }
.search-page-genres {
  display:flex;
  gap:8px;
  margin-top:16px;
  padding-bottom:4px;
  overflow-x:auto;
  scrollbar-width:thin;
}
.search-page-genres .filter-chip { flex:0 0 auto; text-decoration:none; }
.search-library-page-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
.search-library-page-card {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:#17131f;
  color:inherit;
  transition:transform .22s,border-color .22s;
}
.search-library-page-card:hover {
  transform:translateY(-5px);
  border-color:rgba(123,92,255,.48);
}
.search-library-page-poster {
  position:relative;
  aspect-ratio:2 / 3;
  overflow:hidden;
  background:#0c0d13;
}
.search-library-page-poster img { width:100%; height:100%; object-fit:cover; }
.search-library-page-poster > span {
  position:absolute;
  top:9px;
  left:9px;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(4,5,9,.7);
  color:#fff;
  font-size:.58rem;
  font-weight:800;
  text-transform:uppercase;
}
.search-library-page-copy { min-height:86px; padding:10px 11px 12px; }
.search-library-page-copy h2 {
  margin:0;
  overflow:hidden;
  color:#f5f6fa;
  font-size:.82rem;
  line-height:1.25;
  letter-spacing:-.025em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.search-library-page-copy small {
  display:-webkit-box;
  margin-top:5px;
  overflow:hidden;
  color:#9298a8;
  font-size:.64rem;
  line-height:1.3;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

@media (max-width:1200px) {
  .search-library-page-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
@media (max-width:1000px) {
  .search-library-page-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .search-overlay { padding:0; }
  .search-panel {
    width:100%;
    min-height:100dvh;
    max-height:100dvh;
    border-radius:0;
    padding:18px;
  }
  .search-library-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .search-library-copy { min-height:62px; padding:9px; }
  .search-library-page-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
}
@media (max-width:520px) {
  .search-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .search-library-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .search-library-copy strong,
  .search-library-page-copy h2 { font-size:.76rem; }
}

/* V21 — Recherche : scroll discret/invisible, défilement conservé. */
.search-suggestions,
.search-library,
.search-genre-bar,
.search-page-genres,
.search-overlay {
  -ms-overflow-style:none;
  scrollbar-width:none;
}
.search-suggestions::-webkit-scrollbar,
.search-library::-webkit-scrollbar,
.search-genre-bar::-webkit-scrollbar,
.search-page-genres::-webkit-scrollbar,
.search-overlay::-webkit-scrollbar {
  width:0;
  height:0;
  display:none;
}
.search-library {
  /* Léger fondu en bas pour suggérer qu'il reste du contenu sans afficher de barre. */
  box-shadow:inset 0 -22px 24px -30px rgba(255,255,255,.35);
}

/* =========================================================
   Admin V22 — navigation claire, formulaires compacts et repères
   ========================================================= */
.admin-v22 { --admin-sidebar: 224px; background:#080a10; }
.admin-v22 .admin-shell { grid-template-columns:var(--admin-sidebar) minmax(0,1fr); }
.admin-v22 .admin-sidebar {
  width:var(--admin-sidebar); padding:20px 14px 16px; background:#0a0c12;
  border-right:1px solid rgba(255,255,255,.075); display:flex; flex-direction:column;
  overflow-y:auto; scrollbar-width:none; z-index:90;
}
.admin-v22 .admin-sidebar::-webkit-scrollbar { display:none; }
.admin-sidebar-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 7px 15px; }
.admin-v22 .admin-sidebar .brand { font-size:.96rem; }
.admin-v22 .admin-sidebar .brand-mark { width:31px; border-radius:10px; font-size:.82rem; }
.admin-sidebar-close, .admin-menu-button { border:0; color:#d8dbe5; background:transparent; }
.admin-sidebar-close { display:none; width:34px; height:34px; border-radius:9px; font-size:1.3rem; }
.admin-nav { display:grid !important; gap:18px !important; margin-top:5px !important; }
.admin-nav-group { display:grid; gap:4px; }
.admin-nav-label { padding:0 10px 5px; color:#666d7d; font-size:.6rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.admin-v22 .admin-sidebar nav a {
  min-height:38px; display:flex; align-items:center; gap:9px; padding:8px 10px; border-radius:10px;
  color:#a8adba; font-size:.76rem; font-weight:700; transition:background .18s,color .18s,transform .18s;
}
.admin-v22 .admin-sidebar nav a:hover { color:#f6f7fb; background:rgba(255,255,255,.045); transform:translateX(2px); }
.admin-v22 .admin-sidebar nav a.active { color:#f7f7ff; background:linear-gradient(90deg,rgba(123,92,255,.18),rgba(123,92,255,.06)); box-shadow:inset 2px 0 #8a73ff; }
.admin-nav-icon { flex:0 0 26px; height:26px; display:grid; place-items:center; border-radius:8px; color:#9990df; background:rgba(123,92,255,.08); font-size:.72rem; font-weight:900; }
.admin-v22 .admin-sidebar nav a.active .admin-nav-icon { color:#ddd8ff; background:rgba(123,92,255,.2); }
.admin-sidebar-foot { margin-top:auto; display:grid; gap:6px; padding-top:20px; }
.admin-site-link, .admin-logout-link { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; border-radius:10px; font-size:.73rem; font-weight:700; }
.admin-site-link { color:#dde0ea; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); }
.admin-logout-link { color:#858b9a; }
.admin-logout-link:hover { color:#ff91aa; }
.admin-sidebar-backdrop { display:none; }

.admin-v22 .admin-main { min-width:0; padding:25px clamp(20px,3vw,42px) 60px; }
.admin-v22 .admin-topbar { align-items:flex-start; margin-bottom:22px; padding-bottom:19px; border-bottom:1px solid rgba(255,255,255,.07); }
.admin-page-heading { min-width:0; display:grid; gap:3px; }
.admin-breadcrumb { color:#666d7d; font-size:.63rem; font-weight:700; }
.admin-breadcrumb b { padding:0 5px; color:#454b58; font-weight:500; }
.admin-v22 .admin-topbar h1 { font-size:clamp(1.55rem,2.35vw,2.2rem); line-height:1.08; letter-spacing:-.055em; }
.admin-page-heading p { max-width:720px; margin:3px 0 0; color:#8f95a5; font-size:.75rem; line-height:1.55; }
.admin-top-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; padding-top:5px; }
.admin-v22 .admin-top-action { min-height:37px; padding:0 13px; border-radius:10px; font-size:.7rem; }
.admin-menu-button { display:none; width:38px; height:38px; border:1px solid var(--line); border-radius:10px; background:#10131b; }

/* Panels / density */
.admin-v22 .panel, .admin-v22 .stat-card { border-color:rgba(255,255,255,.075); background:#0e1119; border-radius:15px; }
.admin-v22 .panel { padding:18px; margin-top:16px; }
.admin-v22 .editor-panel { width:100%; max-width:none; padding:18px; margin-top:0; }
.admin-v22 .editor-heading { margin-bottom:8px; }
.admin-v22 .editor-heading h2 { margin:2px 0 4px; font-size:1.2rem; letter-spacing:-.04em; }
.admin-v22 .editor-heading p { max-width:720px; margin:0; color:#8d94a4; font-size:.72rem; line-height:1.55; }
.admin-v22 .editor-kicker { color:#a99fff; font-size:.59rem; letter-spacing:.11em; }
.admin-v22 .form-section { padding:14px 0; }
.admin-v22 .form-section-title { margin-bottom:10px; }
.admin-v22 .form-section-title > span { width:24px; height:24px; border-radius:8px; font-size:.68rem; }
.admin-v22 .form-section-title strong { font-size:.84rem; }
.admin-v22 .form-section-title small { font-size:.66rem; }
.admin-v22 .form-grid { gap:12px; }
.admin-v22 .compact-grid { gap:12px; }
.admin-v22 .form-group { gap:5px; }
.admin-v22 .form-group label { font-size:.75rem; }
.admin-v22 .form-group input, .admin-v22 .form-group textarea, .admin-v22 .form-group select { padding:9px 11px; border-radius:9px; font-size:.76rem; }
.admin-v22 .form-group textarea { min-height:78px; }
.admin-v22 .field-help { font-size:.63rem; line-height:1.4; }
.admin-v22 .button { min-height:40px; padding:0 15px; border-radius:10px; font-size:.73rem; }
.admin-v22 .small-button { padding:8px 9px; border-radius:8px; font-size:.65rem; }
.admin-v22 .sticky-actions { margin-top:12px; padding-top:12px; }
.admin-v22 .setting-card { min-height:64px; padding:10px 11px; border-radius:11px; }
.admin-v22 .setting-copy strong { font-size:.74rem; }
.admin-v22 .setting-copy span { font-size:.63rem; line-height:1.4; }
.admin-v22 .content-type-choices { gap:10px; }
.admin-v22 .content-type-card { min-height:74px; padding:11px 12px; border-radius:11px; }
.admin-v22 .content-type-card strong { font-size:.77rem; }
.admin-v22 .content-type-card small { font-size:.62rem; }
.admin-v22 .advanced-settings { margin-top:12px; }
.admin-v22 .advanced-settings summary { padding:10px 12px; font-size:.7rem; }
.admin-v22 .advanced-settings-body { padding:12px; }
.admin-v22 .genre-checkbox-grid { gap:7px; }
.admin-v22 .genre-checkbox span { min-height:32px; padding:7px 10px; font-size:.68rem; }

/* Two-column editing workspace */
.admin-editor-layout { display:grid; grid-template-columns:minmax(0,1fr) 255px; gap:14px; align-items:start; }
.admin-editor-layout > .panel { min-width:0; }
.admin-help-rail { position:sticky; top:18px; display:grid; gap:10px; }
.admin-help-card { display:grid; gap:7px; padding:13px; border:1px solid rgba(255,255,255,.075); border-radius:13px; background:#0b0e15; }
.admin-help-card.is-primary { border-color:rgba(123,92,255,.23); background:linear-gradient(145deg,rgba(123,92,255,.105),rgba(11,14,21,.94)); }
.admin-help-kicker { color:#a99fff; font-size:.56rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.admin-help-card strong { color:#f3f4f8; font-size:.78rem; line-height:1.35; }
.admin-help-card p, .admin-help-card li { margin:0; color:#8e95a5; font-size:.65rem; line-height:1.55; }
.admin-help-card b { color:#d9dce5; }
.admin-help-card ol { display:grid; gap:5px; margin:2px 0 0; padding-left:19px; }
.admin-help-card a { color:#c7c0ff; font-size:.64rem; font-weight:800; }

/* Dashboard */
.admin-welcome-card { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); gap:24px; align-items:center; padding:20px 22px; border:1px solid rgba(123,92,255,.2); border-radius:16px; background:linear-gradient(115deg,rgba(123,92,255,.1),rgba(13,16,24,.9) 55%,rgba(32,217,255,.045)); }
.admin-welcome-card h2 { margin:4px 0 7px; font-size:clamp(1.35rem,2.2vw,2rem); letter-spacing:-.05em; }
.admin-welcome-card p { margin:0; max-width:760px; color:#9ba1af; font-size:.73rem; line-height:1.6; }
.admin-flow-example { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px; }
.admin-flow-example span { display:grid; gap:2px; padding:10px 12px; border-radius:10px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.075); color:#dfe1e8; font-size:.68rem; }
.admin-flow-example span b { color:#a99fff; font-size:.55rem; letter-spacing:.08em; text-transform:uppercase; }
.admin-flow-example i { color:#606777; font-style:normal; }
.admin-priority-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
.admin-priority-card { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:11px; align-items:start; padding:14px; border:1px solid rgba(255,255,255,.075); border-radius:13px; background:#0d1018; transition:.2s; }
.admin-priority-card:hover { transform:translateY(-2px); border-color:rgba(123,92,255,.3); background:#10131d; }
.admin-priority-number { color:#7f73d7; font-size:.58rem; font-weight:900; letter-spacing:.08em; }
.admin-priority-card strong { display:block; color:#f3f4f8; font-size:.78rem; }
.admin-priority-card p { margin:4px 0; color:#8e95a5; font-size:.64rem; line-height:1.45; }
.admin-priority-card small { color:#666e7d; font-size:.58rem; }
.admin-priority-arrow { align-self:center; color:#6f7686; }
.admin-stats-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; overflow:hidden; margin-top:12px; border:1px solid rgba(255,255,255,.075); border-radius:13px; background:rgba(255,255,255,.06); }
.admin-stat-compact { display:flex; align-items:baseline; justify-content:space-between; gap:8px; padding:10px 12px; background:#0c0f16; }
.admin-stat-compact strong { font-size:.96rem; }
.admin-stat-compact span { color:#777e8e; font-size:.61rem; }
.admin-dashboard-columns { display:grid; grid-template-columns:1.1fr .9fr; gap:12px; }
.admin-compact-panel { margin-top:12px !important; }
.admin-v22 .admin-compact-panel .section-heading { margin-bottom:12px; align-items:center; }
.admin-v22 .admin-compact-panel .section-heading h2 { font-size:1rem; }
.admin-quick-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.admin-quick-grid a { min-width:0; display:grid; gap:3px; padding:11px; border:1px solid rgba(255,255,255,.07); border-radius:11px; background:#0a0d14; }
.admin-quick-grid a:hover { border-color:rgba(123,92,255,.27); background:rgba(123,92,255,.055); }
.admin-quick-grid a > span { color:#9588f5; font-size:.8rem; }
.admin-quick-grid strong { font-size:.7rem; }
.admin-quick-grid small { overflow:hidden; color:#717887; font-size:.57rem; text-overflow:ellipsis; white-space:nowrap; }
.admin-guide-list { display:grid; gap:8px; }
.admin-guide-list > div { display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px; align-items:start; }
.admin-guide-list > div > span { width:24px; height:24px; display:grid; place-items:center; border-radius:8px; color:#a99fff; background:rgba(123,92,255,.1); font-size:.62rem; font-weight:900; }
.admin-guide-list p { margin:1px 0 0; color:#8d94a4; font-size:.64rem; line-height:1.5; }
.admin-guide-list p strong { color:#e3e5ec; }
.admin-recent-list { display:grid; }
.admin-recent-list > a { min-width:0; display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:10px; align-items:center; padding:9px 2px; border-bottom:1px solid rgba(255,255,255,.06); }
.admin-recent-list > a:last-child { border-bottom:0; }
.admin-recent-number { width:36px; height:28px; display:grid; place-items:center; border-radius:8px; color:#b9b1ff; background:rgba(123,92,255,.09); font-size:.61rem; font-weight:800; }
.admin-recent-list strong { display:block; overflow:hidden; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.admin-recent-list small { display:block; margin-top:2px; color:#777f8f; font-size:.59rem; }
.admin-recent-list i { color:#737a89; font-size:.61rem; font-style:normal; }

/* Tables / lists */
.admin-list-panel { margin-top:14px !important; }
.admin-v22 .admin-table th, .admin-v22 .admin-table td { padding:9px 8px; }
.admin-v22 .admin-table th { font-size:.61rem; }
.admin-v22 .admin-table td { font-size:.68rem; }
.admin-v22 .thumb-mini { width:52px; height:36px; border-radius:7px; object-fit:cover; }
.admin-v22 .row-note { margin-top:3px; font-size:.55rem; }
.admin-v22 .table-help { margin-top:3px; font-size:.56rem; }
.admin-v22 .status-badge { min-height:22px; padding:0 7px; font-size:.59rem; }
.admin-v22 .section-heading { margin-bottom:12px; }
.admin-v22 .section-heading h2 { font-size:1.05rem; }
.admin-v22 .section-heading p { font-size:.68rem; }

/* Carrousel: priority rules */
.admin-carousel-rules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:12px 0; }
.admin-carousel-rules > div { display:grid; grid-template-columns:28px minmax(0,1fr); gap:8px; align-items:center; padding:10px; border:1px solid rgba(255,255,255,.07); border-radius:11px; background:#0b0e15; }
.admin-carousel-rules > div > span { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; color:#bdb5ff; background:rgba(123,92,255,.12); font-size:.65rem; font-weight:900; }
.admin-carousel-rules p { display:grid; gap:2px; margin:0; }
.admin-carousel-rules strong { font-size:.68rem; }
.admin-carousel-rules small { color:#7d8494; font-size:.57rem; }
.admin-v22 .carousel-admin-summary { padding:16px; border-radius:14px; }
.admin-v22 .carousel-admin-summary h2 { font-size:1.35rem; }
.admin-v22 .carousel-admin-summary p { font-size:.68rem; }
.admin-v22 .carousel-manager-row { padding:9px; gap:9px; }
.admin-v22 .carousel-manager-thumb { width:82px; }
.admin-v22 .carousel-manager-copy strong { font-size:.72rem; }
.admin-v22 .carousel-manager-copy span, .admin-v22 .carousel-manager-copy small { font-size:.57rem; }

/* Settings: hide technical density by default */
.admin-settings-disclosure { margin-top:14px; border:1px solid rgba(255,255,255,.075); border-radius:12px; background:#0a0d14; overflow:hidden; }
.admin-settings-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 13px; cursor:pointer; list-style:none; }
.admin-settings-disclosure > summary::-webkit-details-marker { display:none; }
.admin-settings-disclosure > summary span { display:grid; gap:2px; }
.admin-settings-disclosure > summary strong { font-size:.76rem; }
.admin-settings-disclosure > summary small { color:#747c8c; font-size:.61rem; }
.admin-settings-disclosure > summary b { color:#a99fff; font-size:.61rem; }
.admin-settings-disclosure[open] > summary { border-bottom:1px solid var(--line); }
.admin-settings-disclosure[open] > summary b::after { content:' — ouvert'; color:#747c8c; font-weight:500; }
.admin-settings-disclosure .media-settings-section { padding:14px !important; border:0 !important; }

/* Better focus and anchors */
.admin-v22 #editor, .admin-v22 #import { scroll-margin-top:18px; }
.admin-v22 :focus-visible { outline:2px solid rgba(147,128,255,.8); outline-offset:2px; }

@media (max-width:1180px) {
  .admin-editor-layout { grid-template-columns:minmax(0,1fr) 220px; }
  .admin-priority-grid { grid-template-columns:1fr; }
  .admin-priority-card { grid-template-columns:34px minmax(0,1fr) auto; }
  .admin-dashboard-columns { grid-template-columns:1fr; }
}

@media (max-width:980px) {
  .admin-v22 .admin-shell { grid-template-columns:1fr; }
  .admin-v22 .admin-sidebar { position:fixed; inset:0 auto 0 0; width:min(280px,86vw); height:100vh; transform:translateX(-105%); transition:transform .22s ease; box-shadow:25px 0 70px rgba(0,0,0,.5); }
  .admin-v22.admin-nav-open .admin-sidebar { transform:translateX(0); }
  .admin-sidebar-backdrop { position:fixed; inset:0; z-index:80; background:rgba(0,0,0,.55); backdrop-filter:blur(3px); }
  .admin-v22.admin-nav-open .admin-sidebar-backdrop { display:block; }
  .admin-sidebar-close, .admin-menu-button { display:grid; place-items:center; }
  .admin-v22 .admin-main { padding:18px 18px 50px; }
  .admin-v22 .admin-topbar { display:grid; grid-template-columns:auto minmax(0,1fr); gap:11px; }
  .admin-top-actions { grid-column:1/-1; justify-content:flex-start; padding:0; }
  .admin-editor-layout { grid-template-columns:1fr; }
  .admin-help-rail { position:static; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .admin-welcome-card { grid-template-columns:1fr; }
  .admin-stats-strip { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; }
  .admin-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:700px) {
  .admin-v22 .admin-main { padding:14px 12px 45px; }
  .admin-page-heading p { font-size:.69rem; }
  .admin-top-actions { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
  .admin-top-actions::-webkit-scrollbar { display:none; }
  .admin-v22 .panel { padding:14px; border-radius:13px; }
  .admin-help-rail { grid-template-columns:1fr; }
  .admin-stats-strip { grid-template-columns:1fr 1fr; }
  .admin-stat-compact { padding:9px 10px; }
  .admin-flow-example { justify-content:flex-start; }
  .admin-priority-card { padding:12px; }
  .admin-carousel-rules { grid-template-columns:1fr; }
  .admin-v22 .form-grid { grid-template-columns:1fr; }
  .admin-v22 .form-grid > .full { grid-column:auto; }
  .admin-v22 .content-type-choices { grid-template-columns:1fr; }
  .admin-v22 .admin-table { min-width:760px; }
}

/* =========================================================
   Admin V23 — dashboard premium, couleurs, commandes rapides
   ========================================================= */
.admin-v23 {
  --tone-violet:#9a86ff; --tone-blue:#6aa9ff; --tone-cyan:#55d6e7;
  --tone-green:#63d59a; --tone-amber:#f0bd63; --tone-red:#ff748d;
}
.admin-v23 .text-violet{color:#b4a8ff}.admin-v23 .text-blue{color:#82b8ff}.admin-v23 .text-cyan{color:#6ce0ee}.admin-v23 .text-green{color:#7de0ab}.admin-v23 .text-amber{color:#f6ca78}.admin-v23 .text-red{color:#ff8ca0}
.admin-v23 .tone-violet{--tone:var(--tone-violet);--tone-rgb:154,134,255}
.admin-v23 .tone-blue{--tone:var(--tone-blue);--tone-rgb:106,169,255}
.admin-v23 .tone-cyan{--tone:var(--tone-cyan);--tone-rgb:85,214,231}
.admin-v23 .tone-green{--tone:var(--tone-green);--tone-rgb:99,213,154}
.admin-v23 .tone-amber{--tone:var(--tone-amber);--tone-rgb:240,189,99}
.admin-v23 .tone-red,.admin-v23 .tone-danger{--tone:var(--tone-red);--tone-rgb:255,116,141}
.admin-v23 .tone-warning{--tone:var(--tone-amber);--tone-rgb:240,189,99}
.admin-v23 .tone-info{--tone:var(--tone-blue);--tone-rgb:106,169,255}
.admin-v23 .tone-muted,.admin-v23 .tone-gray{--tone:#8991a3;--tone-rgb:137,145,163}

/* Topbar : commande globale + menu Créer */
.admin-v23 .admin-top-actions{position:relative;align-items:center}
.admin-command-button{
  min-height:37px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid rgba(255,255,255,.085);
  border-radius:10px;background:#0f121a;color:#aeb4c2;font:700 .68rem Manrope,sans-serif;cursor:pointer;
}
.admin-command-button:hover{border-color:rgba(154,134,255,.28);color:#f5f6fa;background:#121620}
.admin-command-button>span:first-child{color:#b3a9ff;font-size:.9rem}.admin-command-button kbd{padding:3px 5px;border-radius:5px;background:#1a1e29;color:#6f7687;font:700 .52rem Manrope,sans-serif}
.admin-create-wrap{position:relative}.admin-create-button{white-space:nowrap}
.admin-create-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:140;width:260px;padding:7px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#11141d;box-shadow:0 25px 60px rgba(0,0,0,.45)}
.admin-create-menu[hidden]{display:none}.admin-create-menu a{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:9px;border-radius:10px;color:#d8dce7}
.admin-create-menu a:hover{background:rgba(255,255,255,.055)}.admin-create-menu a>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--tone);background:rgba(var(--tone-rgb),.1);font-weight:900}
.admin-create-menu strong{display:block;font-size:.72rem}.admin-create-menu small{display:block;margin-top:2px;color:#747c8d;font-size:.58rem}

/* Command palette */
.admin-command-modal{position:fixed;inset:0;z-index:450;display:grid;place-items:start center;padding:11vh 18px 30px}
.admin-command-modal[hidden]{display:none}.admin-command-backdrop{position:absolute;inset:0;background:rgba(2,4,8,.72);backdrop-filter:blur(10px)}
.admin-command-dialog{position:relative;width:min(690px,100%);max-height:72vh;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#0e1119;box-shadow:0 35px 100px rgba(0,0,0,.58)}
.admin-command-input-row{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.075)}
.admin-command-input-row>span{color:#a99fff;font-size:1.1rem}.admin-command-input-row input{width:100%;border:0!important;outline:0!important;background:transparent!important;color:#f4f5f8!important;font-size:.88rem!important;padding:5px!important;box-shadow:none!important}
.admin-command-input-row kbd{padding:5px 7px;border-radius:6px;background:#191d28;color:#737a89;font:700 .55rem Manrope,sans-serif}.admin-command-hint{padding:9px 15px;color:#656d7d;font-size:.6rem;border-bottom:1px solid rgba(255,255,255,.055)}
.admin-command-results{max-height:54vh;overflow:auto;padding:7px;scrollbar-width:none}.admin-command-results::-webkit-scrollbar{display:none}
.admin-command-result{display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;padding:8px;border-radius:11px;color:#e2e5ed}.admin-command-result:hover,.admin-command-result.is-selected{background:rgba(154,134,255,.11)}
.admin-command-result img,.admin-command-result .command-placeholder{width:46px;height:36px;object-fit:cover;border-radius:8px;background:#171b24}.admin-command-result strong{display:block;font-size:.72rem}.admin-command-result small{display:block;color:#777f8f;font-size:.58rem;margin-top:2px}.admin-command-result>span{color:#777f8f;font-size:.6rem;font-weight:800}
.admin-command-empty{padding:24px;text-align:center;color:#7c8392;font-size:.68rem}

/* Dashboard */
.admin-welcome-v23{border-color:rgba(154,134,255,.16)!important;background:radial-gradient(circle at 80% 10%,rgba(106,169,255,.08),transparent 32%),linear-gradient(135deg,rgba(154,134,255,.07),rgba(14,17,25,.96))!important}
.admin-welcome-v23 p{max-width:850px}.admin-stat-grid-v23{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0}
.admin-stat-card-v23{min-width:0;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(var(--tone-rgb),.18);border-radius:13px;background:linear-gradient(145deg,rgba(var(--tone-rgb),.075),#0d1017);color:#e7e9ef;transition:transform .18s,border-color .18s,background .18s}
.admin-stat-card-v23:hover{transform:translateY(-2px);border-color:rgba(var(--tone-rgb),.34);background:linear-gradient(145deg,rgba(var(--tone-rgb),.12),#0f121a)}
.admin-stat-card-v23 .stat-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--tone);background:rgba(var(--tone-rgb),.1);font-weight:900}.admin-stat-card-v23 strong{display:block;font-size:1.05rem;line-height:1}.admin-stat-card-v23 div span{display:block;margin-top:4px;color:#858c9b;font-size:.59rem}.admin-stat-card-v23>i{color:var(--tone);font-style:normal}
.admin-dashboard-v23{align-items:start}.dashboard-issue-list{display:grid;gap:6px}.dashboard-issue{display:grid;grid-template-columns:7px 1fr auto;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;color:#dfe2e9;background:rgba(var(--tone-rgb),.035)}.dashboard-issue:hover{background:rgba(var(--tone-rgb),.08)}.dashboard-issue>span{width:7px;height:7px;border-radius:99px;background:var(--tone);box-shadow:0 0 13px rgba(var(--tone-rgb),.35)}.dashboard-issue small{display:block;color:var(--tone);font-size:.54rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.dashboard-issue strong{display:block;margin-top:2px;font-size:.7rem}.dashboard-issue>i{color:#676f80;font-style:normal}
.admin-health-cards{display:grid;grid-template-columns:1fr 1fr;gap:7px}.health-mini{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:center;padding:10px;border:1px solid rgba(var(--tone-rgb),.12);border-radius:11px;background:rgba(var(--tone-rgb),.045)}.health-mini>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(var(--tone-rgb),.1);color:var(--tone)}.health-mini strong{display:block;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-mini small{display:block;margin-top:2px;color:#7e8594;font-size:.55rem}
.admin-quick-v23{grid-template-columns:repeat(3,minmax(0,1fr))!important}.admin-quick-v23 a{border-color:rgba(var(--tone-rgb),.13)!important;background:linear-gradient(145deg,rgba(var(--tone-rgb),.045),rgba(255,255,255,.015))!important}.admin-quick-v23 a:hover{border-color:rgba(var(--tone-rgb),.3)!important}.admin-quick-v23 a>span{color:var(--tone)!important;background:rgba(var(--tone-rgb),.1)!important}
.admin-activity-list{display:grid;gap:5px}.admin-activity-list>div{display:grid;grid-template-columns:8px 1fr;gap:10px;align-items:start;padding:7px 2px}.activity-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:#8c7aff}.admin-activity-list p{margin:0}.admin-activity-list strong{display:block;color:#d9dce5;font-size:.68rem}.admin-activity-list small{display:block;margin-top:2px;color:#6f7685;font-size:.55rem}

/* Explications colorées */
.admin-color-callout{--tone:#9a86ff;--tone-rgb:154,134,255;display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:start;padding:12px 13px;margin:0 0 13px;border:1px solid rgba(var(--tone-rgb),.2);border-radius:12px;background:linear-gradient(135deg,rgba(var(--tone-rgb),.09),rgba(13,16,23,.92))}.admin-color-callout .callout-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:rgba(var(--tone-rgb),.13);color:var(--tone);font-weight:900}.admin-color-callout strong{color:#f0f2f7;font-size:.75rem}.admin-color-callout p{margin:3px 0 0;color:#9299a8;font-size:.64rem;line-height:1.55}.admin-color-callout a{display:inline-block;margin-top:6px;color:var(--tone);font-size:.62rem;font-weight:800}.compact-callout{margin:0;height:100%}
.admin-v23 .admin-help-card:nth-child(3n+1){--tone:#9a86ff;--tone-rgb:154,134,255}.admin-v23 .admin-help-card:nth-child(3n+2){--tone:#6aa9ff;--tone-rgb:106,169,255}.admin-v23 .admin-help-card:nth-child(3n+3){--tone:#f0bd63;--tone-rgb:240,189,99}.admin-v23 .admin-help-card{border-color:rgba(var(--tone-rgb),.16);background:linear-gradient(145deg,rgba(var(--tone-rgb),.055),#0b0e15)}.admin-v23 .admin-help-kicker{color:var(--tone)!important}.admin-v23 .field-help{color:#7e8798}.admin-v23 .form-section:nth-of-type(1) .form-section-title>span{background:rgba(154,134,255,.13);color:#b6abff}.admin-v23 .form-section:nth-of-type(2) .form-section-title>span{background:rgba(106,169,255,.12);color:#86baff}.admin-v23 .form-section:nth-of-type(3) .form-section-title>span{background:rgba(85,214,231,.11);color:#72e1ed}.admin-v23 .form-section:nth-of-type(4) .form-section-title>span{background:rgba(99,213,154,.11);color:#82e1af}.admin-v23 .form-section:nth-of-type(5) .form-section-title>span{background:rgba(240,189,99,.11);color:#f4c873}

/* Vérification */
.verify-filter-row{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.verify-filter{--tone:#9a86ff;--tone-rgb:154,134,255;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(255,255,255,.075);border-radius:10px;color:#9ea5b3;background:#0d1017;font-size:.65rem;font-weight:750}.verify-filter b{min-width:22px;padding:2px 6px;text-align:center;border-radius:7px;color:var(--tone);background:rgba(var(--tone-rgb),.1)}.verify-filter.is-active{color:#f1f2f6;border-color:rgba(var(--tone-rgb),.3);background:rgba(var(--tone-rgb),.08)}
.verify-list{display:grid;gap:6px}.verify-item{--tone:#8991a3;--tone-rgb:137,145,163;display:grid;grid-template-columns:8px 1fr auto;gap:11px;align-items:center;padding:10px 11px;border:1px solid rgba(var(--tone-rgb),.11);border-radius:11px;background:rgba(var(--tone-rgb),.03);color:#e4e6ec}.verify-item:hover{background:rgba(var(--tone-rgb),.075);border-color:rgba(var(--tone-rgb),.24)}.verify-dot{width:8px;height:8px;border-radius:50%;background:var(--tone)}.verify-item small{display:block;color:var(--tone);font-size:.55rem;font-weight:850;text-transform:uppercase}.verify-item strong{display:block;margin-top:2px;font-size:.72rem}.verify-item p{margin:3px 0 0;color:#747c8d;font-size:.59rem}.verify-arrow{color:var(--tone);font-size:.6rem;font-weight:800}.success-empty{border-color:rgba(99,213,154,.15)!important;background:rgba(99,213,154,.035)!important}

/* Carousel drag & drop */
.admin-v23 .carousel-manager-row[draggable="true"]{grid-template-columns:28px 36px 112px 1fr auto;cursor:grab;transition:opacity .15s,transform .15s,border-color .15s}.admin-v23 .carousel-manager-row.is-dragging{opacity:.42;transform:scale(.992);border-color:rgba(154,134,255,.3)}.carousel-drag-handle{width:28px;height:34px;border:0;border-radius:8px;background:rgba(255,255,255,.035);color:#71798a;cursor:grab;font-weight:900}.carousel-drag-handle:hover{color:#c0b9ff;background:rgba(154,134,255,.09)}.drag-save-status{color:#71798a;font-size:.58rem;font-weight:750}.drag-save-status.is-saving{color:#f0bd63}.drag-save-status.is-saved{color:#63d59a}.drag-save-status.is-error{color:#ff748d}

/* Sauvegarde */
.backup-restore-form{display:grid;gap:12px;max-width:650px}.confirm-check{display:flex;align-items:flex-start;gap:8px;color:#a9afbc;font-size:.66rem}.confirm-check input{margin-top:2px}

@media (max-width:1180px){.admin-stat-grid-v23{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-command-button kbd{display:none}.admin-v23 .carousel-manager-row[draggable="true"]{grid-template-columns:28px 34px 92px 1fr}.admin-v23 .carousel-manager-row[draggable="true"] .carousel-manager-actions{grid-column:3/-1}}
@media (max-width:820px){.admin-stat-grid-v23{grid-template-columns:1fr 1fr}.admin-quick-v23{grid-template-columns:1fr 1fr!important}.admin-command-button>span:nth-child(2){display:none}.admin-command-button{width:38px;padding:0;justify-content:center}.admin-v23 .admin-top-action{display:none}.admin-health-cards{grid-template-columns:1fr}.verify-item{grid-template-columns:8px 1fr}.verify-arrow{grid-column:2}.admin-v23 .carousel-manager-row[draggable="true"]{grid-template-columns:28px 30px 74px 1fr}.admin-v23 .carousel-manager-row[draggable="true"] .carousel-manager-actions{grid-column:2/-1}}
@media (max-width:520px){.admin-stat-grid-v23{grid-template-columns:1fr}.admin-quick-v23{grid-template-columns:1fr!important}.admin-create-menu{position:fixed;left:12px;right:12px;top:70px;width:auto}.admin-command-modal{padding:7vh 10px 20px}.verify-filter-row{display:grid;grid-template-columns:1fr 1fr}.admin-v23 .carousel-manager-row[draggable="true"]{grid-template-columns:24px 1fr}.admin-v23 .carousel-manager-row[draggable="true"] .carousel-drag-handle{grid-row:1/3}.admin-v23 .carousel-manager-row[draggable="true"] .carousel-order-number{display:none}.admin-v23 .carousel-manager-row[draggable="true"] .carousel-manager-thumb{width:100%;height:100px}.admin-v23 .carousel-manager-row[draggable="true"] .carousel-manager-actions{grid-column:2}}
.admin-v23 .bulk-action-bar{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:5px 6px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:#0b0e15}.admin-v23 .bulk-action-bar>span{padding:0 5px;color:#7e8696;font-size:.57rem;font-weight:800}.admin-v23 .select-col{width:34px;text-align:center}.admin-v23 .select-col input{accent-color:#8d79ff}
.admin-v23 .content-recap-strip{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px;padding:8px;border:1px solid rgba(255,255,255,.06);border-radius:11px;background:#0a0d13}.content-recap-strip>div{min-width:88px;display:grid;gap:2px;padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.025)}.content-recap-strip span{color:#6f7787;font-size:.52rem;text-transform:uppercase;font-weight:800}.content-recap-strip strong{color:#c3c7d1;font-size:.65rem}.content-recap-strip .is-ok{background:rgba(99,213,154,.055)}.content-recap-strip .is-ok strong{color:#78dca8}.content-recap-strip .is-missing{background:rgba(240,189,99,.055)}.content-recap-strip .is-missing strong{color:#efc570}.content-recap-strip .is-draft{background:rgba(106,169,255,.055)}.content-recap-strip .is-draft strong{color:#80b8ff}

/* =========================================================
   Admin V24 — repères colorés sur toutes les pages
   ========================================================= */
.admin-v24 {
  --tone-pink:#ed7bc8;
  --tone-orange:#ff9b68;
  --tone-teal:#4fd2c2;
  --tone-indigo:#8498ff;
  --page-tone:#9a86ff;
  --page-rgb:154,134,255;
}
.admin-v24.admin-page-dashboard,
.admin-v24.admin-page-series { --page-tone:#9a86ff; --page-rgb:154,134,255; }
.admin-v24.admin-page-episodes { --page-tone:#55d6e7; --page-rgb:85,214,231; }
.admin-v24.admin-page-categories { --page-tone:#6aa9ff; --page-rgb:106,169,255; }
.admin-v24.admin-page-genres { --page-tone:#ed7bc8; --page-rgb:237,123,200; }
.admin-v24.admin-page-carousel { --page-tone:#f0bd63; --page-rgb:240,189,99; }
.admin-v24.admin-page-lives { --page-tone:#ff748d; --page-rgb:255,116,141; }
.admin-v24.admin-page-media { --page-tone:#63d59a; --page-rgb:99,213,154; }
.admin-v24.admin-page-settings { --page-tone:#8498ff; --page-rgb:132,152,255; }
.admin-v24.admin-page-verify { --page-tone:#ff9b68; --page-rgb:255,155,104; }
.admin-v24.admin-page-backup { --page-tone:#4fd2c2; --page-rgb:79,210,194; }

/* Nouvelles tonalités utilitaires. */
.admin-v24 .tone-pink { --tone:#ed7bc8; --tone-rgb:237,123,200; }
.admin-v24 .tone-orange { --tone:#ff9b68; --tone-rgb:255,155,104; }
.admin-v24 .tone-teal { --tone:#4fd2c2; --tone-rgb:79,210,194; }
.admin-v24 .tone-indigo { --tone:#8498ff; --tone-rgb:132,152,255; }
.admin-v24 .text-pink { color:#f09ad4; }
.admin-v24 .text-orange { color:#ffae83; }
.admin-v24 .text-teal { color:#72dfd2; }
.admin-v24 .text-indigo { color:#a2b0ff; }

/* Sidebar : chaque outil garde sa couleur, même lorsqu'il n'est pas sélectionné. */
.admin-v24 .admin-nav a { --nav-tone:#9a86ff; --nav-rgb:154,134,255; }
.admin-v24 .admin-nav .nav-tone-violet { --nav-tone:#9a86ff; --nav-rgb:154,134,255; }
.admin-v24 .admin-nav .nav-tone-cyan { --nav-tone:#55d6e7; --nav-rgb:85,214,231; }
.admin-v24 .admin-nav .nav-tone-blue { --nav-tone:#6aa9ff; --nav-rgb:106,169,255; }
.admin-v24 .admin-nav .nav-tone-pink { --nav-tone:#ed7bc8; --nav-rgb:237,123,200; }
.admin-v24 .admin-nav .nav-tone-amber { --nav-tone:#f0bd63; --nav-rgb:240,189,99; }
.admin-v24 .admin-nav .nav-tone-red { --nav-tone:#ff748d; --nav-rgb:255,116,141; }
.admin-v24 .admin-nav .nav-tone-green { --nav-tone:#63d59a; --nav-rgb:99,213,154; }
.admin-v24 .admin-nav .nav-tone-orange { --nav-tone:#ff9b68; --nav-rgb:255,155,104; }
.admin-v24 .admin-nav .nav-tone-teal { --nav-tone:#4fd2c2; --nav-rgb:79,210,194; }
.admin-v24 .admin-nav .nav-tone-indigo { --nav-tone:#8498ff; --nav-rgb:132,152,255; }
.admin-v24 .admin-sidebar nav a .admin-nav-icon {
  color:var(--nav-tone);
  background:rgba(var(--nav-rgb),.075);
  border:1px solid rgba(var(--nav-rgb),.08);
}
.admin-v24 .admin-sidebar nav a:hover {
  background:linear-gradient(90deg,rgba(var(--nav-rgb),.085),rgba(var(--nav-rgb),.025));
}
.admin-v24 .admin-sidebar nav a.active {
  color:#fff;
  background:linear-gradient(90deg,rgba(var(--nav-rgb),.18),rgba(var(--nav-rgb),.045));
  box-shadow:inset 2px 0 var(--nav-tone);
}
.admin-v24 .admin-sidebar nav a.active .admin-nav-icon {
  color:#fff;
  background:rgba(var(--nav-rgb),.2);
  border-color:rgba(var(--nav-rgb),.22);
  box-shadow:0 0 18px rgba(var(--nav-rgb),.12);
}

/* En-tête de page : repère coloré immédiatement visible. */
.admin-v24 .admin-page-heading { position:relative; }
.admin-v24 .admin-page-group {
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:2px;
  color:var(--page-tone);
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.admin-v24 .admin-page-group i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--page-tone);
  box-shadow:0 0 14px rgba(var(--page-rgb),.48);
}
.admin-v24 .admin-topbar h1 {
  display:flex;
  align-items:center;
  gap:10px;
}
.admin-v24 .admin-topbar h1::after {
  content:"";
  width:34px;
  height:3px;
  margin-top:3px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--page-tone),rgba(var(--page-rgb),.2));
  box-shadow:0 0 18px rgba(var(--page-rgb),.18);
}
.admin-v24 .admin-page-heading p {
  color:#9299a9;
}
.admin-v24 .admin-page-heading p::selection,
.admin-v24 .editor-heading p::selection { background:rgba(var(--page-rgb),.28); color:#fff; }

/* Les panneaux principaux reprennent subtilement la couleur de la page. */
.admin-v24:not(.admin-page-dashboard) .editor-panel,
.admin-v24:not(.admin-page-dashboard) .admin-list-panel,
.admin-v24:not(.admin-page-dashboard) .carousel-preview-panel,
.admin-v24:not(.admin-page-dashboard) .media-manager-panel,
.admin-v24:not(.admin-page-dashboard) .verify-panel {
  border-color:rgba(var(--page-rgb),.15);
  background:
    linear-gradient(180deg,rgba(var(--page-rgb),.035),transparent 76px),
    #0e1119;
  box-shadow:inset 0 2px 0 rgba(var(--page-rgb),.28);
}
.admin-v24 .editor-kicker { color:var(--page-tone); }
.admin-v24 .editor-heading h2 { color:#f4f5f8; }
.admin-v24 .section-heading h2 {
  display:flex;
  align-items:center;
  gap:8px;
}
.admin-v24 .section-heading h2::before {
  content:"";
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--page-tone);
  box-shadow:0 0 13px rgba(var(--page-rgb),.3);
}
.admin-v24 .section-subtitle { color:#858d9d; }

/* Aides : davantage de couleur, sans transformer l'admin en sapin de Noël. */
.admin-v24 .admin-help-card.is-primary {
  --tone:var(--page-tone);
  --tone-rgb:var(--page-rgb);
  border-color:rgba(var(--page-rgb),.22);
  background:linear-gradient(145deg,rgba(var(--page-rgb),.095),#0b0e15 72%);
  box-shadow:inset 2px 0 rgba(var(--page-rgb),.45);
}
.admin-v24 .admin-help-card:nth-child(2) { --tone:#6aa9ff; --tone-rgb:106,169,255; }
.admin-v24 .admin-help-card:nth-child(3) { --tone:#63d59a; --tone-rgb:99,213,154; }
.admin-v24 .admin-help-card:nth-child(4) { --tone:#f0bd63; --tone-rgb:240,189,99; }
.admin-v24 .admin-help-card:nth-child(5) { --tone:#ed7bc8; --tone-rgb:237,123,200; }
.admin-v24 .admin-help-card strong { color:#eef0f5; }
.admin-v24 .admin-help-card b { color:var(--tone); }
.admin-v24 .admin-help-card a { color:var(--tone); }

/* Les petites explications sous les champs ont elles aussi un repère. */
.admin-v24 .field-help {
  position:relative;
  padding-left:10px;
  color:#858e9f;
}
.admin-v24 .field-help::before {
  content:"";
  position:absolute;
  left:0;
  top:.48em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--page-tone);
  opacity:.8;
}
.admin-v24 .label-optional { color:rgba(var(--page-rgb),.8); }

/* Sections d'un formulaire : numéros multicolores + titre lisible. */
.admin-v24 .form-section { position:relative; }
.admin-v24 .form-section:nth-of-type(1) { --section-tone:#9a86ff; --section-rgb:154,134,255; }
.admin-v24 .form-section:nth-of-type(2) { --section-tone:#6aa9ff; --section-rgb:106,169,255; }
.admin-v24 .form-section:nth-of-type(3) { --section-tone:#55d6e7; --section-rgb:85,214,231; }
.admin-v24 .form-section:nth-of-type(4) { --section-tone:#63d59a; --section-rgb:99,213,154; }
.admin-v24 .form-section:nth-of-type(5) { --section-tone:#f0bd63; --section-rgb:240,189,99; }
.admin-v24 .form-section:nth-of-type(6) { --section-tone:#ed7bc8; --section-rgb:237,123,200; }
.admin-v24 .form-section .form-section-title > span {
  color:var(--section-tone,var(--page-tone)) !important;
  background:rgba(var(--section-rgb,var(--page-rgb)),.11) !important;
  border:1px solid rgba(var(--section-rgb,var(--page-rgb)),.15);
}
.admin-v24 .form-section .form-section-title strong { color:#e8eaf0; }
.admin-v24 .form-section .form-section-title small { color:#7f8797; }

/* Champs et commandes : focus/état actif avec la couleur de la rubrique. */
.admin-v24 .form-group input:focus,
.admin-v24 .form-group textarea:focus,
.admin-v24 .form-group select:focus,
.admin-v24 .section-heading select:focus {
  border-color:rgba(var(--page-rgb),.52);
  box-shadow:0 0 0 3px rgba(var(--page-rgb),.105);
}
.admin-v24 .switch-control input:checked + .switch-track {
  background:rgba(var(--page-rgb),.75);
  box-shadow:inset 0 0 0 1px rgba(var(--page-rgb),.55),0 0 15px rgba(var(--page-rgb),.11);
}
.admin-v24 .setting-card:has(.switch-control input:checked) {
  border-color:rgba(var(--page-rgb),.15);
  background:linear-gradient(100deg,rgba(var(--page-rgb),.055),rgba(255,255,255,.018));
}
.admin-v24 .advanced-settings > summary:hover,
.admin-v24 .admin-settings-disclosure > summary:hover { color:var(--page-tone); }
.admin-v24 .advanced-settings[open] > summary { color:var(--page-tone); }
.admin-v24 .genre-checkbox input:checked + span {
  color:#fff;
  border-color:rgba(var(--page-rgb),.58);
  background:rgba(var(--page-rgb),.15);
  box-shadow:inset 0 0 0 1px rgba(var(--page-rgb),.06);
}

/* Bouton principal de la page = couleur de la rubrique. */
.admin-v24 .admin-main .editor-panel .button-accent,
.admin-v24 .admin-main .media-manager-panel .button-accent,
.admin-v24 .admin-main > form .button-accent {
  background:linear-gradient(135deg,var(--page-tone),rgba(var(--page-rgb),.72));
  box-shadow:0 12px 28px rgba(var(--page-rgb),.16);
}
.admin-v24 .admin-main .button-ghost:not(.danger):hover,
.admin-v24 .admin-main .small-button:not(.danger):hover {
  color:#fff;
  border-color:rgba(var(--page-rgb),.28);
  background:rgba(var(--page-rgb),.075);
}

/* Listes et tableaux : repères visuels pour retrouver vite l'information. */
.admin-v24 .admin-table thead th {
  color:rgba(var(--page-rgb),.88);
  background:rgba(var(--page-rgb),.026);
}
.admin-v24 .admin-table tbody tr { transition:background .15s ease; }
.admin-v24 .admin-table tbody tr:hover { background:rgba(var(--page-rgb),.035); }
.admin-v24 .admin-table tbody tr:hover > td:first-child { box-shadow:inset 2px 0 rgba(var(--page-rgb),.42); }
.admin-v24 .admin-list-panel .thumb-mini { border:1px solid rgba(var(--page-rgb),.18); }
.admin-v24 .bulk-action-bar { border-color:rgba(var(--page-rgb),.1); background:rgba(var(--page-rgb),.025); }
.admin-v24 .bulk-action-bar > span { color:rgba(var(--page-rgb),.78); }
.admin-v24 .select-col input { accent-color:var(--page-tone); }
.admin-v24 .genre-admin-row {
  border-color:rgba(var(--page-rgb),.11);
  background:linear-gradient(90deg,rgba(var(--page-rgb),.035),#0c0f16 28%);
}
.admin-v24 .genre-admin-row:hover { border-color:rgba(var(--page-rgb),.22); }
.admin-v24 .genre-admin-copy span { color:rgba(var(--page-rgb),.72); }

/* Callout contextuel : sa couleur explicite reste prioritaire, sinon couleur de page. */
.admin-v24 .admin-color-callout:not(.tone-violet):not(.tone-blue):not(.tone-cyan):not(.tone-green):not(.tone-amber):not(.tone-red):not(.tone-pink):not(.tone-orange):not(.tone-teal):not(.tone-indigo) {
  --tone:var(--page-tone);
  --tone-rgb:var(--page-rgb);
}

/* Quelques éléments métier adoptent la couleur de leur page. */
.admin-v24.admin-page-carousel .carousel-admin-summary,
.admin-v24.admin-page-carousel .admin-carousel-rules > div { border-color:rgba(var(--page-rgb),.14); }
.admin-v24.admin-page-carousel .admin-carousel-rules > div > span,
.admin-v24.admin-page-carousel .carousel-order-number { color:var(--page-tone); background:rgba(var(--page-rgb),.11); }
.admin-v24.admin-page-media .media-library-card:hover { border-color:rgba(var(--page-rgb),.36); }
.admin-v24.admin-page-media .media-dropzone { border-color:rgba(var(--page-rgb),.22); }
.admin-v24.admin-page-media .media-dropzone:hover { background:rgba(var(--page-rgb),.045); }
.admin-v24.admin-page-settings .admin-settings-disclosure > summary b { color:var(--page-tone); }
.admin-v24.admin-page-backup code { color:#82e5d9; background:rgba(79,210,194,.07); }

/* Responsive : le repère reste compact. */
@media (max-width:700px) {
  .admin-v24 .admin-page-group { font-size:.52rem; }
  .admin-v24 .admin-topbar h1::after { width:22px; }
  .admin-v24 .field-help { padding-left:9px; }
}

/* ========================================================================== */
/* V25 — Planning des lives : admin + vue publique                            */
/* ========================================================================== */

/* Admin — le planning devient la vue principale des directs. */
.live-planner-admin {
  margin-bottom:22px;
  padding:20px;
  border:1px solid rgba(255,91,122,.14);
  border-radius:24px;
  background:
    radial-gradient(circle at 88% 0%,rgba(255,61,102,.08),transparent 28rem),
    linear-gradient(180deg,rgba(18,20,29,.96),rgba(10,12,18,.96));
  box-shadow:0 24px 70px rgba(0,0,0,.23);
}
.live-planner-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.live-planner-toolbar h2 { margin:4px 0 3px; font-size:clamp(1.35rem,2vw,1.9rem); letter-spacing:-.045em; }
.live-planner-toolbar p { margin:0; max-width:780px; color:var(--muted); font-size:.84rem; line-height:1.55; }
.live-week-actions { display:flex; gap:7px; align-items:center; flex:0 0 auto; }
.live-week-actions .small-button { min-width:38px; min-height:36px; display:inline-grid; place-items:center; }
.live-week-actions .live-today-button { padding-inline:13px; }
.live-planner-tip { margin:0 0 15px !important; }
.live-week-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(145px,1fr));
  gap:9px;
  overflow-x:auto;
  padding:2px 1px 7px;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
}
.live-week-grid::-webkit-scrollbar { display:none; }
.live-day-column {
  min-height:310px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:17px;
  background:rgba(255,255,255,.018);
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
  overflow:hidden;
}
.live-day-column.is-today { border-color:rgba(255,91,122,.35); box-shadow:inset 0 0 0 1px rgba(255,91,122,.07); }
.live-day-column.is-drop-target { border-color:rgba(255,91,122,.7); background:rgba(255,61,102,.075); transform:translateY(-2px); }
.live-day-header { height:59px; display:flex; align-items:center; justify-content:space-between; padding:10px 11px; border-bottom:1px solid rgba(255,255,255,.065); background:rgba(255,255,255,.018); }
.live-day-header > div { display:flex; flex-direction:column; gap:2px; }
.live-day-header span { color:#b7bbc7; font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.live-day-header strong { font-size:.92rem; }
.live-day-column.is-today .live-day-header span,.live-day-column.is-today .live-day-header strong { color:#ff8ba5; }
.live-day-add { width:29px; height:29px; display:grid; place-items:center; border:1px solid rgba(255,91,122,.22); background:rgba(255,61,102,.07); border-radius:9px; color:#ff8da6; font-size:1.15rem; transition:.16s; }
.live-day-add:hover { background:rgba(255,61,102,.16); border-color:rgba(255,91,122,.45); transform:scale(1.04); }
.live-day-body { min-height:248px; padding:8px; display:flex; flex-direction:column; gap:8px; }
.live-day-empty { min-height:88px; flex:1; display:grid; place-items:center; align-content:center; gap:4px; border:1px dashed rgba(255,255,255,.06); border-radius:12px; color:#555c6b; transition:.16s; }
.live-day-empty span { font-size:1.15rem; }
.live-day-empty small { font-size:.65rem; font-weight:700; }
.live-day-empty:hover { color:#ff8da6; border-color:rgba(255,91,122,.2); background:rgba(255,61,102,.025); }
.live-planner-card { position:relative; border:1px solid rgba(255,255,255,.08); border-radius:13px; overflow:hidden; background:#11141d; box-shadow:0 8px 22px rgba(0,0,0,.14); cursor:grab; transition:transform .15s,border-color .15s,opacity .15s; }
.live-planner-card:hover { transform:translateY(-1px); border-color:rgba(255,91,122,.24); }
.live-planner-card.is-dragging { opacity:.42; transform:scale(.97); cursor:grabbing; }
.live-planner-card-art { height:70px; overflow:hidden; background:#090b10; }
.live-planner-card-art img { width:100%; height:100%; object-fit:cover; }
.live-planner-card-body { padding:9px; }
.live-card-topline { display:flex; align-items:center; justify-content:space-between; gap:5px; margin-bottom:6px; }
.live-card-time { color:#fff; font-size:.68rem; font-weight:850; white-space:nowrap; }
.live-card-status { padding:3px 5px; border-radius:999px; color:#ff9ab1; background:rgba(255,61,102,.1); font-size:.52rem; font-weight:850; text-transform:uppercase; letter-spacing:.045em; }
.live-planner-card.status-live .live-card-status { color:#8cf0bc; background:rgba(61,220,151,.12); }
.live-planner-card.status-ended { opacity:.62; }
.live-planner-card.status-ended .live-card-status { color:#aab0bd; background:rgba(255,255,255,.07); }
.live-planner-card.status-cancelled { opacity:.48; }
.live-planner-card-body > strong { display:block; font-size:.78rem; line-height:1.25; margin-bottom:3px; }
.live-planner-card-body > small { display:block; color:#777e8f; font-size:.6rem; }
.live-card-actions { margin-top:9px; display:flex; flex-wrap:wrap; gap:5px; align-items:center; }
.live-card-actions a,.live-card-actions button { appearance:none; border:0; padding:0; background:none; color:#aeb4c2; font-size:.57rem; font-weight:800; cursor:pointer; }
.live-card-actions a:hover,.live-card-actions button:hover { color:#ff91aa; }
.live-card-actions form { display:inline-flex; margin:0; }
.live-planner-save-status { margin-top:8px; min-height:16px; color:#737a89; text-align:right; font-size:.65rem; font-weight:800; }
.live-planner-save-status.is-moving,.live-planner-save-status.is-saving { color:#ff9ab1; }
.live-planner-save-status.is-saved { color:#65dca3; }
.live-planner-save-status.is-error { color:#ff718f; }
.live-editor-layout { scroll-margin-top:95px; }
.live-planner-create-hint { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 22px; padding:16px 18px; border:1px dashed rgba(255,91,122,.22); background:rgba(255,61,102,.025); border-radius:18px; scroll-margin-top:95px; }
.live-planner-create-hint > div { display:flex; align-items:center; gap:12px; }
.live-planner-create-hint > div > span { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; background:rgba(255,61,102,.1); color:#ff8ea7; font-size:1.25rem; }
.live-planner-create-hint strong { display:block; font-size:.88rem; }
.live-planner-create-hint p { margin:3px 0 0; color:var(--muted); font-size:.72rem; }
.live-all-details { padding:0 !important; overflow:hidden; }
.live-all-details > summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 18px; cursor:pointer; }
.live-all-details > summary::-webkit-details-marker { display:none; }
.live-all-details > summary > span:first-child { display:flex; flex-direction:column; gap:3px; }
.live-all-details > summary strong { font-size:.9rem; }
.live-all-details > summary small { color:var(--muted); font-size:.67rem; }
.live-all-details > summary > span:last-child { color:#ff8fa8; font-size:.66rem; font-weight:800; }
.live-all-list { border-top:1px solid rgba(255,255,255,.07); }
.live-all-row { display:grid; grid-template-columns:88px minmax(0,1fr) auto; gap:12px; align-items:center; padding:10px 15px; border-bottom:1px solid rgba(255,255,255,.05); }
.live-all-row:last-child { border-bottom:0; }
.live-all-date { display:flex; flex-direction:column; }
.live-all-date strong { font-size:.78rem; color:#ff91aa; }
.live-all-date span,.live-all-copy span { color:var(--muted); font-size:.63rem; }
.live-all-copy strong { display:block; font-size:.76rem; margin-bottom:2px; }

/* Public — vraie vue planning hebdomadaire. */
.live-planning-hero { padding-bottom:32px; }
.live-public-shell { padding-top:4px; }
.live-next-feature { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); gap:0; min-height:310px; margin-bottom:48px; border:1px solid rgba(255,255,255,.09); border-radius:25px; overflow:hidden; background:linear-gradient(110deg,#11141d,#0b0d13); box-shadow:0 24px 70px rgba(0,0,0,.28); }
.live-next-art { min-height:310px; overflow:hidden; position:relative; }
.live-next-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 55%,#10131b 100%); pointer-events:none; }
.live-next-art img { width:100%; height:100%; object-fit:cover; }
.live-next-copy { display:flex; flex-direction:column; justify-content:center; padding:34px clamp(24px,4vw,54px); }
.live-next-badge { width:max-content; margin-bottom:12px; padding:6px 9px; border:1px solid rgba(255,61,102,.24); border-radius:999px; color:#ff93ab; background:rgba(255,61,102,.08); font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.live-next-feature.is-live .live-next-badge { color:#7feab1; border-color:rgba(61,220,151,.25); background:rgba(61,220,151,.08); }
.live-next-copy h2 { margin:0 0 8px; font-size:clamp(1.8rem,3.5vw,3.2rem); letter-spacing:-.06em; }
.live-next-copy > p { max-width:680px; color:#b6bbc8; line-height:1.65; }
.live-next-copy .live-next-meta { margin:0 0 8px; color:#fff; font-size:.78rem; font-weight:800; }
.public-live-planner { scroll-margin-top:100px; }
.public-live-planner-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.public-live-planner-head .eyebrow { margin-bottom:8px; }
.public-live-planner-head h2 { margin:0; font-size:clamp(1.5rem,2.8vw,2.35rem); letter-spacing:-.055em; }
.public-live-planner-head p { margin:6px 0 0; color:var(--muted); font-size:.82rem; }
.public-week-nav { display:flex; align-items:center; gap:7px; }
.public-week-nav a { min-width:39px; height:39px; padding:0 11px; display:grid; place-items:center; border:1px solid var(--line); border-radius:11px; background:rgba(255,255,255,.045); color:#d6d9e2; font-size:.78rem; font-weight:800; transition:.16s; }
.public-week-nav a:hover { border-color:rgba(255,61,102,.3); background:rgba(255,61,102,.08); color:#fff; }
.public-week-nav .is-today { min-width:auto; }
.public-live-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; }
.public-live-day { min-width:0; border:1px solid rgba(255,255,255,.075); border-radius:18px; overflow:hidden; background:rgba(255,255,255,.017); }
.public-live-day.is-today { border-color:rgba(255,61,102,.35); box-shadow:0 0 0 1px rgba(255,61,102,.055); }
.public-live-day > header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px; border-bottom:1px solid rgba(255,255,255,.065); }
.public-live-day > header span { color:#8f96a7; font-size:.62rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.public-live-day > header strong { font-size:.75rem; }
.public-live-day.is-today > header span,.public-live-day.is-today > header strong { color:#ff90a9; }
.public-live-day-content { min-height:270px; padding:8px; display:flex; flex-direction:column; gap:8px; }
.public-live-empty { flex:1; min-height:100px; display:grid; place-items:center; align-content:center; gap:3px; color:#3e4553; }
.public-live-empty span { font-size:1.1rem; }
.public-live-empty small { font-size:.61rem; font-weight:700; }
.public-live-card { overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:13px; background:#10131b; }
.public-live-card-art { aspect-ratio:16/9; overflow:hidden; background:#080a0e; }
.public-live-card-art img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.public-live-card:hover .public-live-card-art img { transform:scale(1.035); }
.public-live-card-copy { padding:9px; }
.public-live-card-time { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px; margin-bottom:6px; }
.public-live-card-time span { font-size:.65rem; font-weight:900; }
.public-live-card-time i { padding:3px 5px; border-radius:999px; color:#ff8fa8; background:rgba(255,61,102,.09); font-size:.48rem; font-style:normal; font-weight:850; text-transform:uppercase; }
.public-live-card.status-live .public-live-card-time i { color:#78e9ad; background:rgba(61,220,151,.1); }
.public-live-card-copy h3 { margin:0 0 3px; font-size:.77rem; line-height:1.25; }
.public-live-platform { margin:0; color:#8e95a5; font-size:.58rem; font-weight:700; }
.public-live-desc { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; margin:7px 0 0; color:#9ea4b3; font-size:.6rem; line-height:1.5; }
.public-live-card-copy > a,.public-live-link-pending { display:block; margin-top:9px; padding-top:8px; border-top:1px solid rgba(255,255,255,.06); color:#ff91aa; font-size:.58rem; font-weight:850; }
.public-live-link-pending { color:#686f7e; }

@media (max-width:1250px) {
  .public-live-week { grid-template-columns:repeat(7,minmax(175px,1fr)); overflow-x:auto; padding-bottom:8px; scrollbar-width:none; }
  .public-live-week::-webkit-scrollbar { display:none; }
}
@media (max-width:900px) {
  .live-planner-toolbar,.public-live-planner-head { align-items:flex-start; flex-direction:column; }
  .live-week-actions,.public-week-nav { align-self:stretch; }
  .live-week-actions .live-today-button,.public-week-nav .is-today { flex:1; }
  .live-next-feature { grid-template-columns:1fr; }
  .live-next-art { min-height:230px; max-height:330px; }
  .live-next-art::after { background:linear-gradient(0deg,#10131b 0%,transparent 55%); }
  .live-next-copy { padding:26px; }
}
@media (max-width:700px) {
  .live-planner-admin { padding:13px; border-radius:18px; }
  .live-week-grid { grid-template-columns:repeat(7,176px); }
  .live-planner-create-hint { align-items:flex-start; flex-direction:column; }
  .live-planner-create-hint .button { width:100%; }
  .live-all-row { grid-template-columns:64px minmax(0,1fr); }
  .live-all-row .inline-actions { grid-column:1/-1; justify-content:flex-end; }
  .public-live-week { grid-template-columns:repeat(7,210px); }
  .public-live-day-content { min-height:240px; }
  .live-next-copy h2 { font-size:2rem; }
}

/* V26 — identité officielle leonnecorp */
.brand-logo {
  width:40px; height:40px; flex:0 0 auto; display:block; object-fit:contain;
  filter:drop-shadow(0 8px 20px rgba(255,181,0,.13));
}
.brand-logo-login { width:46px; height:46px; }
.admin-v22 .admin-sidebar .brand-logo { width:34px; height:34px; }
.brand-footer .brand-logo { width:40px; height:40px; }
@media (max-width:760px) {
  .site-header .brand-logo { width:36px; height:36px; }
}

/* ========================================================================== */
/* V27 — Planning live compact, affiches verticales et journées off           */
/* ========================================================================== */
.admin-v24 .live-editor-panel-v27 { padding:16px 18px; }
.live-form-grid-v27 { grid-template-columns:minmax(0,1fr); gap:10px; }
.live-form-grid-v27 > .live-game-poster-picker,
.live-form-grid-v27 > .live-banner-picker { grid-column:1/-1; }
.live-description-compact { min-height:76px !important; max-height:130px; }
.live-off-setting { margin:0 0 12px; border-color:rgba(255,91,122,.18); background:rgba(255,61,102,.035); }

.live-schedule-row {
  display:flex !important; align-items:end; flex-wrap:wrap; gap:10px;
  padding:11px; border:1px solid rgba(255,255,255,.07); border-radius:13px;
  background:rgba(255,255,255,.018);
}
.live-schedule-row > div { display:grid; gap:6px; }
.live-schedule-row label { color:#cbd0dc; font-size:.7rem; font-weight:800; }
.live-date-control { width:min(260px,100%); }
.live-time-control { width:138px; }
.live-status-control { width:165px; }
.admin-v24 .live-schedule-row input,
.admin-v24 .live-schedule-row select { min-height:38px; padding:7px 10px; }
.live-native-date::-webkit-calendar-picker-indicator,
.live-native-time::-webkit-calendar-picker-indicator {
  width:20px; height:20px; cursor:pointer; filter:invert(1) brightness(2); opacity:.95;
}
.live-native-date::-webkit-calendar-picker-indicator:hover,
.live-native-time::-webkit-calendar-picker-indicator:hover { opacity:1; transform:scale(1.06); }

.live-game-poster-picker .media-picker-field,
.live-banner-picker .media-picker-field { width:100%; }
.live-game-poster-picker .media-field-layout { grid-template-columns:148px minmax(0,1fr); align-items:center; }
.live-game-poster-picker .media-field-preview {
  width:148px; min-height:214px; aspect-ratio:2/3; border-style:solid; border-color:rgba(255,91,122,.2);
  box-shadow:0 14px 35px rgba(0,0,0,.22);
}
.live-game-poster-picker .media-field-preview img { min-height:214px; object-fit:cover; }
.live-banner-picker { margin-top:2px; }
.live-banner-picker .media-field-layout { grid-template-columns:126px minmax(0,1fr); }
.live-banner-picker .media-field-preview { width:126px; min-height:76px; aspect-ratio:16/9; }
.live-banner-picker .media-field-preview img { min-height:76px; object-fit:cover; }

.live-editor-preview-rail { min-width:0; }
.live-editor-preview-card {
  padding:12px; border:1px solid rgba(255,91,122,.18); border-radius:17px;
  background:linear-gradient(180deg,rgba(255,61,102,.055),rgba(14,16,24,.98));
}
.live-editor-preview-poster {
  width:min(190px,100%); margin:9px auto 0; aspect-ratio:2/3; overflow:hidden; border-radius:14px;
  border:1px solid rgba(255,255,255,.09); background:#080a0f; box-shadow:0 18px 45px rgba(0,0,0,.28);
}
.live-editor-preview-poster img { width:100%; height:100%; display:block; object-fit:cover; }
.live-editor-preview-placeholder,
.live-editor-preview-off { width:100%; height:100%; display:grid; place-items:center; align-content:center; gap:8px; color:#6f7686; text-align:center; font-size:.72rem; font-weight:800; }
.live-editor-preview-off { color:#d7ccff; background:radial-gradient(circle at 50% 20%,rgba(123,92,255,.16),transparent 60%); }
.live-editor-preview-off span { font-size:2.4rem; color:#b7a6ff; }
.live-editor-preview-off small { color:#aaa1c7; }
.live-editor-preview-copy { padding:10px 2px 2px; display:grid; gap:3px; }
.live-editor-preview-copy > span { color:#ff91aa; font-size:.7rem; font-weight:900; }
.live-editor-preview-copy strong { font-size:.92rem; line-height:1.25; }
.live-editor-preview-copy small { color:var(--muted); font-size:.64rem; }

.live-off-editor-copy { margin-top:10px; }
.live-off-editor-card {
  display:flex; align-items:center; gap:14px; padding:16px; border:1px solid rgba(123,92,255,.2); border-radius:16px;
  background:linear-gradient(135deg,rgba(123,92,255,.08),rgba(255,61,102,.035));
}
.live-off-editor-card > span { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; background:rgba(123,92,255,.12); color:#c7baff; font-size:1.65rem; }
.live-off-editor-card strong { display:block; margin-bottom:3px; }
.live-off-editor-card p { margin:0; color:var(--muted); font-size:.72rem; line-height:1.45; }
.live-off-date-row { margin-top:10px; }

.live-day-header-actions { display:flex !important; flex-direction:row !important; align-items:center; gap:5px !important; }
.live-day-header-actions form { margin:0; display:flex; }
.live-day-off,
.live-day-add { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; transition:.16s; }
.live-day-off { border:1px solid rgba(123,92,255,.22); background:rgba(123,92,255,.07); color:#bbaaff; font-size:.9rem; cursor:pointer; }
.live-day-off:hover { border-color:rgba(123,92,255,.45); background:rgba(123,92,255,.16); transform:scale(1.04); }
.live-day-column.has-day-off { border-color:rgba(123,92,255,.22); background:rgba(123,92,255,.018); }
.live-day-column { min-height:360px; }
.live-day-body { min-height:298px; }
.live-planner-card-art { height:auto; aspect-ratio:2/3; max-height:190px; }
.live-planner-card-art img { object-fit:cover; }
.live-planner-card.is-day-off { padding:10px; border-color:rgba(123,92,255,.18); background:linear-gradient(145deg,rgba(123,92,255,.09),rgba(17,20,29,.98)); }
.live-day-off-visual { min-height:150px; display:grid; place-items:center; align-content:center; gap:5px; text-align:center; }
.live-day-off-visual > span { font-size:2.2rem; color:#b9a7ff; }
.live-day-off-visual strong { font-size:.78rem; }
.live-day-off-visual small { color:#8f88a8; font-size:.59rem; line-height:1.35; }
.live-card-actions-off { justify-content:center; border-top:1px solid rgba(255,255,255,.055); padding-top:8px; }
.live-all-row.is-day-off { background:rgba(123,92,255,.025); }
.live-all-row.is-day-off .live-all-date strong { color:#bdafff; }

/* Public : l’affiche verticale du jeu devient le visuel du planning. */
.public-live-day-content { min-height:330px; }
.public-live-card-art { aspect-ratio:2/3; }
.public-live-card-art img { object-fit:cover; }
.public-live-off-card {
  min-height:250px; padding:16px 10px; display:grid; place-items:center; align-content:center; gap:7px; text-align:center;
  border:1px solid rgba(123,92,255,.18); border-radius:13px;
  background:radial-gradient(circle at 50% 18%,rgba(123,92,255,.13),transparent 52%),rgba(255,255,255,.018);
}
.public-live-off-icon { font-size:2.2rem; color:#bbaaff; }
.public-live-off-card strong { font-size:.78rem; }
.public-live-off-card span { max-width:110px; color:#8f88a8; font-size:.59rem; line-height:1.4; }
.public-live-platform { display:none !important; }

@media (max-width:900px) {
  .live-editor-preview-rail { grid-template-columns:minmax(190px,.65fr) 1fr 1fr; }
  .live-editor-preview-card { grid-row:span 2; }
  .live-editor-preview-poster { width:170px; }
}
@media (max-width:700px) {
  .live-schedule-row { align-items:stretch; }
  .live-date-control,.live-time-control,.live-status-control { width:100%; }
  .live-game-poster-picker .media-field-layout { grid-template-columns:112px minmax(0,1fr); }
  .live-game-poster-picker .media-field-preview { width:112px; min-height:165px; }
  .live-game-poster-picker .media-field-preview img { min-height:165px; }
  .live-editor-preview-rail { grid-template-columns:1fr; }
  .live-editor-preview-card { grid-row:auto; }
  .live-editor-preview-poster { width:155px; }
}


/* =========================================================
   V28 — Planning : heure lisible, lien visible, cartes épurées
   ========================================================= */

/* Admin : l'heure du/des streams remonte dans l'en-tête du jour. */
.live-day-heading { min-width:0; }
.live-day-date-line { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.live-day-date-line > strong { line-height:1; }
.live-day-header-time {
  display:inline-flex; align-items:center; min-height:22px; padding:3px 7px;
  border:1px solid rgba(255,91,122,.28); border-radius:999px;
  background:rgba(255,61,102,.10); color:#ff9ab1;
  font-size:.60rem; font-weight:950; line-height:1; white-space:nowrap;
}
.live-day-column.is-today .live-day-header-time {
  border-color:rgba(255,91,122,.46); background:rgba(255,61,102,.16); color:#fff;
}

/* La jaquette verticale reste volontairement compacte mais parfaitement centrée. */
.live-planner-card-art {
  width:min(132px,calc(100% - 16px));
  max-height:none;
  margin:8px auto 0;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.06);
}
.live-planner-card-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:center center; }

.live-card-topline { margin-bottom:8px; }
.live-card-time {
  display:inline-flex; align-items:center; min-height:25px; padding:4px 7px;
  border-radius:8px; background:rgba(255,255,255,.075);
  color:#fff; font-size:.72rem; font-weight:950; letter-spacing:.01em;
}
.live-planner-card-body > strong { font-size:.80rem; line-height:1.3; }
.live-card-actions { padding-top:7px; border-top:1px solid rgba(255,255,255,.055); }
.live-card-actions .live-card-open-link {
  padding:5px 7px; border:1px solid rgba(255,91,122,.24); border-radius:7px;
  background:rgba(255,61,102,.09); color:#ff9ab1;
}
.live-card-actions .live-card-open-link:hover {
  border-color:rgba(255,91,122,.48); background:rgba(255,61,102,.17); color:#fff;
}

/* Public : date + heure ensemble, visibles avant même de lire la fiche. */
.public-live-day > header { min-height:56px; }
.public-live-day-date { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.public-live-day-date > strong { line-height:1; }
.public-live-day-date > b {
  display:inline-flex; align-items:center; min-height:23px; padding:4px 7px;
  border:1px solid rgba(255,91,122,.28); border-radius:999px;
  background:rgba(255,61,102,.10); color:#ff9ab1;
  font-size:.60rem; font-weight:950; line-height:1; white-space:nowrap;
}
.public-live-day.is-today .public-live-day-date > b {
  border-color:rgba(255,91,122,.45); background:rgba(255,61,102,.16); color:#fff;
}

.public-live-card-art img { object-position:center center; }
.public-live-card-copy { padding:10px; }
.public-live-card-time { margin-bottom:8px; }
.public-live-card-time span {
  display:inline-flex; align-items:center; min-height:27px; padding:5px 8px;
  border-radius:8px; background:rgba(255,255,255,.08);
  color:#fff; font-size:.72rem; font-weight:950; letter-spacing:.01em;
}
.public-live-card-time i { padding:4px 6px; font-size:.50rem; }
.public-live-card-copy h3 { margin:0; font-size:.81rem; line-height:1.3; }

/* Le planning hebdomadaire reste volontairement court : pas de description dans les petites cartes. */
.public-live-desc { display:none !important; }

.public-live-card-copy > a.public-live-link-button {
  display:flex; align-items:center; justify-content:center; width:100%;
  min-height:34px; margin-top:10px; padding:7px 9px;
  border:1px solid rgba(255,91,122,.34); border-radius:9px;
  background:linear-gradient(180deg,rgba(255,61,102,.18),rgba(255,61,102,.10));
  color:#fff; font-size:.62rem; font-weight:900; text-align:center;
  transition:background .16s,border-color .16s,transform .16s;
}
.public-live-card-copy > a.public-live-link-button:hover {
  border-color:rgba(255,91,122,.62); background:rgba(255,61,102,.25); transform:translateY(-1px);
}
.public-live-link-pending {
  margin-top:10px; padding:8px 9px; border:1px dashed rgba(255,255,255,.08);
  border-radius:9px; color:#777f90; text-align:center;
}

@media (max-width:1250px) {
  .live-day-header-time,.public-live-day-date > b { font-size:.58rem; }
}
@media (max-width:700px) {
  .public-live-day-date { gap:5px; }
  .public-live-day-date > b { min-height:21px; padding:3px 6px; }
}

/* =========================================================
   V29 — Planning : cartes Jour off à la même hauteur
   ========================================================= */

/* Les 7 colonnes publiques occupent réellement toute la hauteur de la ligne. */
.public-live-day {
  display:flex;
  flex-direction:column;
}
.public-live-day-content {
  flex:1 1 auto;
  min-height:0;
}

/* Un jour off utilise toute la place disponible, exactement comme une fiche stream. */
.public-live-day-content > .public-live-off-card:only-child {
  flex:1 1 auto;
  width:100%;
  min-height:100%;
  padding:18px 12px;
  align-content:center;
  background:
    radial-gradient(circle at 50% 30%,rgba(123,92,255,.18),transparent 38%),
    linear-gradient(180deg,rgba(123,92,255,.055),rgba(14,16,24,.98));
}
.public-live-off-icon {
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin-bottom:5px;
  border:1px solid rgba(183,166,255,.22);
  border-radius:18px;
  background:rgba(123,92,255,.10);
  box-shadow:0 16px 38px rgba(0,0,0,.22);
}
.public-live-off-card strong { font-size:.86rem; }
.public-live-off-card span { max-width:135px; font-size:.62rem; }

/* Même logique dans le planning admin pour éviter la petite carte flottante. */
.live-day-column {
  display:flex;
  flex-direction:column;
}
.live-day-body {
  flex:1 1 auto;
  min-height:0;
}
.live-day-body > .live-planner-card.is-day-off:only-child {
  flex:1 1 auto;
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.live-day-body > .live-planner-card.is-day-off:only-child .live-day-off-visual {
  flex:1 1 auto;
  min-height:210px;
}
.live-day-body > .live-planner-card.is-day-off:only-child .live-card-actions-off {
  flex:0 0 auto;
}

/* Sur petit écran on garde la même logique sans imposer une hauteur excessive. */
@media (max-width:700px) {
  .public-live-day-content > .public-live-off-card:only-child { min-height:360px; }
  .live-day-body > .live-planner-card.is-day-off:only-child .live-day-off-visual { min-height:180px; }
}

/* V30 — lecteur YouTube intégré */
.watch-page { padding: 112px clamp(18px,4vw,64px) 90px; min-height: 100vh; }
.watch-shell { width: min(1480px,100%); margin: 0 auto; }
.watch-breadcrumbs { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; color:var(--muted); font-size:.88rem; font-weight:700; }
.watch-breadcrumbs a:hover { color:#fff; }
.watch-player-card { overflow:hidden; border:1px solid var(--line); border-radius:24px; background:#000; box-shadow:0 30px 90px rgba(0,0,0,.45); }
.watch-player-frame { position:relative; width:100%; aspect-ratio:16/9; background:#000; }
.watch-player-frame iframe { position:absolute; inset:0; width:100%; height:100%; }
.watch-player-fallback { min-height:min(72vh,760px); background-size:cover; background-position:center; display:grid; place-items:center; position:relative; }
.watch-player-fallback::before { content:""; position:absolute; inset:0; background:rgba(4,5,9,.68); }
.watch-player-fallback > div { position:relative; z-index:1; display:grid; gap:18px; text-align:center; justify-items:center; }
.watch-copy { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; align-items:start; padding:30px 4px 18px; }
.watch-kicker { display:block; color:#aaa2ff; text-transform:uppercase; letter-spacing:.12em; font-weight:800; font-size:.73rem; margin-bottom:8px; }
.watch-copy h1 { margin:0 0 10px; max-width:920px; font-size:clamp(1.35rem,1.6vw,2rem); line-height:1.09; letter-spacing:-.03em; }
.watch-copy time { color:var(--muted); font-size:.9rem; }
.watch-copy p { max-width:900px; color:#c8cbd6; line-height:1.72; margin:20px 0 0; }
.watch-actions { padding-top:8px; }
.watch-navigation { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px; }
.watch-navigation a { display:grid; gap:5px; padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.035); }
.watch-navigation a:hover { border-color:rgba(123,92,255,.48); background:rgba(123,92,255,.08); }
.watch-navigation small { color:var(--muted); }
.watch-navigation strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.watch-navigation .is-next { text-align:right; }

/* V30 — tableau de bord Statistiques */
.dashboard-analytics-cta { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; margin:18px 0; padding:20px 22px; border-color:rgba(106,169,255,.28); background:linear-gradient(135deg,rgba(106,169,255,.12),rgba(123,92,255,.05)); }
.dashboard-analytics-cta:hover { border-color:rgba(106,169,255,.5); transform:translateY(-1px); }
.dashboard-analytics-cta h2 { margin:3px 0 4px; font-size:1.25rem; }
.dashboard-analytics-cta p { margin:0; color:var(--muted); }
.dashboard-analytics-cta > strong { color:#a9caff; white-space:nowrap; }
.dashboard-analytics-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; color:#b8d3ff; background:rgba(106,169,255,.13); border:1px solid rgba(106,169,255,.24); font-size:1.25rem; }

.analytics-intro { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:18px; }
.analytics-intro h2 { margin:4px 0 7px; font-size:clamp(1.35rem,2vw,2rem); }
.analytics-intro p { max-width:820px; margin:0; color:var(--muted); line-height:1.6; }
.analytics-periods { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.analytics-kpi-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.analytics-kpi { display:flex; align-items:center; gap:12px; min-height:92px; padding:16px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.035); }
.analytics-kpi > span { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; font-weight:900; background:rgba(255,255,255,.06); }
.analytics-kpi div { display:grid; gap:2px; min-width:0; }
.analytics-kpi strong { font-size:1.45rem; letter-spacing:-.04em; }
.analytics-kpi small { color:var(--muted); line-height:1.3; }
.analytics-kpi.tone-blue { border-color:rgba(106,169,255,.22); }
.analytics-kpi.tone-violet { border-color:rgba(154,134,255,.22); }
.analytics-kpi.tone-amber { border-color:rgba(240,189,99,.22); }
.analytics-kpi.tone-cyan { border-color:rgba(85,214,231,.22); }
.analytics-kpi.tone-green { border-color:rgba(99,213,154,.22); }
.analytics-kpi.tone-pink { border-color:rgba(237,123,200,.22); }
.analytics-trend-panel { margin-bottom:18px; }
.analytics-bars { height:190px; display:flex; align-items:end; gap:6px; overflow-x:auto; padding:12px 0 2px; scrollbar-width:none; }
.analytics-bars::-webkit-scrollbar { display:none; }
.analytics-bar-day { flex:1 0 24px; min-width:24px; height:100%; display:grid; grid-template-rows:1fr auto; gap:7px; text-align:center; }
.analytics-bar-track { height:100%; display:flex; align-items:end; border-radius:8px; background:rgba(255,255,255,.025); overflow:hidden; }
.analytics-bar-track span { width:100%; display:block; min-height:4px; background:linear-gradient(180deg,#6aa9ff,#7b5cff); border-radius:8px 8px 3px 3px; }
.analytics-bar-day small { color:#777f91; font-size:.62rem; transform:rotate(-45deg); transform-origin:center; min-height:30px; }
.analytics-columns { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.analytics-table-wrap { overflow:auto; }
.analytics-table { width:100%; border-collapse:collapse; min-width:610px; }
.analytics-table th { padding:10px 12px; color:#81889a; font-size:.69rem; text-transform:uppercase; letter-spacing:.08em; text-align:right; border-bottom:1px solid var(--line); }
.analytics-table th:first-child { text-align:left; }
.analytics-table td { padding:13px 12px; text-align:right; border-bottom:1px solid rgba(255,255,255,.055); font-size:.86rem; }
.analytics-table td:first-child { text-align:left; }
.analytics-table td a { display:grid; gap:2px; }
.analytics-table td a:hover strong { color:#b9cfff; }
.analytics-table td small { color:var(--muted); }
.analytics-table td b { color:#b7d1ff; }
.analytics-placement-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.analytics-placement-grid > div { display:grid; gap:4px; padding:15px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.028); }
.analytics-placement-grid strong { text-transform:capitalize; }
.analytics-placement-grid span { color:var(--muted); font-size:.82rem; }
.analytics-note { margin:16px 0 4px; padding:15px 17px; display:flex; gap:12px; border-radius:14px; background:rgba(106,169,255,.07); border:1px solid rgba(106,169,255,.18); color:#cbd6ea; }
.analytics-note strong { color:#b8d3ff; white-space:nowrap; }
.analytics-settings-section { border-color:rgba(106,169,255,.18); }

@media (max-width:1200px) {
  .analytics-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .analytics-placement-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:850px) {
  .watch-page { padding-top:92px; }
  .watch-copy { grid-template-columns:1fr; }
  .watch-actions { padding-top:0; }
  .watch-navigation { grid-template-columns:1fr; }
  .watch-navigation .is-next { text-align:left; }
  .analytics-intro { align-items:flex-start; flex-direction:column; }
  .analytics-periods { justify-content:flex-start; }
  .analytics-columns { grid-template-columns:1fr; }
  .dashboard-analytics-cta { grid-template-columns:auto 1fr; }
  .dashboard-analytics-cta > strong { grid-column:2; }
}
@media (max-width:620px) {
  .analytics-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .analytics-placement-grid { grid-template-columns:1fr; }
  .watch-breadcrumbs { align-items:flex-start; flex-direction:column; gap:7px; }
  .watch-copy h1 { font-size:1.45rem; line-height:1.12; }
}


/* V31 — statistiques réellement vivantes dans l'admin */
.analytics-live-state { margin-top:11px; display:flex; align-items:center; gap:8px; color:#93a2bb; font-size:.76rem; font-weight:700; }
.analytics-live-dot { width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:#62d69b; box-shadow:0 0 0 5px rgba(98,214,155,.1),0 0 18px rgba(98,214,155,.35); }
.analytics-live-ranking { margin-top:18px; }
.analytics-live-ranking-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.analytics-live-ranking-grid > div { padding:15px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.025); }
.analytics-live-ranking-grid h3 { margin:0 0 11px; font-size:.9rem; }
.analytics-live-list { display:grid; gap:7px; }
.analytics-live-list-item { display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; align-items:center; padding:9px 10px; border-radius:11px; background:rgba(255,255,255,.035); }
.analytics-live-rank { width:27px; height:27px; display:grid; place-items:center; border-radius:9px; color:#bdd5ff; background:rgba(106,169,255,.11); border:1px solid rgba(106,169,255,.18); font-size:.73rem; font-weight:900; }
.analytics-live-list-item div { display:grid; min-width:0; gap:2px; }
.analytics-live-list-item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.82rem; }
.analytics-live-list-item small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:.7rem; }
@media (max-width:850px) { .analytics-live-ranking-grid { grid-template-columns:1fr; } }

/* V34 — Accueil : le prochain live reprend exactement le composant du planning. */
.home-live-next-feature { margin-top: clamp(34px, 5vw, 68px); margin-bottom: clamp(34px, 5vw, 68px); }
.home-live-next-feature .live-next-art img { object-position:center; }
@media (min-width: 901px) {
  .home-live-next-feature { grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr); min-height:310px; }
  .home-live-next-feature .live-next-art { min-height:310px; }
}

/* V35 — Statistiques centrées sur les vidéos réellement consultées */
.analytics-header-actions { display:grid; gap:9px; justify-items:end; }
.analytics-view-switch { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.analytics-kpi-grid-video { grid-template-columns:repeat(4,minmax(0,1fr)); }
.analytics-recent-video-panel { margin-bottom:18px; }
.analytics-video-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.analytics-video-grid.analytics-video-grid-compact { grid-template-columns:repeat(4,minmax(0,1fr)); }
.analytics-video-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.028); transition:.18s ease; }
.analytics-video-card:hover { transform:translateY(-2px); border-color:rgba(106,169,255,.42); background:rgba(106,169,255,.055); }
.analytics-video-thumb { position:relative; aspect-ratio:16/9; overflow:hidden; background:#080a0f; }
.analytics-video-thumb img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.analytics-video-thumb::after { content:""; position:absolute; inset:48% 0 0; background:linear-gradient(180deg,transparent,rgba(5,7,12,.72)); pointer-events:none; }
.analytics-video-thumb > span { position:absolute; z-index:1; right:8px; bottom:8px; padding:4px 8px; border-radius:999px; color:#e8f8ff; background:rgba(8,14,21,.82); border:1px solid rgba(85,214,231,.22); font-size:.64rem; font-weight:900; }
.analytics-video-copy { display:grid; gap:5px; padding:10px 11px 12px; min-width:0; }
.analytics-video-copy > small { color:#93a2bb; font-size:.66rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.analytics-video-copy > strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.82rem; }
.analytics-video-copy > div { display:flex; gap:5px; flex-wrap:wrap; }
.analytics-video-copy > div span { padding:4px 6px; border-radius:8px; background:rgba(255,255,255,.045); color:#c7ccda; font-size:.62rem; }
.analytics-video-copy time { color:#697286; font-size:.63rem; }
.analytics-video-empty { grid-column:1/-1; min-height:150px; }

.planning-export-panel { display:grid; gap:18px; }
.planning-export-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.planning-export-head p { margin:6px 0 0; max-width:760px; color:var(--muted); }
.planning-export-actions { display:flex; flex-wrap:wrap; gap:10px; }
.planning-export-preview { display:grid; gap:12px; justify-items:center; }
.planning-export-canvas-wrap { width:min(100%, 1120px); margin-inline:auto; border:1px solid var(--line); border-radius:22px; padding:14px; background:rgba(255,255,255,.02); overflow:auto; box-shadow:0 18px 44px rgba(0,0,0,.24); }
.planning-export-canvas-wrap canvas { display:block; width:100%; max-width:100%; height:auto; border-radius:18px; background:#05070d; }
.planning-export-tips { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.planning-export-tips .admin-help-card { margin:0; }

.dashboard-analytics-v35 { display:block; padding:0; overflow:hidden; transform:none; }
.dashboard-analytics-v35:hover { transform:none; }
.dashboard-analytics-main { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; padding:20px 22px; }
.dashboard-analytics-main:hover { background:rgba(106,169,255,.035); }
.dashboard-analytics-main > strong { color:#a9caff; white-space:nowrap; }
.dashboard-recent-videos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:0 12px 12px; }
.dashboard-recent-videos > a { display:grid; grid-template-columns:84px minmax(0,1fr); gap:10px; align-items:center; min-width:0; padding:8px; border:1px solid rgba(106,169,255,.14); border-radius:12px; background:rgba(5,8,14,.3); }
.dashboard-recent-videos > a:hover { border-color:rgba(106,169,255,.4); background:rgba(106,169,255,.06); }
.dashboard-recent-videos img { width:84px; aspect-ratio:16/9; object-fit:cover; border-radius:8px; }
.dashboard-recent-videos span { display:grid; gap:2px; min-width:0; }
.dashboard-recent-videos small,.dashboard-recent-videos em { color:var(--muted); font-size:.64rem; font-style:normal; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-recent-videos strong { font-size:.78rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-analytics-empty { padding:0 22px 17px; color:var(--muted); font-size:.78rem; }

@media (max-width:1200px) {
  .analytics-kpi-grid-video { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .analytics-video-grid,.analytics-video-grid.analytics-video-grid-compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .dashboard-recent-videos { grid-template-columns:1fr; }
  .planning-export-tips { grid-template-columns:1fr; }
}
@media (max-width:850px) {
  .analytics-header-actions { justify-items:start; }
  .analytics-view-switch { justify-content:flex-start; }
  .analytics-video-grid,.analytics-video-grid.analytics-video-grid-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-analytics-main { grid-template-columns:auto 1fr; }
  .dashboard-analytics-main > strong { grid-column:2; }
  .planning-export-head { flex-direction:column; }
}
@media (max-width:620px) {
  .analytics-kpi-grid-video { grid-template-columns:1fr 1fr; }
  .analytics-video-grid,.analytics-video-grid.analytics-video-grid-compact { grid-template-columns:1fr; }
  .dashboard-recent-videos > a { grid-template-columns:72px minmax(0,1fr); }
  .dashboard-recent-videos img { width:72px; }
}

/* V43 — séries programmées verticales + espace Projets / Devlogs */
.upcoming-mixed-rail {
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:5px 2px 18px;
}
.upcoming-mixed-rail::-webkit-scrollbar { display:none; }
.upcoming-mixed-rail > .upcoming-episode-card { flex:0 0 min(360px,31vw); }
.upcoming-mixed-rail > .upcoming-series-poster { flex:0 0 min(245px,20vw); }
.upcoming-series-poster { position:relative; scroll-snap-align:start; }
.upcoming-series-poster .series-poster-visual { position:relative; }
.upcoming-series-badges {
  position:absolute; z-index:2; inset:10px 10px auto;
  display:flex; justify-content:space-between; gap:8px;
}
.upcoming-series-badges .badge { padding:6px 9px; font-size:.62rem; }
.upcoming-series-title { min-height:104px; display:block; padding:12px 13px 13px; }
.upcoming-series-title > span { display:block; overflow:hidden; color:#bdb5ff; font-size:.59rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; text-overflow:ellipsis; }
.upcoming-series-title h3 { margin:5px 0 9px; font-size:.86rem; }
.upcoming-series-title time { display:block; color:#cfc7ff; font-size:.65rem; font-weight:650; line-height:1.35; }

.project-heading-actions { display:flex; align-items:center; gap:10px; }
.project-home-rail { grid-auto-columns:minmax(390px,34vw); }
.home-project-card {
  position:relative; min-height:250px; overflow:hidden; border:1px solid var(--line); border-radius:22px;
  background:#0b0f18; scroll-snap-align:start; box-shadow:0 18px 48px rgba(0,0,0,.25);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.home-project-card:hover { transform:translateY(-6px); border-color:rgba(123,92,255,.48); box-shadow:0 28px 70px rgba(0,0,0,.42); }
.home-project-card > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.home-project-card:hover > img { transform:scale(1.035); }
.home-project-card::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,7,13,.96),rgba(5,7,13,.58) 58%,rgba(5,7,13,.14)),linear-gradient(0deg,rgba(5,7,13,.8),transparent 60%); }
.home-project-overlay { position:relative; z-index:2; width:min(72%,440px); min-height:250px; display:flex; flex-direction:column; justify-content:flex-end; padding:24px; }
.home-project-overlay h3 { margin:12px 0 8px; font-size:1.7rem; letter-spacing:-.05em; }
.home-project-overlay p { margin:0 0 18px; color:#d2d6e2; line-height:1.5; }
.home-project-overlay strong { color:#fff; font-size:.8rem; }
.home-project-logo { width:auto; max-width:min(300px,80%); max-height:92px; object-fit:contain; object-position:left center; margin:14px 0 10px; }

.project-status { display:inline-flex; align-items:center; width:max-content; padding:7px 10px; border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(5,7,13,.68); color:#e6e9f2; font-size:.66rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; backdrop-filter:blur(12px); }
.project-status-online { color:#aaf3d2; border-color:rgba(61,220,151,.34); background:rgba(61,220,151,.12); }
.project-status-beta { color:#c7ddff; border-color:rgba(83,155,255,.34); background:rgba(83,155,255,.12); }
.project-status-coming { color:#ffdc9c; border-color:rgba(255,190,80,.34); background:rgba(255,190,80,.12); }
.project-status-paused { color:#d2d5df; }
.project-status-completed { color:#d9d0ff; border-color:rgba(123,92,255,.34); background:rgba(123,92,255,.12); }

.projects-page-hero { padding-bottom:34px; }
.project-library-shell { padding-top:8px; }
.project-public-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.project-public-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:linear-gradient(150deg,#111621,#0b0e16); box-shadow:0 18px 48px rgba(0,0,0,.24); transition:.25s ease; }
.project-public-card:hover { transform:translateY(-7px); border-color:rgba(123,92,255,.48); box-shadow:0 28px 70px rgba(0,0,0,.4); }
.project-public-card-art { position:relative; aspect-ratio:2/3; overflow:hidden; background:#0b0d14; }
.project-public-card-art img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.project-public-card:hover .project-public-card-art img { transform:scale(1.035); }
.project-public-card-art::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(0deg,rgba(7,9,14,.72),transparent); }
.project-public-card-art .project-status { position:absolute; z-index:2; top:12px; left:12px; }
.project-public-card-copy { min-height:190px; display:flex; flex-direction:column; padding:18px; }
.project-public-card-copy small { color:#a9cff6; font-size:.66rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.project-public-card-copy h2 { margin:7px 0 9px; font-size:1.25rem; letter-spacing:-.04em; }
.project-public-card-copy p { margin:0 0 18px; color:#abb2c1; line-height:1.55; font-size:.86rem; }
.project-public-card-copy > span { margin-top:auto; display:flex; justify-content:space-between; gap:10px; color:#858ea2; font-size:.72rem; }
.project-public-card-copy i { color:#fff; font-style:normal; font-weight:800; }

.project-hero { position:relative; min-height:72vh; display:flex; align-items:flex-end; overflow:hidden; }
.project-hero-backdrop { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.02); }
.project-hero-backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,7,13,.97),rgba(5,7,13,.72) 46%,rgba(5,7,13,.18)),linear-gradient(0deg,var(--bg),transparent 42%); }
.project-hero-content { position:relative; z-index:2; width:min(780px,92%); padding:150px clamp(20px,5vw,76px) 88px; }
.project-hero-content h1 { margin:18px 0 18px; font-size:clamp(3rem,7vw,6.5rem); line-height:.92; letter-spacing:-.075em; }
.project-hero-content > p { max-width:650px; color:#d5d8e2; font-size:1.08rem; line-height:1.7; }
.project-title-logo { width:auto; max-width:min(540px,82vw); max-height:190px; object-fit:contain; object-position:left center; margin:22px 0 20px; }
.project-detail-shell { position:relative; z-index:3; margin-top:-24px; }
.project-intro-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,360px); gap:42px; align-items:start; margin-bottom:70px; }
.project-intro-copy { padding:28px 0; }
.project-intro-copy h2 { margin:0 0 20px; font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.06em; }
.project-rich-text { color:#cbd0dc; font-size:1rem; line-height:1.85; }
.project-poster-panel { overflow:hidden; border:1px solid var(--line); border-radius:24px; background:#0d1018; box-shadow:0 24px 70px rgba(0,0,0,.35); }
.project-poster-panel img { width:100%; aspect-ratio:2/3; object-fit:cover; }
.project-resource-section,.project-devlog-section { margin-bottom:70px; scroll-margin-top:110px; }
.project-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.project-resource-panel { min-width:0; border:1px solid var(--line); border-radius:22px; padding:22px; background:linear-gradient(145deg,rgba(17,22,34,.94),rgba(10,13,21,.96)); box-shadow:0 18px 45px rgba(0,0,0,.22); }
.project-resource-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; background:linear-gradient(135deg,rgba(123,92,255,.2),rgba(32,217,255,.13)); color:#fff; font-size:1.15rem; }
.project-resource-panel h3 { margin:16px 0 15px; font-size:1.15rem; }
.project-resource-list { display:grid; gap:9px; }
.project-server-row,.project-action-link { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; border:1px solid rgba(255,255,255,.07); border-radius:14px; background:rgba(255,255,255,.025); }
.project-server-row > div,.project-action-link > span { min-width:0; display:grid; gap:4px; }
.project-server-row strong,.project-action-link strong { font-size:.82rem; }
.project-server-row code { overflow:hidden; color:#a9e9ff; font-size:.8rem; text-overflow:ellipsis; white-space:nowrap; }
.project-server-row small,.project-action-link small { color:#858ea2; font-size:.69rem; }
.project-action-link i { flex:none; color:#fff; font-size:.72rem; font-style:normal; font-weight:800; }
.project-action-link:hover { border-color:rgba(123,92,255,.38); background:rgba(123,92,255,.08); }
.project-devlog-feed { display:grid; gap:22px; }
.project-devlog-card { display:grid; grid-template-columns:minmax(260px,36%) minmax(0,1fr); overflow:hidden; border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,#111621,#0c0f17); box-shadow:0 20px 55px rgba(0,0,0,.23); }
.project-devlog-card > img { width:100%; height:100%; min-height:300px; object-fit:cover; }
.project-devlog-card > div { padding:28px; }
.project-devlog-card small { color:#a9cff6; font-size:.69rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.project-devlog-card h3 { margin:8px 0 12px; font-size:clamp(1.45rem,2.5vw,2.3rem); letter-spacing:-.05em; }
.project-devlog-excerpt { margin:0 0 20px; color:#e0e3eb; font-size:1.02rem; line-height:1.6; }
.project-devlog-content { font-size:.94rem; }

.project-link-groups { display:grid; gap:14px; }
.project-link-group { border:1px solid var(--line); border-radius:18px; padding:14px; background:rgba(255,255,255,.018); }
.project-link-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:11px; }
.project-link-heading > div { display:grid; gap:3px; }
.project-link-heading small { color:var(--muted); font-size:.72rem; }
.project-link-list { display:grid; gap:8px; }
.project-link-row { display:grid; grid-template-columns:minmax(120px,.8fr) minmax(200px,1.35fr) minmax(160px,1fr) auto; gap:8px; }
.project-link-row input { min-width:0; }
.project-link-remove { width:40px; padding:0; color:#ff8da5; }
.admin-project-list { display:grid; gap:10px; }
.admin-project-card { display:grid; grid-template-columns:86px minmax(0,1fr) auto; gap:15px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:17px; background:rgba(255,255,255,.02); }
.admin-project-card > img { width:86px; height:112px; object-fit:cover; border-radius:12px; background:#0b0d14; }
.admin-project-card h3 { margin:6px 0 4px; }
.admin-project-card p { margin:0 0 8px; color:var(--muted); font-size:.8rem; }
.admin-project-card small { color:#778094; font-size:.69rem; }
.admin-project-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.admin-project-actions form { margin:0; }
.admin-devlog-list { display:grid; gap:10px; }
.admin-devlog-list article { display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:14px; align-items:center; padding:11px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.02); }
.admin-devlog-list img { width:150px; height:90px; object-fit:cover; border-radius:11px; background:#0b0d14; }
.admin-devlog-list h3 { margin:5px 0; }
.admin-devlog-list p { margin:0; color:var(--muted); font-size:.8rem; }
.admin-devlog-list small { color:#8e98ab; font-size:.68rem; }
.admin-devlog-list article > div:last-child { display:flex; gap:7px; align-items:center; }
.project-devlog-selector form { display:flex; gap:12px; align-items:end; flex-wrap:wrap; }
.project-devlog-selector .form-group { min-width:min(420px,100%); margin:0; }

@media (max-width:1200px) {
  .project-public-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .project-resource-grid { grid-template-columns:1fr 1fr; }
  .upcoming-mixed-rail > .upcoming-episode-card { flex-basis:330px; }
  .upcoming-mixed-rail > .upcoming-series-poster { flex-basis:220px; }
}
@media (max-width:850px) {
  .project-public-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-intro-grid { grid-template-columns:1fr; }
  .project-poster-panel { width:min(360px,100%); }
  .project-resource-grid { grid-template-columns:1fr; }
  .project-devlog-card { grid-template-columns:1fr; }
  .project-devlog-card > img { min-height:220px; max-height:360px; }
  .project-link-row { grid-template-columns:1fr; }
  .project-link-remove { width:100%; }
  .admin-project-card { grid-template-columns:72px minmax(0,1fr); }
  .admin-project-card > img { width:72px; height:96px; }
  .admin-project-actions { grid-column:1/-1; justify-content:flex-start; }
  .admin-devlog-list article { grid-template-columns:110px minmax(0,1fr); }
  .admin-devlog-list img { width:110px; height:76px; }
  .admin-devlog-list article > div:last-child { grid-column:1/-1; }
}
@media (max-width:600px) {
  .upcoming-mixed-rail > .upcoming-episode-card { flex-basis:86vw; }
  .upcoming-mixed-rail > .upcoming-series-poster { flex-basis:48vw; }
  .project-home-rail { grid-auto-columns:88vw; }
  .home-project-overlay { width:90%; padding:20px; }
  .project-heading-actions { width:100%; justify-content:space-between; }
  .project-public-grid { grid-template-columns:1fr 1fr; gap:11px; }
  .project-public-card-copy { min-height:160px; padding:12px; }
  .project-public-card-copy h2 { font-size:.96rem; }
  .project-public-card-copy p { font-size:.73rem; }
  .project-public-card-copy > span { display:block; }
  .project-public-card-copy i { display:block; margin-top:6px; }
  .project-hero { min-height:76vh; }
  .project-resource-panel { padding:17px; }
  .admin-devlog-list article { grid-template-columns:1fr; }
  .admin-devlog-list img { width:100%; height:180px; }
}

/* V44 — bientôt disponible, projets façon catalogue et devlogs détaillés */
.upcoming-mixed-rail { align-items:flex-start; }
.upcoming-mixed-rail > .upcoming-episode-card { align-self:flex-start; height:auto; }
.upcoming-mixed-rail > .upcoming-episode-card .release-card-info { min-height:118px; }
.project-catalogue-poster-visual { position:relative; }
.project-catalogue-status { position:absolute; z-index:2; top:10px; left:10px; box-shadow:0 8px 24px rgba(0,0,0,.28); }

.project-devlog-list-public { display:grid; gap:14px; }
.project-devlog-list-card {
  display:grid; grid-template-columns:220px minmax(0,1fr); min-height:150px; overflow:hidden;
  border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,#101521,#0b0f18);
  box-shadow:0 16px 42px rgba(0,0,0,.2); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.project-devlog-list-card:hover { transform:translateY(-4px); border-color:rgba(123,92,255,.42); box-shadow:0 24px 58px rgba(0,0,0,.34); }
.project-devlog-list-image { position:relative; overflow:hidden; background:#0a0d14; }
.project-devlog-list-image img { width:100%; height:100%; min-height:150px; object-fit:cover; transition:transform .35s ease; }
.project-devlog-list-card:hover img { transform:scale(1.035); }
.project-devlog-list-image span { position:absolute; right:10px; bottom:10px; padding:6px 9px; border-radius:999px; background:rgba(5,7,13,.72); border:1px solid rgba(255,255,255,.14); font-size:.64rem; font-weight:800; backdrop-filter:blur(12px); }
.project-devlog-list-copy { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:20px 22px; }
.project-devlog-list-copy small { color:#9dc9ff; font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.project-devlog-list-copy h3 { margin:7px 0 7px; font-size:1.25rem; letter-spacing:-.04em; }
.project-devlog-list-copy p { margin:0 0 14px; color:#adb5c5; font-size:.84rem; line-height:1.5; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.project-devlog-list-copy strong { color:#fff; font-size:.76rem; }

.project-devlog-detail-hero { position:relative; min-height:58vh; display:flex; align-items:end; overflow:hidden; }
.project-devlog-detail-backdrop { position:absolute; inset:0; background-position:center; background-size:cover; transform:scale(1.02); }
.project-devlog-detail-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,7,12,.96),rgba(5,7,12,.62) 48%,rgba(5,7,12,.18)),linear-gradient(0deg,var(--bg),transparent 50%); }
.project-devlog-detail-heading { position:relative; z-index:2; width:min(900px,92%); padding:150px clamp(20px,5vw,76px) 70px; }
.project-devlog-back { display:inline-flex; margin-bottom:22px; color:#c9cfda; font-size:.78rem; font-weight:800; }
.project-devlog-detail-heading > span { display:block; color:#9dc9ff; font-size:.72rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.project-devlog-detail-heading h1 { margin:10px 0 16px; font-size:clamp(2.4rem,5vw,5.2rem); line-height:.96; letter-spacing:-.065em; }
.project-devlog-detail-heading p { margin:0; max-width:760px; color:#d4d8e2; font-size:1.05rem; line-height:1.65; }
.project-devlog-detail-shell { padding-top:12px; }
.project-devlog-article { width:min(920px,100%); margin:0 auto 54px; padding:28px 30px; border:1px solid var(--line); border-radius:22px; background:rgba(16,20,30,.72); box-shadow:0 22px 60px rgba(0,0,0,.2); }
.project-devlog-article-copy { color:#d9dde6; font-size:1rem; line-height:1.85; }
.project-devlog-gallery-section { margin-bottom:48px; }
.project-devlog-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.project-devlog-gallery button { position:relative; min-height:220px; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#0a0d14; color:#fff; cursor:zoom-in; }
.project-devlog-gallery img { width:100%; height:100%; min-height:220px; max-height:360px; object-fit:cover; transition:transform .3s ease; }
.project-devlog-gallery button:hover img { transform:scale(1.025); }
.project-devlog-gallery button span { position:absolute; inset:auto 10px 10px; padding:8px 10px; border-radius:10px; background:rgba(5,7,13,.78); text-align:left; font-size:.7rem; font-weight:700; backdrop-filter:blur(10px); }
.project-devlog-detail-footer { display:flex; justify-content:center; margin-bottom:24px; }
.project-gallery-lightbox { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:40px 80px; background:rgba(3,4,8,.94); backdrop-filter:blur(16px); }
.project-gallery-lightbox[hidden] { display:none !important; }
.project-gallery-lightbox figure { max-width:min(1280px,92vw); max-height:88vh; margin:0; display:grid; gap:12px; justify-items:center; }
.project-gallery-lightbox figure img { max-width:100%; max-height:80vh; object-fit:contain; border-radius:16px; box-shadow:0 28px 100px rgba(0,0,0,.55); }
.project-gallery-lightbox figcaption { color:#cbd1dd; font-size:.82rem; }
.project-gallery-lightbox-close,.project-gallery-lightbox-nav { position:absolute; display:grid; place-items:center; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.08); color:#fff; cursor:pointer; backdrop-filter:blur(12px); }
.project-gallery-lightbox-close { top:24px; right:24px; width:44px; height:44px; border-radius:50%; font-size:1.5rem; }
.project-gallery-lightbox-nav { top:50%; width:46px; height:60px; border-radius:14px; font-size:1.2rem; transform:translateY(-50%); }
.project-gallery-lightbox-nav.prev { left:22px; }
.project-gallery-lightbox-nav.next { right:22px; }
.devlog-gallery-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.devlog-gallery-admin-slot { min-width:0; padding:12px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.018); }
.devlog-gallery-admin-slot .form-group { margin-bottom:0; }

@media (max-width:900px) {
  .project-devlog-list-card { grid-template-columns:150px minmax(0,1fr); }
  .project-devlog-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .devlog-gallery-admin-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .project-devlog-list-card { grid-template-columns:1fr; }
  .project-devlog-list-image img { height:190px; }
  .project-devlog-detail-hero { min-height:62vh; }
  .project-devlog-detail-heading { padding-bottom:48px; }
  .project-devlog-gallery { grid-template-columns:1fr; }
  .project-gallery-lightbox { padding:70px 14px 20px; }
  .project-gallery-lightbox-nav { top:auto; bottom:18px; transform:none; }
}

/* V45 — corrections projets, devlogs et sorties à venir */
.project-intro-grid { grid-template-columns:minmax(0,1fr) minmax(250px,320px); align-items:start; }
.project-intro-copy { min-width:0; max-width:900px; }
.project-rich-text { max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.project-poster-panel { position:sticky; top:110px; }

.upcoming-mixed-rail > .upcoming-episode-card { flex:0 0 min(330px,30vw); }
.upcoming-episode-card .release-card-visual { aspect-ratio:16 / 9; }
.upcoming-episode-card .release-card-info { min-height:132px; }
.upcoming-date,
.upcoming-series-title time {
  display:grid;
  gap:3px;
  margin-top:auto;
  padding-top:6px;
}
.upcoming-date-label {
  color:#a99fff;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.upcoming-date strong,
.upcoming-series-title time strong {
  color:#ffffff;
  font-size:.98rem;
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.03em;
}
.upcoming-date small,
.upcoming-series-title time small {
  color:#dad3ff;
  font-size:.78rem;
  font-weight:700;
}
.upcoming-series-title { min-height:122px; }
.upcoming-series-title time { color:#d9d1ff; }

.episode-item-locked {
  cursor:default;
  border-color:rgba(255,255,255,.06);
  background:linear-gradient(135deg,rgba(255,255,255,.028),rgba(255,255,255,.015));
}
.episode-item-locked:hover { transform:none; background:linear-gradient(135deg,rgba(255,255,255,.032),rgba(255,255,255,.02)); }
.episode-item-locked .episode-thumb img { filter:grayscale(.22) saturate(.72) brightness(.74); }
.episode-release-note {
  display:grid;
  gap:2px;
  margin-top:12px;
}
.episode-release-note strong {
  color:#a99fff;
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.episode-release-note span {
  color:#f0f3fa;
  font-size:.88rem;
  font-weight:700;
}
.episode-status-lock {
  display:grid;
  gap:3px;
  min-width:148px;
  padding:14px 16px;
  border:1px solid rgba(123,92,255,.28);
  border-radius:16px;
  background:rgba(123,92,255,.1);
  color:#fff;
  text-align:center;
}
.episode-status-lock small {
  color:#b8bfff;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.episode-status-lock strong {
  font-size:.84rem;
  line-height:1.3;
}

.project-devlog-detail-hero-slim { min-height:42vh; }
.project-devlog-detail-heading-slim { width:min(980px,92%); padding-bottom:50px; }
.project-devlog-overview {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:28px;
  align-items:start;
  margin-bottom:42px;
}
.project-devlog-copy-panel {
  min-width:0;
  padding:28px 30px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(17,22,34,.92),rgba(10,13,21,.96));
  box-shadow:0 22px 60px rgba(0,0,0,.24);
}
.project-devlog-meta-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:22px;
}
.project-devlog-meta-list > div {
  min-width:0;
  padding:14px 15px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  background:rgba(255,255,255,.025);
}
.project-devlog-meta-list strong {
  display:block;
  margin-bottom:5px;
  color:#9dc9ff;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.project-devlog-meta-list span {
  color:#eef1f7;
  font-size:.86rem;
  line-height:1.45;
}
.project-devlog-featured-panel { min-width:0; }
.project-devlog-featured-media {
  position:relative;
  display:block;
  width:100%;
  padding:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:#0a0d14;
  box-shadow:0 22px 60px rgba(0,0,0,.3);
  cursor:zoom-in;
}
.project-devlog-featured-media img {
  width:100%;
  min-height:300px;
  max-height:560px;
  aspect-ratio:4 / 5;
  object-fit:cover;
}
.project-devlog-featured-media span {
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(5,7,13,.74);
  color:#fff;
  font-size:.75rem;
  font-weight:800;
  backdrop-filter:blur(12px);
}
.project-devlog-carousel-section { margin-bottom:52px; }
.project-devlog-carousel {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.project-devlog-carousel-window { min-width:0; }
.project-devlog-carousel-slide { margin:0; display:grid; gap:12px; }
.project-devlog-carousel-image {
  display:block;
  width:100%;
  padding:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:#0a0d14;
  cursor:zoom-in;
}
.project-devlog-carousel-image img {
  width:100%;
  min-height:320px;
  max-height:520px;
  object-fit:cover;
}
.project-devlog-carousel-slide figcaption {
  color:#cfd6e2;
  font-size:.82rem;
  line-height:1.5;
  text-align:center;
}
.project-devlog-carousel-nav {
  display:grid;
  place-items:center;
  width:48px;
  height:58px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:1.2rem;
  cursor:pointer;
}
.project-devlog-carousel-thumbs {
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:14px 2px 2px;
  scrollbar-width:none;
}
.project-devlog-carousel-thumbs::-webkit-scrollbar { display:none; }
.project-devlog-thumb {
  flex:none;
  width:88px;
  height:68px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:#0a0d14;
  cursor:pointer;
  opacity:.72;
  transition:opacity .2s ease, border-color .2s ease, transform .2s ease;
}
.project-devlog-thumb:hover { opacity:1; transform:translateY(-2px); }
.project-devlog-thumb.is-active { opacity:1; border-color:rgba(123,92,255,.55); box-shadow:0 10px 24px rgba(0,0,0,.22); }
.project-devlog-thumb img { width:100%; height:100%; object-fit:cover; }

@media (max-width:980px) {
  .project-devlog-overview { grid-template-columns:1fr; }
  .project-devlog-meta-list { grid-template-columns:1fr 1fr; }
  .project-devlog-featured-media img { aspect-ratio:16 / 9; max-height:420px; }
}
@media (max-width:850px) {
  .project-poster-panel { position:static; }
  .episode-item-locked { grid-template-columns:130px 1fr; }
  .episode-status-lock { grid-column:1 / -1; min-width:0; justify-self:start; }
}
@media (max-width:600px) {
  .project-intro-grid { grid-template-columns:1fr; }
  .project-devlog-meta-list { grid-template-columns:1fr; }
  .project-devlog-copy-panel { padding:22px 20px; }
  .project-devlog-carousel {
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .project-devlog-carousel-window { grid-column:1 / -1; order:1; }
  .project-devlog-carousel-nav { width:100%; height:44px; }
  .project-devlog-carousel-nav.prev { order:2; }
  .project-devlog-carousel-nav.next { order:3; }
  .project-devlog-carousel-image img { min-height:220px; }
  .upcoming-mixed-rail > .upcoming-episode-card { flex-basis:86vw; }
}

/* V46 — Devlogs premium : page éditoriale propre, sans lightbox ni effet galerie technique */
.devlog-premium-hero {
  position:relative;
  min-height:52vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
}
.devlog-premium-hero-art {
  position:absolute;
  inset:0;
  z-index:-3;
  background-position:center;
  background-size:cover;
  transform:scale(1.02);
}
.devlog-premium-hero-shade {
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(4,6,11,.97) 0%,rgba(4,6,11,.83) 38%,rgba(4,6,11,.32) 72%,rgba(4,6,11,.18) 100%),
    linear-gradient(0deg,var(--bg) 0%,rgba(5,7,12,.7) 16%,rgba(5,7,12,.05) 55%);
}
.devlog-premium-hero::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(123,92,255,.55),rgba(32,217,255,.36),transparent);
}
.devlog-premium-hero-content {
  width:min(1020px,92%);
  padding:clamp(130px,16vw,220px) clamp(22px,5vw,76px) 72px;
}
.devlog-premium-back {
  display:inline-flex;
  align-items:center;
  margin-bottom:28px;
  color:#c7cedb;
  font-size:.78rem;
  font-weight:800;
  transition:color .2s ease,transform .2s ease;
}
.devlog-premium-back:hover { color:#fff; transform:translateX(-3px); }
.devlog-premium-kicker {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  color:#aacdff;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.devlog-premium-kicker i {
  width:4px;
  height:4px;
  border-radius:50%;
  background:#7b5cff;
  box-shadow:0 0 14px rgba(123,92,255,.75);
}
.devlog-premium-kicker time { color:#a4adbd; }
.devlog-premium-hero h1 {
  max-width:980px;
  margin:0;
  font-size:clamp(3rem,7vw,6.6rem);
  line-height:.92;
  letter-spacing:-.075em;
  text-wrap:balance;
}
.devlog-premium-hero-content > p {
  max-width:760px;
  margin:22px 0 0;
  color:#d0d5df;
  font-size:clamp(.98rem,1.35vw,1.16rem);
  line-height:1.7;
}
.devlog-premium-shell {
  position:relative;
  z-index:3;
  padding-top:46px;
}
.devlog-premium-editorial {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);
  gap:34px;
  align-items:start;
  margin-bottom:78px;
}
.devlog-premium-article {
  min-width:0;
  max-width:900px;
}
.devlog-premium-section-label {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:22px;
  color:#a9c9ff;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.devlog-premium-section-label::before {
  content:"";
  width:26px;
  height:2px;
  background:linear-gradient(90deg,#7b5cff,#20d9ff);
  border-radius:999px;
}
.devlog-premium-copy {
  max-width:820px;
  color:#d5dae4;
  font-size:1.03rem;
  line-height:1.95;
  overflow-wrap:anywhere;
}
.devlog-premium-aside {
  position:sticky;
  top:105px;
}
.devlog-premium-aside-card {
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  padding:22px;
  background:
    linear-gradient(145deg,rgba(19,24,38,.88),rgba(10,13,22,.94));
  box-shadow:0 24px 64px rgba(0,0,0,.28);
}
.devlog-premium-aside-card::before {
  content:"";
  display:block;
  width:52px;
  height:2px;
  margin-bottom:18px;
  background:linear-gradient(90deg,#7b5cff,#20d9ff);
  border-radius:999px;
}
.devlog-premium-aside-label {
  display:block;
  margin-bottom:18px;
  color:#eef1f7;
  font-size:.88rem;
  font-weight:850;
}
.devlog-premium-aside-card dl {
  display:grid;
  gap:0;
  margin:0;
}
.devlog-premium-aside-card dl > div {
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:12px;
  padding:13px 0;
  border-top:1px solid rgba(255,255,255,.055);
}
.devlog-premium-aside-card dt {
  color:#798397;
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.devlog-premium-aside-card dd {
  margin:0;
  color:#dfe4ed;
  font-size:.8rem;
  line-height:1.45;
}
.devlog-premium-project-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
  padding:13px 14px;
  border:1px solid rgba(123,92,255,.2);
  border-radius:14px;
  background:rgba(123,92,255,.08);
  color:#fff;
  font-size:.76rem;
  font-weight:800;
  transition:.2s ease;
}
.devlog-premium-project-link:hover {
  border-color:rgba(123,92,255,.42);
  background:rgba(123,92,255,.14);
  transform:translateY(-2px);
}
.devlog-premium-media-section {
  margin-bottom:74px;
}
.devlog-premium-section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.devlog-premium-section-head span {
  display:block;
  margin-bottom:7px;
  color:#9fc7ff;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.devlog-premium-section-head h2 {
  margin:0;
  font-size:clamp(1.8rem,3vw,2.7rem);
  letter-spacing:-.055em;
}
.devlog-premium-counter {
  display:flex;
  align-items:baseline;
  gap:5px;
  color:#727c90;
  font-size:.8rem;
}
.devlog-premium-counter strong {
  color:#fff;
  font-size:1.35rem;
}
.devlog-premium-stage {
  position:relative;
  overflow:hidden;
  padding:22px 22px 18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:26px;
  background:radial-gradient(circle at top, rgba(21,28,44,.92), #090c13 62%);
  box-shadow:0 30px 90px rgba(0,0,0,.36);
}
.devlog-premium-stage::after {
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:18px;
  height:24%;
  pointer-events:none;
  border-radius:0 0 22px 22px;
  background:linear-gradient(0deg,rgba(5,7,12,.28),transparent);
}
.devlog-premium-slide {
  position:relative;
  margin:0;
  min-height:0;
}
.devlog-premium-slide[hidden] { display:none !important; }
.devlog-premium-slide img {
  display:block;
  width:100%;
  height:min(54vh,560px);
  min-height:320px;
  object-fit:contain;
  object-position:center;
  border-radius:22px;
  background:#04060c;
}
.devlog-premium-slide figcaption {
  position:absolute;
  z-index:2;
  left:40px;
  bottom:34px;
  max-width:min(620px,70%);
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:rgba(5,7,12,.62);
  color:#edf0f6;
  font-size:.75rem;
  font-weight:700;
  line-height:1.45;
  backdrop-filter:blur(12px);
}
.devlog-premium-nav {
  position:absolute;
  z-index:4;
  top:50%;
  display:grid;
  place-items:center;
  width:48px;
  height:58px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(6,8,13,.6);
  color:#fff;
  font-size:1.7rem;
  cursor:pointer;
  backdrop-filter:blur(14px);
  transform:translateY(-50%);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.devlog-premium-nav:hover {
  background:rgba(16,20,30,.82);
  border-color:rgba(255,255,255,.24);
  transform:translateY(-50%) scale(1.04);
}
.devlog-premium-nav.prev { left:22px; }
.devlog-premium-nav.next { right:22px; }
.devlog-premium-progress {
  display:flex;
  justify-content:center;
  gap:7px;
  padding-top:16px;
}
.devlog-premium-dot {
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#4d5565;
  cursor:pointer;
  transition:width .25s ease,background .25s ease;
}
.devlog-premium-dot.is-active {
  width:28px;
  background:linear-gradient(90deg,#7b5cff,#20d9ff);
}
.devlog-premium-pagination {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:0 0 36px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.07);
}
.devlog-premium-pagination a {
  min-width:0;
  display:grid;
  gap:6px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:rgba(255,255,255,.025);
  transition:.22s ease;
}
.devlog-premium-pagination a:hover {
  border-color:rgba(123,92,255,.32);
  background:rgba(123,92,255,.06);
  transform:translateY(-3px);
}
.devlog-premium-pagination a.next { text-align:right; }
.devlog-premium-pagination small {
  color:#8e98a9;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.devlog-premium-pagination strong {
  overflow:hidden;
  color:#f4f6fa;
  font-size:.9rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width:980px) {
  .devlog-premium-editorial { grid-template-columns:1fr; }
  .devlog-premium-aside { position:static; }
  .devlog-premium-aside-card { max-width:620px; }
}
@media (max-width:700px) {
  .devlog-premium-hero { min-height:58vh; }
  .devlog-premium-hero-content { padding-bottom:48px; }
  .devlog-premium-kicker { align-items:flex-start; flex-wrap:wrap; }
  .devlog-premium-kicker i { margin-top:7px; }
  .devlog-premium-section-head { align-items:flex-start; }
  .devlog-premium-stage { padding:14px 14px 14px; }
  .devlog-premium-slide img { min-height:220px; height:46vw; }
  .devlog-premium-slide figcaption { left:24px; bottom:24px; max-width:calc(100% - 48px); }
  .devlog-premium-pagination { grid-template-columns:1fr; }
  .devlog-premium-pagination a.next { text-align:left; }
}

/* V48 — devlog premium layout refinements */
.devlog-premium-top-grid {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.45fr);
  gap:34px;
  align-items:start;
  margin-bottom:46px;
}
.devlog-premium-top-main {
  min-width:0;
}
.devlog-premium-media-section-top {
  margin-bottom:0;
}
.devlog-premium-media-section-top .devlog-premium-section-head {
  margin-bottom:18px;
}
.devlog-premium-copy-section {
  margin-bottom:72px;
}
.devlog-premium-copy-panel {
  overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  border-radius:24px;
  padding:28px 30px;
  background:linear-gradient(180deg,rgba(11,14,23,.72),rgba(8,11,18,.92));
  box-shadow:0 18px 48px rgba(0,0,0,.22);
}
.devlog-premium-copy-panel .devlog-premium-section-label {
  margin-bottom:18px;
}
.devlog-premium-copy-panel .devlog-premium-copy {
  max-width:none;
}
.devlog-premium-stage {
  padding:0;
  border:1px solid rgba(255,255,255,.07);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(9,12,19,.96),rgba(8,11,18,.96));
  box-shadow:0 26px 70px rgba(0,0,0,.28);
}
.devlog-premium-stage::after {
  display:none;
}
.devlog-premium-slide {
  padding:0;
}
.devlog-premium-slide img {
  display:block;
  width:100%;
  height:auto;
  max-height:520px;
  min-height:0;
  object-fit:contain;
  object-position:center;
  border-radius:24px;
  background:transparent;
}
.devlog-premium-slide figcaption {
  left:18px;
  right:auto;
  bottom:18px;
  max-width:min(72%, 580px);
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(8,10,16,.64);
}
.devlog-premium-nav {
  top:50%;
  width:46px;
  height:46px;
  border-radius:999px;
  background:rgba(8,10,16,.68);
  font-size:1.6rem;
}
.devlog-premium-nav.prev { left:14px; }
.devlog-premium-nav.next { right:14px; }
.devlog-premium-progress {
  padding-top:14px;
}
@media (max-width:980px) {
  .devlog-premium-top-grid {
    grid-template-columns:1fr;
  }
  .devlog-premium-copy-panel {
    padding:24px 22px;
  }
}
@media (max-width:700px) {
  .devlog-premium-slide img {
    max-height:none;
  }
  .devlog-premium-slide figcaption {
    left:14px;
    bottom:14px;
    max-width:calc(100% - 28px);
  }
  .devlog-premium-nav.prev { left:10px; }
  .devlog-premium-nav.next { right:10px; }
}

/* V49 — Devlog premium cleaner/pro layout */
.devlog-premium-hero {
  min-height: 320px;
}
.devlog-premium-hero-content {
  padding-top: 88px;
  padding-bottom: 46px;
}
.devlog-premium-hero h1 {
  font-size: clamp(3rem, 5.2vw, 4.8rem);
  line-height: .92;
  max-width: 740px;
}
.devlog-premium-hero-content > p {
  max-width: 720px;
  font-size: 1.02rem;
}
.devlog-premium-shell {
  margin-top: -18px;
}
.devlog-premium-top-grid {
  grid-template-columns: minmax(0, 1.72fr) minmax(300px, .72fr);
  gap: 28px;
  align-items: start;
  margin-bottom: 34px;
}
.devlog-premium-media-card {
  padding: 24px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(10,13,21,.90), rgba(8,10,16,.96)),
    radial-gradient(circle at top right, rgba(72,103,255,.16), transparent 36%);
  box-shadow: 0 28px 70px rgba(0,0,0,.28);
}
.devlog-premium-section-head {
  margin-bottom: 16px;
}
.devlog-premium-section-head h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
}
.devlog-premium-counter {
  min-width: 72px;
  justify-content: flex-end;
}
.devlog-premium-stage {
  position: relative;
  padding: 0;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at center, rgba(72,103,255,.12), transparent 44%),
    linear-gradient(180deg, rgba(5,7,12,.96), rgba(9,12,19,.96));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  min-height: 460px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.devlog-premium-slide,
.devlog-premium-slide.is-active {
  width: 100%;
  height: 100%;
  min-height: 460px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.devlog-premium-slide img {
  width: auto;
  max-width: calc(100% - 32px);
  height: auto;
  max-height: 400px;
  object-fit: contain;
  object-position: center;
  border-radius: 20px;
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
}
.devlog-premium-slide figcaption {
  left: 22px;
  right: 22px;
  bottom: 20px;
  max-width: max-content;
  color: #f5f7fb;
  font-size: .82rem;
  letter-spacing: .02em;
  backdrop-filter: blur(8px);
}
.devlog-premium-nav {
  z-index: 3;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(9,12,18,.70);
  backdrop-filter: blur(8px);
}
.devlog-premium-nav.prev { left: 18px; }
.devlog-premium-nav.next { right: 18px; }
.devlog-premium-progress {
  padding-top: 16px;
}
.devlog-premium-aside {
  top: 24px;
}
.devlog-premium-aside-card {
  border-radius: 24px;
  padding: 26px 22px 22px;
  background:
    linear-gradient(180deg, rgba(12,16,27,.92), rgba(8,10,17,.96)),
    radial-gradient(circle at top center, rgba(72,103,255,.14), transparent 42%);
  box-shadow: 0 24px 56px rgba(0,0,0,.24);
}
.devlog-premium-aside-label {
  font-size: .95rem;
  margin-bottom: 18px;
}
.devlog-premium-aside-card dl {
  gap: 0;
}
.devlog-premium-aside-card dl > div {
  padding: 14px 0;
}
.devlog-premium-project-link {
  margin-top: 18px;
  min-height: 48px;
  font-size: .95rem;
}
.devlog-premium-copy-section {
  margin-bottom: 56px;
}
.devlog-premium-copy-panel {
  padding: 30px 32px;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(11,14,23,.86), rgba(7,10,16,.96)),
    radial-gradient(circle at top left, rgba(72,103,255,.10), transparent 30%);
}
.devlog-premium-copy {
  font-size: 1rem;
  line-height: 1.9;
  color: #dbe0ea;
}
.devlog-premium-copy p,
.devlog-premium-copy li {
  max-width: 90ch;
}
.devlog-premium-pagination {
  gap: 18px;
}
.devlog-premium-pagination a {
  min-height: 110px;
  border-radius: 22px;
}
@media (max-width: 1180px) {
  .devlog-premium-top-grid {
    grid-template-columns: 1fr;
  }
  .devlog-premium-aside {
    position: static;
  }
  .devlog-premium-aside-card {
    max-width: 100%;
  }
}
@media (max-width: 980px) {
  .devlog-premium-media-card,
  .devlog-premium-copy-panel {
    padding: 20px;
  }
  .devlog-premium-stage,
  .devlog-premium-slide,
  .devlog-premium-slide.is-active {
    min-height: 380px;
  }
  .devlog-premium-slide img {
    max-width: calc(100% - 24px);
    max-height: 320px;
  }
}
@media (max-width: 700px) {
  .devlog-premium-hero {
    min-height: 260px;
  }
  .devlog-premium-hero-content {
    padding-top: 72px;
  }
  .devlog-premium-top-grid {
    gap: 18px;
  }
  .devlog-premium-media-card {
    padding: 16px;
    border-radius: 22px;
  }
  .devlog-premium-stage,
  .devlog-premium-slide,
  .devlog-premium-slide.is-active {
    min-height: 280px;
  }
  .devlog-premium-slide img {
    max-width: calc(100% - 16px);
    max-height: 240px;
  }
  .devlog-premium-slide figcaption {
    left: 14px;
    right: 14px;
    bottom: 14px;
    max-width: calc(100% - 28px);
  }
  .devlog-premium-nav {
    width: 42px;
    height: 42px;
  }
  .devlog-premium-nav.prev { left: 10px; }
  .devlog-premium-nav.next { right: 10px; }
  .devlog-premium-copy-panel {
    padding: 22px 18px;
  }
}

/* V50 — cockpit créateur / agenda personnel */
.workspace-kpi-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.workspace-kpi {
  position:relative;
  display:grid;
  gap:5px;
  min-height:118px;
  padding:18px 19px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(17,21,31,.96),rgba(10,13,20,.98));
  text-decoration:none;
  color:var(--text);
  box-shadow:0 14px 38px rgba(0,0,0,.18);
}
.workspace-kpi::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at top right,var(--workspace-kpi-glow),transparent 48%);
  opacity:.55;
}
.workspace-kpi.tone-violet { --workspace-kpi-glow:rgba(123,92,255,.28); }
.workspace-kpi.tone-cyan { --workspace-kpi-glow:rgba(32,217,255,.22); }
.workspace-kpi.tone-red { --workspace-kpi-glow:rgba(255,85,119,.24); }
.workspace-kpi.tone-green { --workspace-kpi-glow:rgba(46,211,167,.22); }
.workspace-kpi.tone-amber { --workspace-kpi-glow:rgba(255,182,72,.24); }
.workspace-kpi > * { position:relative; z-index:1; }
.workspace-kpi > span { color:#9da8bb; font-size:.63rem; font-weight:900; letter-spacing:.13em; }
.workspace-kpi > strong { font-size:2.1rem; line-height:1; letter-spacing:-.06em; }
.workspace-kpi > small { color:#a7afbd; font-size:.72rem; line-height:1.4; }
.workspace-section-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:16px;
}
.workspace-section-head h2 { margin:4px 0 4px; font-size:clamp(1.4rem,2.4vw,2rem); letter-spacing:-.05em; }
.workspace-section-head p { margin:0; max-width:780px; color:var(--muted); font-size:.78rem; line-height:1.55; }
.workspace-week-actions { display:flex; gap:8px; flex-wrap:wrap; }
.creator-workspace-agenda { overflow:hidden; }
.workspace-agenda-legend {
  display:flex;
  align-items:center;
  gap:10px 15px;
  flex-wrap:wrap;
  margin-bottom:14px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.05);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}
.workspace-agenda-legend span { display:flex; align-items:center; gap:6px; color:#aab2c1; font-size:.65rem; font-weight:750; }
.workspace-agenda-legend i { width:8px; height:8px; border-radius:999px; background:var(--legend-color); box-shadow:0 0 16px var(--legend-color); }
.workspace-week-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(150px,1fr));
  gap:9px;
  overflow-x:auto;
  padding-bottom:5px;
  scrollbar-width:thin;
}
.workspace-day {
  min-width:150px;
  min-height:410px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(12,15,23,.92),rgba(8,10,16,.96));
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.workspace-day.is-today { border-color:rgba(123,92,255,.38); box-shadow:inset 0 0 0 1px rgba(123,92,255,.08); }
.workspace-day.is-drop-target { border-color:rgba(32,217,255,.55); background:linear-gradient(180deg,rgba(24,39,51,.96),rgba(10,16,23,.98)); transform:translateY(-2px); }
.workspace-day > header {
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:"day action" "date action";
  gap:1px 8px;
  align-items:center;
  padding:12px 11px 10px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.workspace-day > header span { grid-area:day; color:#8e98aa; font-size:.61rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.workspace-day > header strong { grid-area:date; font-size:.88rem; }
.workspace-day > header a { grid-area:action; display:grid; place-items:center; width:28px; height:28px; border:1px solid rgba(123,92,255,.24); border-radius:9px; background:rgba(123,92,255,.08); color:#c8bdff; text-decoration:none; font-weight:900; }
.workspace-day-body { display:grid; align-content:start; gap:8px; min-height:345px; padding:9px; }
.workspace-day-empty { min-height:130px; display:grid; place-content:center; justify-items:center; gap:5px; color:#596173; text-align:center; }
.workspace-day-empty span { font-size:1rem; }
.workspace-day-empty small { font-size:.62rem; }
.workspace-agenda-card {
  position:relative;
  display:block;
  padding:10px 10px 9px 13px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  border-radius:13px;
  background:linear-gradient(145deg,rgba(20,24,35,.96),rgba(13,16,24,.98));
  color:var(--text);
  text-decoration:none;
  box-shadow:0 7px 18px rgba(0,0,0,.14);
  transition:transform .15s ease,border-color .15s ease,opacity .15s ease;
}
.workspace-agenda-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--workspace-accent,#7b5cff); }
.workspace-agenda-card:hover { transform:translateY(-1px); border-color:color-mix(in srgb,var(--workspace-accent,#7b5cff) 34%, rgba(255,255,255,.08)); }
.workspace-agenda-card[draggable="true"] { cursor:grab; }
.workspace-agenda-card.is-dragging { opacity:.42; transform:scale(.97); cursor:grabbing; }
.workspace-agenda-card.status-done { opacity:.52; }
.workspace-agenda-card.status-done h3 { text-decoration:line-through; }
.workspace-agenda-card.status-cancelled { opacity:.36; }
.workspace-agenda-card.priority-urgent { box-shadow:0 0 0 1px rgba(255,85,119,.15),0 7px 18px rgba(0,0,0,.14); }
.workspace-card-time { display:flex; align-items:center; gap:5px; margin-bottom:6px; color:#cfd5df; }
.workspace-card-time strong { font-size:.70rem; }
.workspace-card-time span { color:#788296; font-size:.57rem; font-weight:800; }
.workspace-agenda-card h3 { margin:0 0 7px; font-size:.76rem; line-height:1.28; letter-spacing:-.02em; }
.workspace-card-tags { display:flex; gap:4px; flex-wrap:wrap; }
.workspace-card-tags span { padding:3px 5px; border-radius:6px; background:rgba(255,255,255,.045); color:#9ea8bb; font-size:.52rem; font-weight:800; }
.workspace-card-actions { display:flex; gap:7px; margin-top:8px; padding-top:7px; border-top:1px solid rgba(255,255,255,.045); }
.workspace-card-actions a,.workspace-card-actions button { padding:0; border:0; background:none; color:#8797ff; font:inherit; font-size:.54rem; font-weight:850; cursor:pointer; text-decoration:none; }
.workspace-card-actions form { margin:0; }
.workspace-agenda-card.is-synced-live { --workspace-accent:#ff5577; background:linear-gradient(145deg,rgba(46,16,26,.90),rgba(18,13,20,.98)); }
.workspace-agenda-card.is-deadline { --workspace-accent:#ffb648; background:linear-gradient(145deg,rgba(48,33,15,.86),rgba(18,15,12,.98)); }
.workspace-mini-progress { height:3px; margin:7px 0; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.06); }
.workspace-mini-progress i { display:block; height:100%; border-radius:inherit; background:var(--workspace-accent,#ffb648); }
.workspace-drag-status { margin-top:10px; min-height:18px; color:#697387; font-size:.62rem; font-weight:800; text-align:right; }
.workspace-drag-status.is-saving { color:#8edfff; }
.workspace-drag-status.is-saved { color:#72e2b5; }
.workspace-drag-status.is-error { color:#ff809a; }
.workspace-edit-layout { margin-top:18px; }
.workspace-time-pair { display:grid; grid-template-columns:1fr auto 1fr; gap:7px; align-items:center; }
.workspace-time-pair span { color:#6f788a; font-weight:900; }
.workspace-delete-form { margin-top:12px; }
.creator-production-section { scroll-margin-top:90px; }
.creator-job-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.creator-job-card {
  position:relative;
  min-width:0;
  padding:16px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(17,21,31,.96),rgba(10,13,20,.98));
  box-shadow:0 14px 36px rgba(0,0,0,.16);
}
.creator-job-card::before { content:""; position:absolute; left:16px; right:16px; top:0; height:2px; background:linear-gradient(90deg,var(--job-color,#7b5cff),transparent); }
.creator-job-card.is-overdue { border-color:rgba(255,85,119,.24); }
.creator-job-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:11px; }
.creator-job-card > header span { color:var(--job-color,#7b5cff); font-size:.58rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.creator-job-card > header h3 { margin:4px 0 0; font-size:.93rem; line-height:1.28; }
.creator-job-card > header > strong { font-size:1.45rem; letter-spacing:-.05em; }
.creator-job-progress { height:6px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.055); }
.creator-job-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--job-color,#7b5cff),#20d9ff); transition:width .2s ease; }
.creator-job-meta { display:flex; gap:5px; flex-wrap:wrap; margin:9px 0 12px; }
.creator-job-meta span { padding:4px 6px; border-radius:7px; background:rgba(255,255,255,.04); color:#8f99ab; font-size:.56rem; font-weight:750; }
.creator-job-meta span.is-late { color:#ff98aa; background:rgba(255,85,119,.08); }
.creator-job-steps { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.creator-job-steps label { display:flex; align-items:center; gap:6px; min-width:0; padding:6px 7px; border-radius:9px; background:rgba(255,255,255,.025); color:#b4bcc9; font-size:.62rem; cursor:pointer; }
.creator-job-steps input { accent-color:var(--job-color,#7b5cff); }
.creator-job-steps input:checked + span { color:#72deb6; text-decoration:line-through; }
.creator-job-card > footer { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:12px; padding-top:10px; border-top:1px solid rgba(255,255,255,.05); }
.creator-job-card > footer > div { display:flex; gap:8px; align-items:center; }
.creator-job-card > footer a,.creator-job-card > footer button { border:0; padding:0; background:none; color:#8b97ff; font:inherit; font-size:.58rem; font-weight:850; text-decoration:none; cursor:pointer; }
.creator-job-card > footer form { margin:0; }
.creator-job-status { padding:4px 7px; border-radius:8px; font-size:.55rem; font-weight:900; }
.creator-job-status.status-planned { color:#c8c5d3; background:rgba(255,255,255,.05); }
.creator-job-status.status-doing { color:#bdb1ff; background:rgba(123,92,255,.12); }
.creator-job-status.status-blocked { color:#ffb4c2; background:rgba(255,85,119,.10); }
.creator-job-status.status-done { color:#7ae4b9; background:rgba(46,211,167,.10); }
.creator-channel-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.creator-channel-card { position:relative; display:grid; grid-template-columns:auto 1fr 110px auto auto; gap:10px; align-items:end; padding:14px; border:1px solid rgba(255,255,255,.07); border-radius:17px; background:linear-gradient(145deg,rgba(17,21,31,.95),rgba(10,13,20,.98)); }
.creator-channel-card::before { content:""; position:absolute; left:14px; right:14px; top:0; height:2px; background:linear-gradient(90deg,var(--channel-color),transparent); }
.creator-channel-icon input { width:44px; height:44px; padding:0; text-align:center; font-size:1.1rem; }
.creator-channel-card .form-group { margin:0; }
.project-visibility-inline-form { margin:0; }
.small-button.visibility-on { color:#7fe4b8; border-color:rgba(46,211,167,.22); background:rgba(46,211,167,.06); }
.small-button.visibility-off { color:#a4acba; border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.025); }
.project-visibility-callout { margin:0 0 14px; }
@media (max-width:1250px) {
  .workspace-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .creator-job-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .creator-channel-grid { grid-template-columns:1fr; }
}
@media (max-width:900px) {
  .workspace-section-head { align-items:flex-start; flex-direction:column; }
  .creator-job-grid { grid-template-columns:1fr; }
  .creator-channel-card { grid-template-columns:auto 1fr 100px; }
  .creator-channel-card .confirm-check,.creator-channel-card > button { grid-column:auto; }
}
@media (max-width:620px) {
  .workspace-kpi-grid { grid-template-columns:1fr 1fr; }
  .workspace-kpi { min-height:100px; padding:14px; }
  .workspace-kpi > strong { font-size:1.65rem; }
  .workspace-time-pair { grid-template-columns:1fr; }
  .workspace-time-pair span { display:none; }
  .creator-job-steps { grid-template-columns:1fr; }
  .creator-channel-card { grid-template-columns:1fr 1fr; }
  .creator-channel-icon { grid-column:1 / -1; }
}

.dashboard-workspace-cta { margin-bottom:18px; padding:0 !important; overflow:hidden; }
.dashboard-workspace-main {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:18px 20px;
  color:var(--text);
  text-decoration:none;
  background:radial-gradient(circle at 12% 0,rgba(123,92,255,.16),transparent 34%),linear-gradient(135deg,rgba(18,22,34,.98),rgba(10,13,20,.98));
}
.dashboard-workspace-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:16px; color:#d6ceff; background:rgba(123,92,255,.12); border:1px solid rgba(123,92,255,.2); font-size:1.3rem; }
.dashboard-workspace-main h2 { margin:3px 0 4px; font-size:1.15rem; }
.dashboard-workspace-main p { margin:0; color:var(--muted); font-size:.72rem; }
.dashboard-workspace-main > strong { color:#bcb3ff; font-size:.72rem; }
@media (max-width:760px) {
  .dashboard-workspace-main { grid-template-columns:auto 1fr; }
  .dashboard-workspace-main > strong { grid-column:2; }
}
.workspace-custom-color { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.workspace-custom-color > input[type="color"] { width:54px; min-width:54px; height:42px; padding:4px; }
.workspace-custom-color .confirm-check { margin:0; }

/* V51 — Mon espace : interface guidée, compacte et chaînes YouTube reliées */
.workspace-command-center {
  padding:18px 20px !important;
  margin-bottom:14px;
  background:
    radial-gradient(circle at 8% 0,rgba(123,92,255,.10),transparent 30%),
    linear-gradient(145deg,rgba(15,19,29,.98),rgba(9,12,19,.98));
}
.workspace-command-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.workspace-command-head h2 { margin:3px 0 5px; font-size:1.35rem; letter-spacing:-.04em; }
.workspace-command-head p { margin:0; max-width:830px; color:var(--muted); font-size:.73rem; line-height:1.55; }
.workspace-command-status {
  display:grid;
  gap:2px;
  min-width:155px;
  padding:11px 13px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  text-align:right;
}
.workspace-command-status strong { font-size:1.15rem; color:#d7d1ff; }
.workspace-command-status span { color:#8f99aa; font-size:.61rem; font-weight:750; }
.workspace-how-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}
.workspace-how-grid button {
  display:grid;
  grid-template-columns:28px 1fr;
  grid-template-areas:"num title" "num copy";
  gap:2px 9px;
  min-width:0;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:13px;
  background:rgba(255,255,255,.018);
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.workspace-how-grid button:hover { border-color:rgba(123,92,255,.25); background:rgba(123,92,255,.04); }
.workspace-how-grid button > span { grid-area:num; display:grid; place-items:center; width:27px; height:27px; border-radius:9px; color:#cfc7ff; background:rgba(123,92,255,.11); font-size:.68rem; font-weight:900; }
.workspace-how-grid button > strong { grid-area:title; align-self:end; font-size:.72rem; }
.workspace-how-grid button > small { grid-area:copy; color:#858fa1; font-size:.58rem; line-height:1.35; }
.workspace-tabbar {
  display:flex;
  gap:6px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.05);
  overflow-x:auto;
  scrollbar-width:none;
}
.workspace-tabbar::-webkit-scrollbar { display:none; }
.workspace-tabbar button {
  flex:none;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;
  background:rgba(255,255,255,.02);
  color:#929cad;
  font:inherit;
  font-size:.68rem;
  font-weight:850;
  cursor:pointer;
}
.workspace-tabbar button.is-active { color:#f2efff; border-color:rgba(123,92,255,.3); background:rgba(123,92,255,.10); }
.workspace-tab-panel { display:block; }
.workspace-tab-panel[hidden] { display:none !important; }
.workspace-tab-panel.is-active { animation:workspace-panel-in .16s ease-out; }
@keyframes workspace-panel-in { from { opacity:.45; transform:translateY(3px); } to { opacity:1; transform:none; } }
.workspace-kpi-grid-compact { gap:9px; margin-bottom:12px; }
.workspace-kpi-grid-compact .workspace-kpi {
  min-height:82px;
  padding:12px 14px;
  border-radius:15px;
  cursor:pointer;
  text-align:left;
  font:inherit;
}
.workspace-kpi-grid-compact .workspace-kpi > span { font-size:.55rem; }
.workspace-kpi-grid-compact .workspace-kpi > strong { font-size:1.45rem; }
.workspace-kpi-grid-compact .workspace-kpi > small { font-size:.61rem; }
.workspace-overview-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:12px;
}
.workspace-overview-card { padding:15px !important; min-width:0; }
.workspace-mini-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px; }
.workspace-mini-head h3 { margin:2px 0 0; font-size:.95rem; }
.workspace-today-list,.workspace-priority-list { display:grid; gap:6px; }
.workspace-today-item {
  position:relative;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:9px;
  align-items:center;
  min-height:48px;
  padding:8px 10px 8px 13px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.05);
  border-radius:11px;
  background:rgba(255,255,255,.018);
}
.workspace-today-item::before { content:""; position:absolute; left:0; top:7px; bottom:7px; width:3px; border-radius:99px; background:var(--workspace-accent,#7b5cff); }
.workspace-today-item time { color:#cbd3df; font-size:.68rem; font-weight:900; }
.workspace-today-item strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.7rem; }
.workspace-today-item small { display:block; margin-top:2px; color:#7f899b; font-size:.55rem; }
.workspace-priority-item {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  width:100%;
  padding:8px 9px;
  border:1px solid rgba(255,255,255,.05);
  border-radius:11px;
  background:rgba(255,255,255,.018);
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.workspace-priority-item:hover { border-color:color-mix(in srgb,var(--workspace-accent) 28%, rgba(255,255,255,.05)); }
.workspace-priority-item.is-late { border-color:rgba(255,85,119,.13); }
.workspace-priority-item strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.68rem; }
.workspace-priority-item small { display:block; margin-top:2px; color:#7f899b; font-size:.54rem; }
.workspace-priority-item > b { font-size:.68rem; color:#bfc8d7; }
.workspace-inline-progress { height:3px; margin-top:6px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.05); }
.workspace-inline-progress i { display:block; height:100%; border-radius:inherit; background:var(--workspace-accent,#7b5cff); }
.workspace-compact-empty { display:grid; min-height:92px; place-items:center; color:#697487; font-size:.67rem; }
.workspace-channel-strip { padding:14px 15px !important; }
.workspace-channel-strip-list { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; }
.workspace-channel-strip-list::-webkit-scrollbar { display:none; }
.workspace-channel-chip {
  flex:1 0 210px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:9px;
  align-items:center;
  min-width:0;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:12px;
  background:linear-gradient(120deg,color-mix(in srgb,var(--channel-color) 7%, rgba(255,255,255,.018)),rgba(255,255,255,.015));
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.workspace-channel-chip.is-disabled { opacity:.48; }
.workspace-channel-chip strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.67rem; }
.workspace-channel-chip small { color:#7f899b; font-size:.54rem; }
.workspace-channel-avatar {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  overflow:hidden;
  flex:none;
  border:1px solid color-mix(in srgb,var(--channel-color,#7b5cff) 28%, rgba(255,255,255,.06));
  border-radius:11px;
  background:color-mix(in srgb,var(--channel-color,#7b5cff) 10%, #0e121b);
  color:#fff;
}
.workspace-channel-avatar img { width:100%; height:100%; object-fit:cover; }
.workspace-channel-avatar.tiny { width:32px; height:32px; border-radius:9px; font-size:.65rem; }
.workspace-channel-avatar.large { width:64px; height:64px; border-radius:18px; font-size:1.25rem; }
.workspace-panel-compact { padding:16px !important; }
.workspace-panel-compact .workspace-section-head { margin-bottom:11px; }
.workspace-panel-compact .workspace-section-head h2 { font-size:1.35rem; }
.workspace-agenda-legend-compact { padding:7px 9px; margin-bottom:10px; }
.workspace-agenda-legend-compact span { font-size:.58rem; }
.workspace-agenda-legend-compact img { width:17px; height:17px; object-fit:cover; border-radius:6px; }
.workspace-week-grid-compact { grid-template-columns:repeat(7,minmax(135px,1fr)); gap:7px; }
.workspace-week-grid-compact .workspace-day { min-width:135px; min-height:300px; border-radius:14px; }
.workspace-week-grid-compact .workspace-day > header { padding:9px 9px 8px; }
.workspace-week-grid-compact .workspace-day > header a { width:25px; height:25px; }
.workspace-week-grid-compact .workspace-day-body { min-height:238px; padding:7px; gap:6px; }
.workspace-week-grid-compact .workspace-day-empty { min-height:90px; }
.workspace-week-grid-compact .workspace-agenda-card { padding:8px 8px 7px 11px; border-radius:10px; text-align:left; width:100%; }
.workspace-week-grid-compact .workspace-agenda-card h3 { font-size:.66rem; margin-bottom:5px; }
.workspace-week-grid-compact .workspace-card-time { margin-bottom:4px; }
.workspace-week-grid-compact .workspace-card-tags span { font-size:.47rem; }
.workspace-week-grid-compact .workspace-card-actions { gap:6px; margin-top:6px; padding-top:6px; }
.workspace-week-grid-compact .workspace-card-actions a,.workspace-week-grid-compact .workspace-card-actions button { font-size:.49rem; }
.workspace-editor-disclosure { padding:0 !important; margin-top:12px; overflow:hidden; }
.workspace-editor-disclosure > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
}
.workspace-editor-disclosure > summary::-webkit-details-marker { display:none; }
.workspace-editor-disclosure > summary strong { display:block; margin:2px 0 2px; font-size:.88rem; }
.workspace-editor-disclosure > summary small { color:#7e899a; font-size:.61rem; }
.workspace-editor-disclosure > summary > b { color:#c8c0ff; font-size:1.1rem; }
.workspace-editor-disclosure[open] > summary { border-bottom:1px solid rgba(255,255,255,.05); }
.workspace-editor-disclosure[open] > summary > b { transform:rotate(45deg); }
.workspace-compact-form { padding:15px 16px 16px; }
.workspace-form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.workspace-form-grid textarea { min-height:72px; }
.creator-job-grid-compact { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.creator-job-grid-compact .creator-job-card { padding:13px; border-radius:15px; }
.creator-job-heading { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:center; min-width:0; }
.creator-job-heading > div { min-width:0; }
.creator-job-heading small { color:var(--job-color,#7b5cff); font-size:.52rem; font-weight:900; text-transform:uppercase; }
.creator-job-grid-compact .creator-job-card > header h3 { font-size:.78rem; }
.creator-job-grid-compact .creator-job-card > header > strong { font-size:1.15rem; }
.creator-job-grid-compact .creator-job-steps { gap:4px; }
.creator-job-grid-compact .creator-job-steps label { padding:5px 6px; font-size:.55rem; }
.workspace-channel-guide { display:flex; gap:7px; flex-wrap:wrap; margin:0 0 12px; }
.workspace-channel-guide span { padding:6px 9px; border:1px solid rgba(255,255,255,.05); border-radius:9px; background:rgba(255,255,255,.018); color:#8791a3; font-size:.58rem; font-weight:750; }
.creator-channel-grid-v51 { grid-template-columns:1fr; gap:10px; }
.creator-channel-card-v51 {
  display:grid;
  grid-template-columns:230px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:14px 15px;
  border-radius:16px;
}
.creator-channel-preview { display:grid; grid-template-columns:auto minmax(0,1fr); gap:11px; align-items:center; min-width:0; }
.creator-channel-preview strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.78rem; }
.creator-channel-preview small { display:block; margin-top:3px; color:#7f899a; font-size:.56rem; }
.creator-channel-fields { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(150px,.8fr); gap:8px 10px; min-width:0; }
.creator-channel-fields .form-group { margin:0; }
.creator-channel-fields .form-group.full { grid-column:1/-1; }
.workspace-youtube-link-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.channel-fetch-status { display:block; margin-top:5px; color:#747f91; }
.channel-fetch-status.is-loading { color:#8bdfff; }
.channel-fetch-status.is-success { color:#74ddb5; }
.channel-fetch-status.is-error { color:#ff8399; }
.workspace-color-field { display:grid; grid-template-columns:54px 1fr; gap:8px; align-items:center; }
.workspace-color-field input[type=color] { width:54px; min-width:54px; height:38px; padding:3px; }
.workspace-color-field span { color:#8e98a9; font-size:.61rem; font-weight:800; }
.creator-channel-actions { display:grid; gap:8px; min-width:190px; }
.creator-channel-actions .confirm-check { margin:0; }
.creator-channel-actions .button { width:100%; }
.small-button.accent { color:#d7d0ff; border-color:rgba(123,92,255,.25); background:rgba(123,92,255,.08); }

@media (max-width:1200px) {
  .workspace-how-grid { grid-template-columns:1fr 1fr; }
  .workspace-form-grid { grid-template-columns:1fr 1fr; }
  .creator-job-grid-compact { grid-template-columns:1fr 1fr; }
  .creator-channel-card-v51 { grid-template-columns:190px minmax(0,1fr); }
  .creator-channel-actions { grid-column:1/-1; grid-template-columns:1fr auto; align-items:center; }
}
@media (max-width:850px) {
  .workspace-command-head { align-items:flex-start; flex-direction:column; }
  .workspace-command-status { text-align:left; }
  .workspace-overview-grid { grid-template-columns:1fr; }
  .workspace-form-grid { grid-template-columns:1fr; }
  .workspace-form-grid .full { grid-column:auto; }
  .creator-job-grid-compact { grid-template-columns:1fr; }
  .creator-channel-card-v51 { grid-template-columns:1fr; }
  .creator-channel-fields { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .workspace-how-grid { grid-template-columns:1fr; }
  .workspace-kpi-grid-compact { grid-template-columns:1fr 1fr; }
  .workspace-channel-chip { flex-basis:185px; }
  .creator-channel-fields { grid-template-columns:1fr; }
  .creator-channel-fields .form-group.full { grid-column:auto; }
  .workspace-youtube-link-row { grid-template-columns:1fr; }
  .creator-channel-actions { grid-template-columns:1fr; }
}

/* V52 — agenda mensuel + lots d'épisodes + file de production priorisable */
.workspace-agenda-head-v52 { align-items:flex-start; }
.workspace-agenda-toolbar { display:grid; justify-items:end; gap:8px; }
.workspace-view-switch {
  display:flex;
  gap:4px;
  padding:3px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:11px;
  background:rgba(255,255,255,.018);
}
.workspace-view-switch a {
  padding:6px 10px;
  border-radius:8px;
  color:#7e899a;
  font-size:.61rem;
  font-weight:850;
  text-decoration:none;
}
.workspace-view-switch a.is-active {
  background:rgba(123,92,255,.14);
  color:#d9d3ff;
  box-shadow:inset 0 0 0 1px rgba(123,92,255,.16);
}
.workspace-form-tip,
.workspace-production-tip {
  margin-bottom:12px;
  padding:9px 11px;
  border:1px solid rgba(32,217,255,.10);
  border-radius:11px;
  background:linear-gradient(120deg,rgba(32,217,255,.045),rgba(123,92,255,.035));
  color:#8f9bad;
  font-size:.62rem;
  line-height:1.5;
}
.workspace-form-tip strong,
.workspace-production-tip strong { color:#c9e8ff; }

.workspace-month-calendar {
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  border-radius:16px;
  background:#11141d;
}
.workspace-month-weekdays {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.018);
}
.workspace-month-weekdays span {
  padding:9px 8px;
  color:#a7b7e8;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.08em;
  text-align:center;
}
.workspace-month-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.workspace-month-day {
  position:relative;
  min-width:0;
  min-height:112px;
  padding:6px 7px 8px;
  border-right:1px solid rgba(255,255,255,.065);
  border-bottom:1px solid rgba(255,255,255,.065);
  background:rgba(255,255,255,.012);
  transition:background .15s ease, box-shadow .15s ease;
}
.workspace-month-day:nth-child(7n) { border-right:0; }
.workspace-month-day:nth-last-child(-n+7) { border-bottom:0; }
.workspace-month-day.is-outside { background:rgba(255,255,255,.006); }
.workspace-month-day.is-drop-target {
  background:rgba(32,217,255,.055);
  box-shadow:inset 0 0 0 1px rgba(32,217,255,.38);
}
.workspace-month-day > header {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  min-height:24px;
  padding:0 2px 4px;
}
.workspace-month-day > header strong {
  display:grid;
  place-items:center;
  min-width:24px;
  height:24px;
  border-radius:999px;
  color:#f2f4fa;
  font-size:.70rem;
  font-weight:900;
}
.workspace-month-day.is-outside > header strong { color:#667086; }
.workspace-month-day.is-today > header strong {
  background:#7b5cff;
  color:#fff;
  box-shadow:0 5px 18px rgba(123,92,255,.28);
}
.workspace-month-day > header a {
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  margin-left:auto;
  border-radius:7px;
  color:#6d7890;
  font-size:.75rem;
  font-weight:900;
  text-decoration:none;
  opacity:0;
  transition:opacity .15s ease,background .15s ease,color .15s ease;
}
.workspace-month-day:hover > header a { opacity:1; }
.workspace-month-day > header a:hover { background:rgba(123,92,255,.12); color:#c8bdff; }
.workspace-month-day-items { display:grid; align-content:start; gap:4px; min-height:72px; }
.workspace-month-chip {
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
  width:100%;
  min-height:22px;
  margin:0;
  padding:4px 7px;
  overflow:hidden;
  border:0;
  border-radius:8px;
  background:rgba(255,255,255,.045);
  color:#fff;
  font:inherit;
  font-size:.54rem;
  font-weight:850;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
}
.workspace-month-chip.is-task {
  padding:0;
  background:color-mix(in srgb,var(--workspace-accent,#7b5cff) 17%, rgba(255,255,255,.025));
  box-shadow:inset 3px 0 0 var(--workspace-accent,#7b5cff);
}
.workspace-month-chip.is-task > a {
  display:flex;
  align-items:center;
  gap:5px;
  width:100%;
  min-width:0;
  padding:4px 7px 4px 9px;
  color:inherit;
  text-decoration:none;
}
.workspace-month-chip time { flex:none; color:#cdd4df; font-size:.49rem; }
.workspace-month-chip strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:inherit; }
.workspace-month-chip.is-live { background:rgba(255,85,119,.17); color:#ff8fa5; }
.workspace-month-chip.is-deadline { background:rgba(255,182,72,.14); color:#ffc869; }
.workspace-month-chip.is-dragging { opacity:.38; }

.workspace-production-head-v52 { align-items:flex-start; }
.workspace-production-actions { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.workspace-batch-list {
  display:grid;
  gap:8px;
  margin-bottom:18px;
}
.workspace-batch-card {
  position:relative;
  display:grid;
  grid-template-columns:minmax(250px,1.4fr) minmax(180px,.8fr) auto auto;
  gap:14px;
  align-items:center;
  padding:11px 12px 11px 15px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  background:linear-gradient(120deg,color-mix(in srgb,var(--batch-color,#7b5cff) 5%,rgba(255,255,255,.018)),rgba(255,255,255,.012));
}
.workspace-batch-card::before {
  content:"";
  position:absolute;
  left:0;
  top:8px;
  bottom:8px;
  width:3px;
  border-radius:99px;
  background:var(--batch-color,#7b5cff);
}
.workspace-batch-identity { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:center; min-width:0; }
.workspace-batch-identity > div { min-width:0; }
.workspace-batch-identity small { display:block; color:var(--batch-color,#7b5cff); font-size:.52rem; font-weight:900; text-transform:uppercase; }
.workspace-batch-identity strong { display:block; margin:2px 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.74rem; }
.workspace-batch-identity span { color:#7e899a; font-size:.55rem; }
.workspace-batch-progress { display:grid; gap:5px; }
.workspace-batch-progress > div { display:flex; justify-content:space-between; gap:8px; color:#7f899a; font-size:.52rem; }
.workspace-batch-progress > div strong { color:#cfd5df; font-size:.62rem; }
.workspace-batch-progress > i { height:4px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.05); }
.workspace-batch-progress > i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--batch-color,#7b5cff),#20d9ff); }
.workspace-batch-progress > small { color:#667185; font-size:.49rem; }
.workspace-batch-count { display:flex; align-items:center; gap:6px; }
.workspace-batch-count form { margin:0; }
.workspace-batch-count button {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  padding:0;
  border:1px solid rgba(255,255,255,.07);
  border-radius:8px;
  background:rgba(255,255,255,.03);
  color:#d8deea;
  cursor:pointer;
}
.workspace-batch-count strong { min-width:24px; text-align:center; font-size:.72rem; }
.workspace-batch-actions { display:flex; gap:7px; align-items:center; }
.workspace-batch-actions form { margin:0; }
.workspace-batch-actions a,.workspace-batch-actions button { padding:0; border:0; background:none; color:#8c98ff; font:inherit; font-size:.54rem; font-weight:850; text-decoration:none; cursor:pointer; }
.workspace-production-queue-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:14px 0 9px;
}
.workspace-production-queue-head h3 { margin:2px 0 2px; font-size:.94rem; }
.workspace-production-queue-head p { margin:0; color:#788395; font-size:.58rem; }
.workspace-production-queue-head > span { color:#707c8e; font-size:.55rem; font-weight:800; }
.workspace-production-queue-head > span.is-saving { color:#8edfff; }
.workspace-production-queue-head > span.is-saved { color:#72e2b5; }
.workspace-production-queue-head > span.is-error { color:#ff809a; }
.creator-job-grid-sortable .creator-job-card { transition:transform .14s ease,border-color .14s ease,opacity .14s ease; }
.creator-job-grid-sortable .creator-job-card.is-dragging { opacity:.35; transform:scale(.97); border-color:rgba(32,217,255,.35); }
.creator-job-drag-handle {
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin:-3px 0 8px;
  color:#606c7f;
  font-size:.62rem;
  font-weight:900;
  cursor:grab;
  user-select:none;
}
.creator-job-drag-handle:active { cursor:grabbing; }
.creator-job-drag-handle span { font-size:.48rem; letter-spacing:.08em; text-transform:uppercase; }
.creator-job-meta span.is-batch { color:#c8bdff; background:rgba(123,92,255,.09); }
.creator-job-managed { color:#667185; font-size:.52rem; font-weight:800; }
.workspace-batch-editor { border-color:rgba(123,92,255,.12) !important; }

@media (max-width:1180px) {
  .workspace-batch-card { grid-template-columns:minmax(220px,1.4fr) minmax(160px,.8fr) auto; }
  .workspace-batch-actions { grid-column:1/-1; justify-content:flex-end; }
}
@media (max-width:900px) {
  .workspace-agenda-toolbar { justify-items:start; }
  .workspace-agenda-head-v52 { flex-direction:column; }
  .workspace-month-calendar { overflow-x:auto; }
  .workspace-month-weekdays,.workspace-month-grid { min-width:820px; }
  .workspace-batch-card { grid-template-columns:1fr auto; }
  .workspace-batch-progress { grid-column:1/-1; }
  .workspace-batch-actions { grid-column:auto; }
}
@media (max-width:620px) {
  .workspace-production-queue-head { align-items:flex-start; flex-direction:column; }
  .workspace-batch-card { grid-template-columns:1fr; }
  .workspace-batch-count,.workspace-batch-actions { justify-content:flex-start; }
  .workspace-production-actions { justify-content:flex-start; }
}
.creator-job-card.status-done .creator-job-drag-handle { opacity:.34; cursor:default; }

/* V53 — Agenda mensuel aligné sur la direction artistique leonnecorp */
.workspace-month-calendar-v53 {
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
}
.workspace-month-calendar-v53 .workspace-month-weekdays {
  gap:8px;
  margin-bottom:8px;
  border:0;
  background:transparent;
}
.workspace-month-calendar-v53 .workspace-month-weekdays span {
  padding:8px 6px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:11px;
  background:linear-gradient(180deg,rgba(17,21,31,.72),rgba(10,13,20,.78));
  color:#929db0;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.13em;
}
.workspace-month-calendar-v53 .workspace-month-grid {
  gap:8px;
}
.workspace-month-calendar-v53 .workspace-month-day {
  min-height:118px;
  padding:7px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.065);
  border-radius:14px;
  background:
    radial-gradient(circle at top right,rgba(123,92,255,.035),transparent 42%),
    linear-gradient(180deg,rgba(13,16,25,.94),rgba(8,10,17,.98));
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;
}
.workspace-month-calendar-v53 .workspace-month-day:nth-child(7n),
.workspace-month-calendar-v53 .workspace-month-day:nth-last-child(-n+7) {
  border-right:1px solid rgba(255,255,255,.065);
  border-bottom:1px solid rgba(255,255,255,.065);
}
.workspace-month-calendar-v53 .workspace-month-day:hover {
  transform:translateY(-1px);
  border-color:rgba(123,92,255,.20);
  background:
    radial-gradient(circle at top right,rgba(123,92,255,.07),transparent 46%),
    linear-gradient(180deg,rgba(16,20,31,.97),rgba(9,12,19,.99));
  box-shadow:0 12px 28px rgba(0,0,0,.17);
}
.workspace-month-calendar-v53 .workspace-month-day.is-outside {
  opacity:.42;
  background:linear-gradient(180deg,rgba(10,12,19,.74),rgba(7,9,14,.82));
}
.workspace-month-calendar-v53 .workspace-month-day.is-today {
  border-color:rgba(123,92,255,.42);
  box-shadow:inset 0 0 0 1px rgba(123,92,255,.09),0 10px 26px rgba(0,0,0,.16);
}
.workspace-month-calendar-v53 .workspace-month-day.is-drop-target {
  transform:translateY(-2px);
  border-color:rgba(32,217,255,.52);
  background:
    radial-gradient(circle at top right,rgba(32,217,255,.11),transparent 46%),
    linear-gradient(180deg,rgba(15,28,38,.96),rgba(8,15,22,.99));
  box-shadow:inset 0 0 0 1px rgba(32,217,255,.12),0 12px 28px rgba(0,0,0,.18);
}
.workspace-month-calendar-v53 .workspace-month-day > header {
  justify-content:space-between;
  min-height:26px;
  padding:0 1px 5px 3px;
}
.workspace-month-calendar-v53 .workspace-month-day > header strong {
  min-width:25px;
  height:25px;
  color:#e9edf5;
  font-size:.67rem;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.035);
}
.workspace-month-calendar-v53 .workspace-month-day.is-today > header strong {
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--accent),#5d7dff);
  box-shadow:0 7px 18px rgba(123,92,255,.30);
}
.workspace-month-calendar-v53 .workspace-month-day.is-outside > header strong {
  color:#778196;
  background:transparent;
  border-color:transparent;
}
.workspace-month-calendar-v53 .workspace-month-day > header a {
  width:23px;
  height:23px;
  margin-left:0;
  border:1px solid rgba(123,92,255,.14);
  border-radius:8px;
  background:rgba(123,92,255,.055);
  color:#9e94df;
  opacity:.30;
}
.workspace-month-calendar-v53 .workspace-month-day:hover > header a {
  opacity:1;
}
.workspace-month-calendar-v53 .workspace-month-day > header a:hover {
  color:#fff;
  border-color:rgba(123,92,255,.28);
  background:rgba(123,92,255,.15);
}
.workspace-month-calendar-v53 .workspace-month-day-items {
  gap:5px;
  min-height:75px;
}
.workspace-month-calendar-v53 .workspace-month-chip {
  min-height:25px;
  border:1px solid rgba(255,255,255,.045);
  border-radius:9px;
  background:linear-gradient(145deg,rgba(18,22,32,.92),rgba(11,14,21,.96));
  color:#edf0f6;
  font-size:.52rem;
  font-weight:850;
  box-shadow:0 5px 12px rgba(0,0,0,.10);
}
.workspace-month-calendar-v53 .workspace-month-chip.is-task {
  border-color:color-mix(in srgb,var(--workspace-accent,#7b5cff) 18%, rgba(255,255,255,.045));
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--workspace-accent,#7b5cff) 9%, rgba(18,22,32,.96)),rgba(10,13,20,.98));
  box-shadow:inset 3px 0 0 var(--workspace-accent,#7b5cff),0 5px 12px rgba(0,0,0,.10);
}
.workspace-month-calendar-v53 .workspace-month-chip.is-task > a {
  padding:5px 7px 5px 10px;
}
.workspace-month-calendar-v53 .workspace-month-chip time {
  color:#8f99ab;
  font-size:.47rem;
  font-weight:800;
}
.workspace-month-calendar-v53 .workspace-month-chip strong {
  color:inherit;
  font-size:.52rem;
}
.workspace-month-calendar-v53 .workspace-month-chip.is-live {
  border-color:rgba(255,85,119,.16);
  background:linear-gradient(145deg,rgba(57,18,31,.72),rgba(22,13,20,.92));
  color:#ff91a7;
}
.workspace-month-calendar-v53 .workspace-month-chip.is-deadline {
  border-color:rgba(255,182,72,.14);
  background:linear-gradient(145deg,rgba(56,39,16,.66),rgba(22,17,11,.92));
  color:#ffc970;
}
.workspace-month-calendar-v53 .workspace-month-chip:hover {
  border-color:rgba(255,255,255,.10);
  filter:brightness(1.08);
}
.workspace-view-switch {
  border-color:rgba(255,255,255,.07);
  background:linear-gradient(180deg,rgba(17,21,31,.84),rgba(10,13,20,.88));
  box-shadow:0 8px 20px rgba(0,0,0,.10);
}
.workspace-view-switch a.is-active {
  color:#fff;
  background:linear-gradient(135deg,rgba(123,92,255,.26),rgba(32,217,255,.10));
  box-shadow:inset 0 0 0 1px rgba(123,92,255,.22),0 5px 14px rgba(0,0,0,.10);
}
@media (max-width:1100px) {
  .workspace-month-calendar-v53 {
    overflow-x:auto;
    padding-bottom:4px;
  }
  .workspace-month-calendar-v53 .workspace-month-weekdays,
  .workspace-month-calendar-v53 .workspace-month-grid {
    min-width:860px;
  }
}

/* V54 — repères visuels de production et agenda totalement synchronisé */
.workspace-unscheduled-tray {
  display:grid;
  grid-template-columns:minmax(180px,240px) minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin:14px 0 18px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(123,92,255,.07),rgba(32,217,255,.025));
}
.workspace-unscheduled-tray > div:first-child { display:grid; gap:3px; }
.workspace-unscheduled-tray > div:first-child strong { color:#fff; font-size:.88rem; }
.workspace-unscheduled-tray > div:first-child span { color:var(--muted); font-size:.72rem; line-height:1.45; }
.workspace-unscheduled-list { display:flex; gap:9px; overflow-x:auto; padding:2px 2px 6px; scrollbar-width:thin; }
.workspace-unscheduled-item {
  flex:0 0 210px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:9px;
  align-items:center;
  padding:8px 10px;
  border:1px solid color-mix(in srgb,var(--workspace-accent) 35%,rgba(255,255,255,.06));
  border-radius:13px;
  background:rgba(8,11,18,.82);
  cursor:grab;
}
.workspace-unscheduled-item:active { cursor:grabbing; }
.workspace-unscheduled-item > img,.workspace-unscheduled-item > span { width:38px; height:38px; border-radius:10px; object-fit:cover; display:grid; place-items:center; background:rgba(255,255,255,.05); }
.workspace-unscheduled-item div { min-width:0; display:grid; gap:2px; }
.workspace-unscheduled-item strong,.workspace-unscheduled-item small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workspace-unscheduled-item strong { color:#fff; font-size:.72rem; }
.workspace-unscheduled-item small { color:var(--muted); font-size:.62rem; }
.workspace-month-chip { cursor:grab; }
.workspace-month-chip:active,.workspace-agenda-card[draggable="true"]:active { cursor:grabbing; }
.workspace-month-chip > a,.workspace-month-chip > button { width:100%; color:inherit; text-decoration:none; }
.workspace-month-chip-meta {
  display:flex;
  gap:5px;
  align-items:center;
  margin-top:4px;
  color:rgba(255,255,255,.62);
  font-size:.56rem;
  font-weight:650;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.workspace-month-chip-meta img { width:14px; height:14px; flex:none; border-radius:999px; object-fit:cover; }
.workspace-card-channel { display:flex; gap:7px; align-items:center; margin:8px 0; color:#cfd6e5; font-size:.68rem; }
.workspace-card-channel img { width:20px; height:20px; border-radius:999px; object-fit:cover; }
.workspace-batch-cover,.creator-job-cover {
  flex:none;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.045);
}
.workspace-batch-cover { width:54px; height:54px; border-radius:14px; }
.creator-job-cover { width:46px; height:46px; border-radius:12px; }
.workspace-batch-cover img,.creator-job-cover img { width:100%; height:100%; object-fit:cover; }
.creator-job-schedule {
  display:grid;
  grid-template-columns:minmax(120px,1fr) minmax(95px,.55fr) auto auto;
  gap:8px;
  align-items:end;
  margin:10px 0 12px;
  padding:10px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.creator-job-schedule label { display:grid; gap:4px; color:var(--muted); font-size:.62rem; }
.creator-job-schedule input { min-width:0; height:34px; padding:0 9px; border:1px solid rgba(255,255,255,.08); border-radius:9px; background:#0a0d15; color:#fff; }
.creator-job-schedule button { height:34px; padding:0 10px; border:0; border-radius:9px; background:rgba(123,92,255,.2); color:#ded8ff; font-size:.64rem; font-weight:800; cursor:pointer; }
.creator-job-schedule button.is-clear { background:rgba(255,255,255,.045); color:#aeb6c8; }
.workspace-day.is-drop-target,.workspace-month-day.is-drop-target { outline:2px solid rgba(32,217,255,.62); outline-offset:-2px; background:linear-gradient(145deg,rgba(123,92,255,.11),rgba(32,217,255,.07)); }
[data-workspace-calendar-card].is-dragging { opacity:.42; transform:scale(.98); }
@media (max-width:900px) {
  .workspace-unscheduled-tray { grid-template-columns:1fr; }
  .creator-job-schedule { grid-template-columns:1fr 1fr; }
  .creator-job-schedule button { width:100%; }
}
@media (max-width:560px) {
  .creator-job-schedule { grid-template-columns:1fr; }
}

/* V55 — agenda : cartes compactes, miniatures discrètes et drag & drop fiable */
.workspace-agenda-card > a,
.workspace-agenda-card > button {
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  outline:0;
  border-radius:0;
  background:transparent;
  appearance:none;
  -webkit-appearance:none;
  color:inherit;
  font:inherit;
  text-align:left;
  text-decoration:none;
  box-shadow:none;
}
.workspace-agenda-card > button { cursor:pointer; }
.workspace-agenda-card[data-workspace-calendar-card],
.workspace-month-chip[data-workspace-calendar-card],
.workspace-unscheduled-item[data-workspace-calendar-card] {
  user-select:none;
  -webkit-user-select:none;
}
.workspace-deadline-head {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.workspace-deadline-head > div { min-width:0; flex:1; }
.workspace-deadline-head h3 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workspace-calendar-thumb {
  flex:none;
  width:24px;
  height:24px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:7px;
  object-fit:cover;
  background:#0a0d14;
  box-shadow:0 4px 10px rgba(0,0,0,.18);
}
.workspace-calendar-thumb.is-channel {
  border-radius:999px;
}
.workspace-card-channel {
  margin:6px 0 4px;
  gap:5px;
  font-size:.60rem;
}
.workspace-card-channel img {
  width:14px;
  height:14px;
}
.workspace-month-chip > a,
.workspace-month-chip > button {
  display:flex;
  align-items:center;
  gap:5px;
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  outline:0;
  border-radius:0;
  background:transparent;
  appearance:none;
  -webkit-appearance:none;
  color:inherit;
  font:inherit;
  text-align:left;
  text-decoration:none;
  box-shadow:none;
}
.workspace-month-chip > button { cursor:pointer; }
.workspace-month-production-thumb {
  flex:none;
  width:14px;
  height:14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:4px;
  object-fit:cover;
  background:#0a0d14;
}
.workspace-month-production-thumb.is-channel { border-radius:999px; }
.workspace-month-chip.is-deadline > button {
  flex-wrap:wrap;
}
.workspace-month-chip.is-deadline > button > strong {
  flex:1;
  min-width:0;
}
.workspace-month-chip.is-deadline .workspace-month-chip-meta {
  flex-basis:100%;
  margin:1px 0 0 19px;
}
.workspace-month-chip-meta img {
  width:11px;
  height:11px;
}
.workspace-agenda-card.is-dragging,
.workspace-month-chip.is-dragging,
.workspace-unscheduled-item.is-dragging {
  opacity:.48;
  transform:scale(.985);
  filter:saturate(.82);
}

/* V56 — production simplifiée, dates fiables et historique terminé */
.workspace-production-create-grid {
  grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);
  align-items:start;
}
.workspace-production-create-note {
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid rgba(32,217,255,.12);
  border-radius:12px;
  background:rgba(32,217,255,.035);
  color:#8e9caf;
  font-size:.66rem;
  line-height:1.55;
}
.workspace-production-create-note strong { color:#bdeeff; }
.creator-job-footer-v56 {
  align-items:flex-end;
  gap:12px;
}
.creator-job-finish-zone {
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.creator-job-finish-form[hidden] { display:none !important; }
.creator-job-finish-button {
  appearance:none;
  border:1px solid rgba(46,211,167,.22);
  border-radius:9px;
  padding:6px 8px;
  background:rgba(46,211,167,.10);
  color:#7aebc6;
  font:inherit;
  font-size:.57rem;
  font-weight:900;
  cursor:pointer;
}
.creator-job-finish-button:hover {
  border-color:rgba(46,211,167,.45);
  background:rgba(46,211,167,.16);
  color:#a0f4d7;
}
.workspace-completed-productions {
  margin-top:18px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:16px;
  background:rgba(8,11,18,.48);
  overflow:hidden;
}
.workspace-completed-productions > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 15px;
  list-style:none;
  cursor:pointer;
  user-select:none;
}
.workspace-completed-productions > summary::-webkit-details-marker { display:none; }
.workspace-completed-productions > summary span { display:grid; gap:2px; }
.workspace-completed-productions > summary strong { color:#e8edf6; font-size:.74rem; }
.workspace-completed-productions > summary small { color:#788599; font-size:.57rem; }
.workspace-completed-productions > summary b {
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:8px;
  color:#96a3b8;
  font-size:.72rem;
}
.workspace-completed-productions[open] > summary b { transform:rotate(180deg); }
.workspace-completed-list {
  display:grid;
  gap:6px;
  padding:0 10px 10px;
}
.workspace-completed-list article {
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.05);
  border-radius:12px;
  background:rgba(255,255,255,.018);
}
.workspace-completed-thumb {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  overflow:hidden;
  border-radius:10px;
  background:rgba(46,211,167,.07);
  color:#6de5bd;
}
.workspace-completed-thumb img { width:100%; height:100%; object-fit:cover; }
.workspace-completed-list article > div { min-width:0; display:grid; gap:2px; }
.workspace-completed-list small { color:#778398; font-size:.52rem; font-weight:800; text-transform:uppercase; }
.workspace-completed-list strong { overflow:hidden; color:#e9edf5; font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.workspace-completed-list span { color:#8591a3; font-size:.55rem; }
.workspace-completed-list form button {
  appearance:none;
  border:1px solid rgba(123,92,255,.18);
  border-radius:9px;
  padding:6px 9px;
  background:rgba(123,92,255,.07);
  color:#c9c1ff;
  font:inherit;
  font-size:.56rem;
  font-weight:850;
  cursor:pointer;
}
.workspace-completed-empty { padding:0 15px 14px; color:#738095; font-size:.62rem; }
.creator-job-schedule {
  border-color:rgba(255,255,255,.055);
  background:rgba(255,255,255,.018);
}
.creator-job-schedule label span { color:#8d99aa; }
.creator-job-schedule input[type="date"],
.creator-job-schedule input[type="time"] {
  color-scheme:dark;
  border-color:rgba(255,255,255,.075);
  background:#0b0f17;
  color:#eef2f8;
}
@media (max-width:760px) {
  .workspace-production-create-grid { grid-template-columns:1fr; }
  .workspace-completed-list article { grid-template-columns:34px minmax(0,1fr); }
  .workspace-completed-list article > form { grid-column:1 / -1; }
}

/* V57 — productions mieux différenciées par chaîne + bouton Terminer plus visible */
.creator-job-finish-button {
  min-height:42px;
  padding:10px 15px;
  border-radius:12px;
  font-size:.70rem;
  letter-spacing:.01em;
  box-shadow:0 8px 22px rgba(46,211,167,.10);
}
.creator-job-finish-button:hover {
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(46,211,167,.16);
}
.creator-job-finish-form {
  margin:0;
}

/* Une sortie de production reprend désormais la couleur de sa chaîne. */
.workspace-agenda-card.is-deadline {
  background:linear-gradient(
    145deg,
    color-mix(in srgb,var(--workspace-accent,#7b5cff) 16%,rgba(17,20,29,.96)),
    rgba(12,15,22,.98)
  );
  border-color:color-mix(in srgb,var(--workspace-accent,#7b5cff) 24%,rgba(255,255,255,.06));
  box-shadow:inset 3px 0 0 var(--workspace-accent,#7b5cff),0 7px 18px rgba(0,0,0,.14);
}
.workspace-agenda-card.is-deadline .workspace-card-time strong,
.workspace-agenda-card.is-deadline .workspace-card-channel {
  color:color-mix(in srgb,var(--workspace-accent,#7b5cff) 76%,#fff);
}
.workspace-agenda-card.is-deadline .workspace-mini-progress i {
  background:var(--workspace-accent,#7b5cff);
}

.workspace-month-chip.is-deadline,
.workspace-month-calendar-v53 .workspace-month-chip.is-deadline {
  border-color:color-mix(in srgb,var(--workspace-accent,#7b5cff) 24%,rgba(255,255,255,.05));
  background:linear-gradient(
    145deg,
    color-mix(in srgb,var(--workspace-accent,#7b5cff) 18%,rgba(17,20,29,.94)),
    rgba(12,15,22,.96)
  );
  color:color-mix(in srgb,var(--workspace-accent,#7b5cff) 72%,#fff);
  box-shadow:inset 3px 0 0 var(--workspace-accent,#7b5cff);
}
.workspace-month-chip.is-deadline:hover {
  border-color:color-mix(in srgb,var(--workspace-accent,#7b5cff) 42%,rgba(255,255,255,.08));
}
.workspace-month-chip.is-deadline .workspace-month-chip-meta {
  color:#aeb7c7;
}
.workspace-month-chip.is-deadline .workspace-month-production-thumb {
  border-color:color-mix(in srgb,var(--workspace-accent,#7b5cff) 34%,rgba(255,255,255,.08));
}

.workspace-unscheduled-item {
  border-color:color-mix(in srgb,var(--workspace-accent,#7b5cff) 22%,rgba(255,255,255,.06));
  background:linear-gradient(145deg,color-mix(in srgb,var(--workspace-accent,#7b5cff) 10%,rgba(17,20,29,.94)),rgba(12,15,22,.96));
  box-shadow:inset 3px 0 0 var(--workspace-accent,#7b5cff);
}
.workspace-legend-production-note {
  padding:4px 8px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:999px;
  background:linear-gradient(90deg,rgba(123,92,255,.08),rgba(32,217,255,.05));
  color:#9aa5b8;
  font-size:.58rem;
  font-weight:800;
}

/* V58 — navigation admin repliable + carnets privés */
.admin-nav-collapsible { gap:2px; }
.admin-nav-section-toggle {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px 7px;
  border:0;
  background:transparent;
  color:#737b90;
  font:800 .6rem/1.2 Manrope,system-ui,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  text-align:left;
}
.admin-nav-section-toggle:hover { color:#b7bed0; }
.admin-nav-section-toggle i { font-style:normal; font-size:.78rem; transition:transform .18s ease; }
.admin-nav-collapsible.is-open .admin-nav-section-toggle i { transform:rotate(180deg); }
.admin-nav-section-links { display:grid; gap:4px; }
.admin-nav-section-links[hidden] { display:none !important; }
.admin-v22 .admin-sidebar nav { gap:8px; }
.admin-v22 .admin-sidebar nav a { min-height:38px; }

.inspiration-layout,
.game-library-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,390px);
  gap:18px;
  align-items:start;
}
.inspiration-main,
.game-library-main { min-width:0; }
.inspiration-editor { position:sticky; top:18px; }
.inspiration-heading { align-items:center; }
.idea-status-strip,
.game-status-strip {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin:18px 0;
}
.idea-status-stat,
.game-status-stat {
  min-width:0;
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:15px;
  background:rgba(255,255,255,.025);
  color:#dce1ec;
  text-decoration:none;
}
.idea-status-stat strong,
.game-status-stat strong { display:block; font-size:1.12rem; color:#fff; }
.idea-status-stat span,
.game-status-stat span { display:block; margin-top:2px; font-size:.7rem; color:#8e97aa; }
.idea-status-stat:hover,
.game-status-stat:hover { border-color:rgba(123,92,255,.35); background:rgba(123,92,255,.07); }
.inspiration-filters {
  display:grid;
  grid-template-columns:minmax(230px,1fr) 170px 170px 160px auto auto;
  gap:8px;
  align-items:center;
  margin-bottom:12px;
}
.inspiration-search {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#090c13;
  color:#7f899d;
}
.inspiration-search input { width:100%; border:0; padding:0; background:transparent; }
.inspiration-filters select { min-height:42px; }
.inspiration-tag-filter { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin:10px 0 18px; }
.inspiration-tag-filter > span { color:#727c91; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.idea-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.idea-card {
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:11px;
  min-height:230px;
  padding:17px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:linear-gradient(150deg,rgba(17,21,32,.94),rgba(10,13,20,.98));
  box-shadow:0 15px 38px rgba(0,0,0,.16);
}
.idea-card::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; border-radius:18px 0 0 18px; background:#7b5cff; }
.idea-card.idea-status-selected::before { background:#20d9ff; }
.idea-card.idea-status-doing::before { background:#ffb648; }
.idea-card.idea-status-done::before { background:#2ed3a7; }
.idea-card.idea-status-archived { opacity:.68; }
.idea-card-top { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.idea-type-badge,
.idea-state-badge { padding:5px 8px; border-radius:999px; background:rgba(255,255,255,.05); color:#aeb7ca; font-size:.62rem; font-weight:800; }
.idea-state-badge { color:#dcd7ff; background:rgba(123,92,255,.10); }
.idea-card h3 { margin:0; font-size:1.02rem; }
.idea-card p { margin:0; color:#9ba4b7; font-size:.8rem; line-height:1.55; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.idea-tags { display:flex; flex-wrap:wrap; gap:6px; }
.idea-tags a { padding:5px 7px; border-radius:8px; background:rgba(255,255,255,.045); color:#9dc9ff; font-size:.66rem; font-weight:750; text-decoration:none; }
.idea-card-footer { margin-top:auto; display:flex; justify-content:space-between; align-items:flex-end; gap:8px; }
.idea-card-footer small { color:#666f83; font-size:.62rem; }
.idea-card-footer > div { display:flex; gap:5px; }
.idea-quick-state select { width:100%; min-height:34px; padding:5px 8px; font-size:.7rem; }
.compact-editor-form { display:grid; gap:13px; }
.danger-zone-inline { margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.06); }

.game-status-strip { grid-template-columns:repeat(6,minmax(0,1fr)); }
.stream-game-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.stream-game-card {
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:#0c1018;
}
.stream-game-cover { position:relative; display:block; aspect-ratio:460 / 215; overflow:hidden; background:#090c13; text-decoration:none; }
.stream-game-cover img { width:100%; height:100%; object-fit:cover; }
.stream-game-cover > span { display:grid; place-items:center; width:100%; height:100%; font-size:2.4rem; }
.stream-game-cover b { position:absolute; left:10px; top:10px; padding:6px 8px; border:1px solid rgba(255,255,255,.10); border-radius:999px; background:rgba(5,8,14,.78); backdrop-filter:blur(9px); color:#fff; font-size:.62rem; }
.stream-game-copy { display:grid; gap:8px; padding:13px 13px 8px; }
.stream-game-copy h3 { margin:0; font-size:.92rem; }
.stream-game-copy p { margin:0; color:#909aad; font-size:.72rem; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.stream-game-actions { display:flex; gap:6px; padding:4px 13px 10px; margin-top:auto; }
.stream-game-card .idea-quick-state { padding:0 13px 13px; }
.stream-game-card.status-selected { border-color:rgba(32,217,255,.28); }
.stream-game-card.status-planned { border-color:rgba(123,92,255,.32); }
.stream-game-card.status-done { opacity:.72; }
.stream-game-card.status-skip { opacity:.5; filter:saturate(.65); }

/* Trois repères volontairement opposés pour les chaînes historiques. */
.admin-page-workspace .workspace-channel-chip,
.admin-page-workspace .creator-channel-card { transition:border-color .18s ease, box-shadow .18s ease; }

@media (max-width:1380px) {
  .idea-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stream-game-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .inspiration-filters { grid-template-columns:minmax(220px,1fr) 150px 150px auto; }
  .inspiration-filters > :nth-last-child(-n+2) { }
}
@media (max-width:1120px) {
  .inspiration-layout,.game-library-layout { grid-template-columns:1fr; }
  .inspiration-editor { position:static; }
  .idea-status-strip,.game-status-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .idea-card-grid,.stream-game-grid { grid-template-columns:1fr; }
  .idea-status-strip,.game-status-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .inspiration-filters { grid-template-columns:1fr 1fr; }
  .inspiration-search { grid-column:1 / -1; }
}
.admin-nav-collapsible:not(.is-open) .admin-nav-section-links { display:none; }

/* V59 — carnets privés plus colorés, sélecteurs sombres et bibliothèque jeux visuelle */
.admin-page-ideas,
.admin-page-game-library {
  --inspiration-violet:#7b5cff;
  --inspiration-blue:#3a8dff;
  --inspiration-cyan:#20d9ff;
  --inspiration-pink:#ff4fb8;
  --inspiration-orange:#ff9b45;
  --inspiration-green:#2ed3a7;
}

/* Les selects hors .form-group ne doivent jamais retomber sur le blanc natif. */
.admin-page-ideas select,
.admin-page-game-library select,
.inspiration-filters select,
.idea-quick-state select {
  appearance:none;
  -webkit-appearance:none;
  color-scheme:dark;
  color:#eef2fb;
  border:1px solid rgba(255,255,255,.09);
  border-radius:11px;
  background-color:#0b0f18;
  background-image:
    linear-gradient(45deg,transparent 50%,#8893aa 50%),
    linear-gradient(135deg,#8893aa 50%,transparent 50%);
  background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
  padding-right:32px !important;
  outline:none;
}
.admin-page-ideas select:focus,
.admin-page-game-library select:focus,
.inspiration-filters select:focus,
.idea-quick-state select:focus {
  border-color:rgba(123,92,255,.58);
  box-shadow:0 0 0 3px rgba(123,92,255,.11);
}
.admin-page-ideas select option,
.admin-page-game-library select option,
.inspiration-filters select option,
.idea-quick-state select option {
  color:#eef2fb;
  background:#0b0f18;
}

/* BOÎTE À IDÉES — plus de relief et de couleurs par état. */
.admin-page-ideas .inspiration-main {
  background:
    radial-gradient(circle at 12% 0,rgba(123,92,255,.095),transparent 28%),
    radial-gradient(circle at 88% 4%,rgba(255,79,184,.06),transparent 24%),
    #0d111a;
}
.admin-page-ideas .inspiration-editor {
  border-color:rgba(255,79,184,.16);
  background:
    radial-gradient(circle at top right,rgba(255,79,184,.08),transparent 34%),
    linear-gradient(155deg,rgba(17,20,31,.98),rgba(10,13,20,.99));
}
.idea-status-stat { position:relative; overflow:hidden; }
.idea-status-stat::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--stat-tone,#7b5cff);
}
.idea-status-stat.tone-inbox { --stat-tone:#7b5cff; background:rgba(123,92,255,.055); }
.idea-status-stat.tone-explore { --stat-tone:#20d9ff; background:rgba(32,217,255,.045); }
.idea-status-stat.tone-selected { --stat-tone:#ff4fb8; background:rgba(255,79,184,.045); }
.idea-status-stat.tone-doing { --stat-tone:#ff9b45; background:rgba(255,155,69,.05); }
.idea-status-stat.tone-done { --stat-tone:#2ed3a7; background:rgba(46,211,167,.045); }
.idea-status-stat.tone-archived { --stat-tone:#778197; background:rgba(119,129,151,.035); }
.idea-status-stat:hover { border-color:color-mix(in srgb,var(--stat-tone,#7b5cff) 48%,transparent); }

.idea-card {
  --idea-tone:#7b5cff;
  border-color:color-mix(in srgb,var(--idea-tone) 17%,rgba(255,255,255,.06));
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--idea-tone) 9%,transparent),transparent 38%),
    linear-gradient(150deg,rgba(17,21,32,.97),rgba(9,12,19,.99));
}
.idea-card::before { width:4px; background:var(--idea-tone); }
.idea-card.idea-status-inbox { --idea-tone:#7b5cff; }
.idea-card.idea-status-explore { --idea-tone:#20d9ff; }
.idea-card.idea-status-selected { --idea-tone:#ff4fb8; }
.idea-card.idea-status-doing { --idea-tone:#ff9b45; }
.idea-card.idea-status-done { --idea-tone:#2ed3a7; }
.idea-card.idea-status-archived { --idea-tone:#778197; }
.idea-card .idea-state-badge {
  color:color-mix(in srgb,var(--idea-tone) 70%,white);
  border:1px solid color-mix(in srgb,var(--idea-tone) 22%,transparent);
  background:color-mix(in srgb,var(--idea-tone) 10%,transparent);
}
.idea-card.idea-type-live .idea-type-badge { color:#ff94ba; background:rgba(255,79,120,.08); }
.idea-card.idea-type-video .idea-type-badge { color:#79d9ff; background:rgba(32,217,255,.07); }
.idea-card.idea-type-project .idea-type-badge { color:#6ce6c8; background:rgba(46,211,167,.07); }
.idea-card.idea-type-format .idea-type-badge { color:#ffbe7d; background:rgba(255,155,69,.07); }
.idea-card.idea-type-community .idea-type-badge { color:#d5c8ff; background:rgba(123,92,255,.08); }

.admin-page-ideas .inspiration-filters {
  grid-template-columns:minmax(260px,1fr) 170px 170px 160px auto auto;
}

/* JEUX — l'éditeur ne vole plus un tiers de l'écran : les affiches sont prioritaires. */
.game-library-layout-wide { grid-template-columns:minmax(0,1fr); }
.game-library-layout-wide .game-library-main { width:100%; }
.admin-page-game-library .game-library-main {
  background:
    radial-gradient(circle at 5% 0,rgba(32,217,255,.07),transparent 25%),
    radial-gradient(circle at 96% 0,rgba(46,211,167,.055),transparent 25%),
    #0d111a;
}
.game-library-filters {
  grid-template-columns:minmax(260px,1fr) 180px 190px auto auto;
}
.game-status-stat { position:relative; overflow:hidden; }
.game-status-stat::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--game-status-tone,#7b5cff); }
.game-status-stat.status-backlog { --game-status-tone:#7b5cff; }
.game-status-stat.status-testing { --game-status-tone:#20d9ff; }
.game-status-stat.status-selected { --game-status-tone:#ff4fb8; }
.game-status-stat.status-planned { --game-status-tone:#ff9b45; }
.game-status-stat.status-done { --game-status-tone:#2ed3a7; }
.game-status-stat.status-skip { --game-status-tone:#778197; }
.game-status-stat.active,
.game-status-stat:hover {
  border-color:color-mix(in srgb,var(--game-status-tone) 44%,transparent);
  background:color-mix(in srgb,var(--game-status-tone) 8%,#0d111a);
}

.game-tag-toolbar {
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:10px 0 20px;
}
.game-tag-toolbar > span {
  flex:none;
  padding-top:7px;
  color:#6f7a90;
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.game-tag-toolbar-list { display:flex; flex-wrap:wrap; gap:7px; }
.game-filter-tag {
  display:flex;
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  background:rgba(255,255,255,.035);
}
.game-filter-tag.active { border-color:rgba(32,217,255,.35); background:rgba(32,217,255,.08); }
.game-filter-tag > a {
  padding:7px 9px 7px 11px;
  color:#cbd3e3;
  text-decoration:none;
  font-size:.7rem;
  font-weight:750;
}
.game-filter-tag form { display:flex; }
.game-filter-tag button {
  width:27px;
  height:27px;
  margin-right:3px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#778197;
  cursor:pointer;
}
.game-filter-tag button:hover { background:rgba(255,91,124,.12); color:#ff7895; }

.stream-game-grid-visual {
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.stream-game-card-visual {
  --game-card-tone:#7b5cff;
  border-color:color-mix(in srgb,var(--game-card-tone) 16%,rgba(255,255,255,.07));
  background:linear-gradient(180deg,#0d121c,#0a0e16);
  box-shadow:0 16px 35px rgba(0,0,0,.16);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.stream-game-card-visual:hover {
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--game-card-tone) 38%,transparent);
  box-shadow:0 22px 44px rgba(0,0,0,.25);
}
.stream-game-card-visual.status-backlog { --game-card-tone:#7b5cff; }
.stream-game-card-visual.status-testing { --game-card-tone:#20d9ff; }
.stream-game-card-visual.status-selected { --game-card-tone:#ff4fb8; }
.stream-game-card-visual.status-planned { --game-card-tone:#ff9b45; }
.stream-game-card-visual.status-done { --game-card-tone:#2ed3a7; }
.stream-game-card-visual.status-skip { --game-card-tone:#778197; }
.stream-game-card-visual .stream-game-cover { aspect-ratio:460/215; }
.stream-game-card-visual .stream-game-cover b {
  border-color:color-mix(in srgb,var(--game-card-tone) 26%,rgba(255,255,255,.09));
  background:rgba(5,8,14,.76);
  box-shadow:0 7px 22px rgba(0,0,0,.2);
}
.stream-game-copy-minimal { padding:13px 13px 6px; }
.stream-game-copy-minimal h3 { font-size:.88rem; line-height:1.25; }
.stream-game-active-tag {
  width:max-content;
  padding:4px 7px;
  border-radius:7px;
  color:#9adfff;
  background:rgba(32,217,255,.06);
  font-size:.6rem;
  font-weight:800;
}
.stream-game-actions-minimal { padding-top:3px; }
.game-quick-state { padding-top:2px !important; }

/* Editeur jeu plein écran, plus simple à lire. */
.game-editor-full {
  scroll-margin-top:16px;
  border-color:rgba(32,217,255,.12);
  background:
    radial-gradient(circle at top right,rgba(32,217,255,.065),transparent 30%),
    linear-gradient(145deg,#0e131d,#0a0e16);
}
.game-editor-full .editor-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.game-editor-grid {
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:22px;
  align-items:start;
}
.game-editor-fields { display:grid; gap:13px; }
.game-editor-media { min-width:0; }
.game-editor-actions { grid-column:1 / -1; }

/* Saisie moderne des tags : plus besoin de virgules. */
.game-tag-input-shell {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  min-height:45px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:11px;
  background:#090c13;
}
.game-tag-input-shell:focus-within {
  border-color:rgba(32,217,255,.42);
  box-shadow:0 0 0 3px rgba(32,217,255,.07);
}
.game-tag-input-shell > input {
  flex:1 1 180px;
  min-width:130px;
  padding:4px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.game-tag-chips { display:flex; flex-wrap:wrap; gap:6px; }
.game-tag-chip {
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px 5px 5px 9px;
  border:1px solid rgba(32,217,255,.18);
  border-radius:999px;
  background:rgba(32,217,255,.075);
  color:#bdeeff;
  font-size:.68rem;
  font-weight:800;
}
.game-tag-chip button {
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#8fb6c7;
  cursor:pointer;
}
.game-tag-chip button:hover { color:#fff; background:rgba(255,91,124,.2); }
.game-tag-suggestions {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding-top:7px;
}
.game-tag-suggestions[hidden] { display:none !important; }
.game-tag-suggestion {
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#8e9bb2;
  font-size:.65rem;
  font-weight:750;
  cursor:pointer;
}
.game-tag-suggestion:hover { color:#dff7ff; border-color:rgba(32,217,255,.24); background:rgba(32,217,255,.06); }

/* Navigation : indication visuelle plus nette, état réellement conservé en session. */
.admin-nav-section-toggle {
  border-radius:9px;
  transition:background .16s ease,color .16s ease;
}
.admin-nav-collapsible.is-open > .admin-nav-section-toggle {
  color:#aeb8cd;
  background:rgba(255,255,255,.025);
}

@media (max-width:1500px) {
  .stream-game-grid-visual { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:1180px) {
  .stream-game-grid-visual { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .game-editor-grid { grid-template-columns:1fr; }
  .game-editor-actions { grid-column:auto; }
}
@media (max-width:880px) {
  .stream-game-grid-visual { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-page-ideas .inspiration-filters,
  .game-library-filters { grid-template-columns:1fr 1fr; }
  .admin-page-ideas .inspiration-filters .inspiration-search,
  .game-library-filters .inspiration-search { grid-column:1 / -1; }
}
@media (max-width:560px) {
  .stream-game-grid-visual { grid-template-columns:1fr; }
  .game-tag-toolbar { display:grid; }
}

/* V60 — Mini-jeux / Roue des noobs */
.minigame-hub-hero { margin-bottom:18px; }
.minigame-hub-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.minigame-hub-card {
  position:relative;
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:20px;
  min-height:230px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(18,22,34,.95),rgba(9,12,20,.98));
  color:var(--text);
  text-decoration:none;
  box-shadow:0 22px 58px rgba(0,0,0,.22);
}
.minigame-hub-card.wheel::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 14% 50%,rgba(123,92,255,.2),transparent 34%);
}
.minigame-hub-card.wheel:hover { transform:translateY(-3px); border-color:rgba(123,92,255,.42); }
.minigame-hub-art {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  min-height:230px;
  background:rgba(255,255,255,.018);
}
.minigame-wheel-mini {
  position:relative;
  width:132px;
  aspect-ratio:1;
  border:8px solid #0a0d15;
  border-radius:50%;
  background:conic-gradient(#7B5CFF 0 16.666%,#FF4E7A 16.666% 33.333%,#20D9FF 33.333% 50%,#24D18F 50% 66.666%,#FFB020 66.666% 83.333%,#4F7DFF 83.333% 100%);
  box-shadow:0 18px 44px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.09);
}
.minigame-wheel-mini::before {
  content:"";
  position:absolute;
  inset:36%;
  border-radius:50%;
  background:#090c14;
  box-shadow:0 0 0 4px rgba(255,255,255,.08);
}
.minigame-hub-copy { position:relative; z-index:1; align-self:center; padding:28px 28px 28px 0; }
.minigame-hub-kicker { display:block; margin-bottom:8px; color:#a89aff; font-size:.68rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.minigame-hub-copy h2 { margin:0 0 10px; font-size:1.55rem; }
.minigame-hub-copy p { margin:0; max-width:620px; color:var(--muted); line-height:1.6; }
.minigame-hub-stats { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.minigame-hub-stats span { padding:9px 12px; border:1px solid rgba(255,255,255,.07); border-radius:12px; background:rgba(255,255,255,.03); color:#bac2d2; font-size:.76rem; }
.minigame-hub-stats strong { color:#fff; margin-right:5px; }
.minigame-hub-open { position:absolute; right:20px; bottom:18px; z-index:2; color:#dcd6ff; font-size:.76rem; font-weight:800; }
.minigame-hub-card.coming { opacity:.56; }
.minigame-hub-art.placeholder { color:#6f7890; font-size:4rem; }

.wheel-admin-top-grid {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(310px,.7fr);
  gap:18px;
  margin-bottom:18px;
}
.wheel-control-panel,.wheel-public-panel,.wheel-config-panel,.wheel-giveaway-panel,.wheel-settings-panel { overflow:hidden; }
.wheel-admin-preview {
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:26px;
  align-items:center;
  margin-top:18px;
  padding:22px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(123,92,255,.07),rgba(32,217,255,.035));
}
.wheel-admin-preview-disc {
  position:relative;
  width:190px;
  aspect-ratio:1;
  border:10px solid #090c14;
  border-radius:50%;
  background:conic-gradient(#7B5CFF 0 20%,#FF4E7A 20% 40%,#20D9FF 40% 60%,#24D18F 60% 80%,#FFB020 80% 100%);
  box-shadow:0 20px 46px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.08);
}
.wheel-admin-preview-disc b {
  position:absolute;
  inset:35%;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#080b12;
  color:#fff;
  font-size:.78rem;
  box-shadow:0 0 0 5px rgba(255,255,255,.06);
}
.wheel-admin-live-actions { display:grid; gap:10px; justify-items:start; }
.wheel-spin-admin-button { min-width:220px; min-height:58px; font-size:1rem; }
.wheel-current-result {
  margin-top:16px;
  padding:18px 20px;
  border:1px solid rgba(123,92,255,.2);
  border-radius:18px;
  background:rgba(123,92,255,.065);
}
.wheel-current-result > span { display:block; color:#a99cff; font-size:.66rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.wheel-current-result > strong { display:block; margin-top:6px; font-size:1.4rem; }
.wheel-current-result > p { margin:6px 0 0; color:var(--muted); }
.wheel-current-result.is-gift { border-color:rgba(255,176,32,.24); background:rgba(255,176,32,.055); }
.wheel-current-gift { display:grid; grid-template-columns:72px minmax(0,1fr) auto; gap:14px; align-items:center; margin-top:15px; padding-top:15px; border-top:1px solid rgba(255,255,255,.07); }
.wheel-current-gift img { width:72px; height:52px; object-fit:cover; border-radius:10px; }
.wheel-current-gift small { display:block; color:#ffcb68; font-size:.66rem; font-weight:800; text-transform:uppercase; }
.wheel-current-gift b { display:block; margin-top:3px; }
.wheel-current-gift em { color:#7ee6b4; font-style:normal; font-weight:800; font-size:.78rem; }
.wheel-public-panel h2 { margin:8px 0 10px; }
.wheel-public-panel p { color:var(--muted); line-height:1.6; }
.wheel-public-url { margin:18px 0; padding:13px 14px; overflow:auto; border:1px solid rgba(255,255,255,.07); border-radius:12px; background:#090c13; }
.wheel-public-url code { color:#aab5ca; font-size:.72rem; white-space:nowrap; }
.wheel-config-panel,.wheel-giveaway-panel,.wheel-settings-panel { margin-top:18px; }
.wheel-reward-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.wheel-reward-card {
  position:relative;
  padding:16px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(15,19,29,.94),rgba(10,13,21,.98));
}
.wheel-reward-card::before { content:""; position:absolute; left:0; top:16px; bottom:16px; width:3px; border-radius:0 4px 4px 0; background:var(--reward-color); }
.wheel-reward-card.is-disabled { opacity:.5; }
.wheel-reward-card-head { display:flex; align-items:center; gap:9px; margin-bottom:14px; }
.wheel-reward-card-head i { width:12px; height:12px; flex:none; border-radius:50%; background:var(--reward-color); box-shadow:0 0 18px color-mix(in srgb,var(--reward-color) 50%,transparent); }
.wheel-reward-card-head strong { flex:1; min-width:0; }
.wheel-reward-row { display:grid; grid-template-columns:minmax(0,1fr) 72px; gap:10px; }
.wheel-reward-card input[type="color"],.wheel-add-reward input[type="color"] { width:100%; min-height:42px; padding:4px; border-radius:10px; }
.wheel-reward-actions { display:flex; justify-content:flex-end; }
.wheel-add-reward { margin-top:18px; border:1px solid rgba(123,92,255,.15); border-radius:18px; background:rgba(123,92,255,.035); }
.wheel-add-reward summary { padding:15px 18px; cursor:pointer; color:#dcd6ff; font-weight:800; }
.wheel-add-reward-form { display:grid; grid-template-columns:1.1fr .8fr 1.5fr 100px auto; gap:10px; align-items:end; padding:0 18px 18px; }
.wheel-giveaway-counts { display:flex; gap:8px; }
.wheel-giveaway-counts span { padding:9px 11px; border:1px solid rgba(255,255,255,.07); border-radius:12px; color:var(--muted); font-size:.72rem; }
.wheel-giveaway-counts strong { color:#fff; }
.wheel-giveaway-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(310px,.62fr); gap:20px; align-items:start; }
.wheel-gift-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.wheel-gift-card { overflow:hidden; border:1px solid rgba(255,255,255,.07); border-radius:18px; background:#0c1019; }
.wheel-gift-card.used { opacity:.56; filter:saturate(.55); }
.wheel-gift-cover { position:relative; aspect-ratio:16/9; background:#080b12; }
.wheel-gift-cover img { width:100%; height:100%; object-fit:cover; }
.wheel-gift-cover > span { display:grid; place-items:center; width:100%; height:100%; font-size:2.5rem; }
.wheel-gift-cover b { position:absolute; top:8px; left:8px; padding:6px 8px; border-radius:999px; background:rgba(7,10,16,.78); color:#fff; font-size:.62rem; }
.wheel-gift-copy { padding:12px 12px 6px; }
.wheel-gift-copy h3 { margin:0; font-size:.9rem; }
.wheel-gift-copy small { display:block; margin-top:5px; color:var(--muted); font-size:.68rem; }
.wheel-gift-actions { display:flex; flex-wrap:wrap; gap:7px; padding:10px 12px 12px; }
.wheel-gift-actions form { margin:0; }
.wheel-gift-editor { position:sticky; top:20px; padding:18px; border:1px solid rgba(255,255,255,.07); border-radius:20px; background:linear-gradient(180deg,rgba(16,20,31,.96),rgba(10,13,21,.98)); }
.wheel-gift-editor h3 { margin:6px 0; }
.wheel-gift-editor > p { color:var(--muted); line-height:1.55; }
.wheel-settings-form { display:grid; grid-template-columns:1fr 1.4fr auto auto; gap:12px; align-items:end; }

/* Écran public mini-jeu : aucune information d'administration. */
.minigame-public-body {
  min-height:100vh;
  margin:0;
  overflow:hidden;
  background:#05070d;
  color:#fff;
  font-family:Manrope,system-ui,sans-serif;
}
.minigame-public-body::before,
.minigame-public-body::after {
  content:"";
  position:fixed;
  width:42vw;
  height:42vw;
  border-radius:50%;
  filter:blur(90px);
  opacity:.16;
  pointer-events:none;
}
.minigame-public-body::before { left:-16vw; top:-18vw; background:#7B5CFF; }
.minigame-public-body::after { right:-18vw; bottom:-20vw; background:#20D9FF; }
.minigame-public-shell { position:relative; z-index:1; min-height:100vh; display:grid; grid-template-rows:auto 1fr auto; padding:24px 34px 18px; box-sizing:border-box; }
.minigame-public-header { display:grid; grid-template-columns:220px minmax(0,1fr) auto; gap:24px; align-items:center; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.08); }
.minigame-public-brand { display:flex; align-items:center; gap:10px; font-weight:850; }
.minigame-public-brand img { width:42px; height:42px; object-fit:contain; }
.minigame-public-title { text-align:center; }
.minigame-public-title > span { display:block; color:#9dc9ff; font-size:.72rem; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.minigame-public-title h1 { margin:4px 0 2px; font-size:clamp(1.8rem,3vw,3rem); letter-spacing:-.045em; }
.minigame-public-title p { margin:0; color:#929cad; font-size:.88rem; }
.minigame-fullscreen-button { justify-self:end; padding:10px 13px; border:1px solid rgba(255,255,255,.1); border-radius:12px; background:rgba(255,255,255,.04); color:#eaf0f8; font:inherit; font-size:.76rem; font-weight:800; cursor:pointer; }
.minigame-public-stage { min-height:0; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(360px,.62fr); gap:38px; align-items:center; max-width:1580px; width:100%; margin:0 auto; }
.minigame-wheel-wrap { position:relative; width:min(72vh,760px,100%); aspect-ratio:1; margin:auto; filter:drop-shadow(0 28px 55px rgba(0,0,0,.42)); }
.minigame-wheel-wrap canvas { width:100%; height:100%; display:block; }
.minigame-wheel-pointer { position:absolute; z-index:3; top:-4px; left:50%; width:0; height:0; transform:translateX(-50%); border-left:24px solid transparent; border-right:24px solid transparent; border-top:44px solid #fff; filter:drop-shadow(0 8px 12px rgba(0,0,0,.35)); }
.minigame-result-panel { min-height:360px; display:grid; align-content:center; padding:36px; border:1px solid rgba(255,255,255,.09); border-radius:30px; background:linear-gradient(145deg,rgba(17,22,34,.88),rgba(8,11,18,.94)); box-shadow:0 30px 80px rgba(0,0,0,.3); }
.minigame-result-idle span,.minigame-result-kicker { display:block; color:#9dc9ff; font-size:.72rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.minigame-result-idle strong { display:block; max-width:400px; margin-top:10px; font-size:clamp(1.7rem,3vw,2.8rem); line-height:1.08; }
.minigame-result-idle p { color:#8e98aa; }
.minigame-result-panel.is-spinning .minigame-result-idle span::after { content:" • tirage en cours"; color:#d8d2ff; }
.minigame-result-content h2 { margin:9px 0 10px; font-size:clamp(2.5rem,5vw,5.4rem); line-height:.92; letter-spacing:-.06em; }
.minigame-result-content > p { color:#aeb7c8; font-size:1.05rem; line-height:1.6; }
.minigame-result-gift { display:grid; grid-template-columns:150px minmax(0,1fr); gap:18px; align-items:center; margin-top:24px; padding:16px; border:1px solid rgba(255,176,32,.18); border-radius:20px; background:rgba(255,176,32,.065); }
.minigame-result-gift-cover { overflow:hidden; aspect-ratio:16/9; border-radius:14px; background:#080b12; }
.minigame-result-gift-cover img { width:100%; height:100%; object-fit:cover; }
.minigame-result-gift small { display:block; color:#ffca60; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.minigame-result-gift strong { display:block; margin-top:5px; font-size:1.3rem; }
.minigame-public-footer { display:flex; justify-content:center; align-items:center; gap:12px; padding-top:12px; color:#697387; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.minigame-public-footer i { width:4px; height:4px; border-radius:50%; background:#7B5CFF; }

@media (max-width:1180px) {
  .wheel-admin-top-grid,.wheel-giveaway-layout { grid-template-columns:1fr; }
  .wheel-public-panel,.wheel-gift-editor { position:static; }
  .wheel-reward-grid,.wheel-gift-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wheel-add-reward-form { grid-template-columns:1fr 1fr; }
  .minigame-public-stage { grid-template-columns:1fr; gap:12px; overflow:auto; padding:20px 0; }
  .minigame-wheel-wrap { width:min(58vh,620px,90vw); }
  .minigame-result-panel { min-height:auto; }
}
@media (max-width:800px) {
  .minigame-hub-grid,.minigame-hub-card { grid-template-columns:1fr; }
  .minigame-hub-art { min-height:170px; }
  .minigame-hub-copy { padding:0 20px 52px; }
  .wheel-admin-preview { grid-template-columns:1fr; justify-items:center; }
  .wheel-admin-live-actions { justify-items:center; }
  .wheel-reward-grid,.wheel-gift-grid,.wheel-settings-form { grid-template-columns:1fr; }
  .wheel-add-reward-form { grid-template-columns:1fr; }
  .wheel-current-gift { grid-template-columns:58px 1fr; }
  .wheel-current-gift form,.wheel-current-gift em { grid-column:1/-1; }
  .minigame-public-shell { padding:16px; overflow:auto; }
  .minigame-public-header { grid-template-columns:1fr auto; }
  .minigame-public-brand { display:none; }
  .minigame-public-title { text-align:left; }
  .minigame-public-stage { display:block; }
  .minigame-wheel-wrap { width:min(82vw,560px); margin:20px auto; }
  .minigame-result-panel { padding:24px; border-radius:22px; }
}

/* V61 — vue live de la roue : contrôle direct + présentation premium */
.minigame-public-shell {
  padding:20px 28px 16px;
}
.minigame-public-header {
  grid-template-columns:200px minmax(0,1fr) 160px;
  gap:18px;
  padding-bottom:14px;
}
.minigame-public-brand img {
  width:38px;
  height:38px;
}
.minigame-public-title h1 {
  margin:2px 0 1px;
  font-size:clamp(1.8rem,2.5vw,2.7rem);
}
.minigame-public-title p {
  font-size:.8rem;
}
.minigame-public-stage {
  grid-template-columns:minmax(0,1fr) minmax(330px,430px);
  gap:30px;
  max-width:1420px;
  padding:12px 0 8px;
}
.minigame-wheel-zone {
  min-width:0;
  display:grid;
  gap:16px;
  justify-items:center;
}
.minigame-wheel-card {
  width:min(62vh,650px,100%);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  padding:18px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:38px;
  background:
    radial-gradient(circle at 50% 40%,rgba(123,92,255,.11),transparent 48%),
    linear-gradient(145deg,rgba(14,18,29,.74),rgba(6,9,15,.78));
  box-shadow:0 30px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.025);
}
.minigame-wheel-wrap {
  width:100%;
  margin:0;
  filter:drop-shadow(0 24px 44px rgba(0,0,0,.38));
}
.minigame-wheel-pointer {
  top:-2px;
  border-left-width:20px;
  border-right-width:20px;
  border-top-width:38px;
}
.minigame-live-controls {
  display:grid;
  justify-items:center;
  gap:7px;
}
.minigame-spin-live-button {
  min-width:300px;
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:linear-gradient(135deg,#7657ff 0%,#684dff 42%,#2a9dff 100%);
  color:#fff;
  box-shadow:0 18px 42px rgba(84,67,255,.28), inset 0 1px 0 rgba(255,255,255,.22);
  font:800 1rem Manrope,system-ui,sans-serif;
  letter-spacing:-.02em;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.minigame-spin-live-button:hover:not(:disabled) {
  transform:translateY(-2px);
  box-shadow:0 22px 52px rgba(84,67,255,.36), inset 0 1px 0 rgba(255,255,255,.25);
}
.minigame-spin-live-button:active:not(:disabled) {
  transform:translateY(0) scale(.985);
}
.minigame-spin-live-button:disabled {
  cursor:wait;
  opacity:.64;
}
.minigame-spin-live-button.is-busy .minigame-spin-live-icon {
  animation:minigame-live-spin-icon .8s linear infinite;
}
@keyframes minigame-live-spin-icon {
  to { transform:rotate(360deg); }
}
.minigame-live-hint {
  color:#69758a;
  font-size:.7rem;
  font-weight:700;
}
.minigame-result-panel {
  min-height:280px;
  padding:28px 30px;
  border-radius:26px;
  background:
    radial-gradient(circle at top right,rgba(32,217,255,.06),transparent 42%),
    linear-gradient(145deg,rgba(16,21,33,.92),rgba(8,11,18,.96));
  box-shadow:0 24px 64px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.025);
}
.minigame-result-panel::before {
  content:"";
  display:block;
  width:42px;
  height:2px;
  margin-bottom:22px;
  border-radius:999px;
  background:linear-gradient(90deg,#7B5CFF,#20D9FF);
}
.minigame-result-idle strong {
  max-width:340px;
  margin-top:8px;
  font-size:clamp(1.5rem,2.2vw,2.35rem);
}
.minigame-result-idle p {
  margin-bottom:0;
  font-size:.9rem;
  line-height:1.55;
}
.minigame-result-content h2 {
  margin:8px 0 8px;
  font-size:clamp(2.2rem,3.8vw,4.1rem);
  line-height:.94;
}
.minigame-result-content > p {
  margin-bottom:0;
  font-size:.96rem;
}
.minigame-result-gift {
  grid-template-columns:120px minmax(0,1fr);
  margin-top:18px;
  padding:13px;
  border-radius:17px;
}
.minigame-result-gift strong {
  font-size:1.08rem;
}
.minigame-public-footer {
  padding-top:7px;
}

@media (max-width:1180px) {
  .minigame-public-stage {
    grid-template-columns:1fr;
    gap:16px;
  }
  .minigame-wheel-card {
    width:min(54vh,580px,88vw);
  }
  .minigame-result-panel {
    width:min(720px,92vw);
    min-height:auto;
    box-sizing:border-box;
  }
}
@media (max-width:800px) {
  .minigame-public-shell { padding:14px; }
  .minigame-public-header { grid-template-columns:1fr auto; }
  .minigame-public-stage { padding-top:8px; }
  .minigame-wheel-card {
    width:min(78vw,500px);
    padding:12px;
    border-radius:28px;
  }
  .minigame-spin-live-button {
    min-width:min(100%,280px);
    min-height:52px;
  }
  .minigame-result-panel {
    width:100%;
    padding:22px;
  }
}

/* V62 — roue live : cadeau cliquable + compteur de relances */
.minigame-reroll-counter {
  min-width: 220px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:10px 16px;
  border:1px solid rgba(32,217,255,.22);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(32,217,255,.08),rgba(123,92,255,.10));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.minigame-reroll-counter[hidden] { display:none !important; }
.minigame-reroll-counter span {
  color:#a8b6cb;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.minigame-reroll-counter strong {
  display:grid;
  place-items:center;
  min-width:34px;
  height:34px;
  padding:0 8px;
  border-radius:11px;
  background:linear-gradient(135deg,#20D9FF,#7B5CFF);
  color:#fff;
  font-size:1rem;
  box-shadow:0 10px 24px rgba(64,104,255,.24);
}
.minigame-result-gift {
  color:inherit;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.minigame-result-gift:not(.is-disabled) {
  cursor:pointer;
}
.minigame-result-gift:not(.is-disabled):hover {
  transform:translateY(-2px);
  border-color:rgba(255,176,32,.38);
  background:rgba(255,176,32,.095);
  box-shadow:0 16px 34px rgba(0,0,0,.20);
}
.minigame-result-gift.is-disabled {
  cursor:default;
}
.minigame-result-gift-copy span {
  display:inline-flex;
  margin-top:7px;
  color:#d9e4f7;
  font-size:.72rem;
  font-weight:800;
  opacity:.82;
}
.wheel-admin-reroll-count {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 12px;
  border:1px solid rgba(32,217,255,.16);
  border-radius:13px;
  background:rgba(32,217,255,.055);
}
.wheel-admin-reroll-count span {
  color:#8fa2bb;
  font-size:.72rem;
  font-weight:800;
}
.wheel-admin-reroll-count strong {
  color:#fff;
  font-size:1rem;
}

/* V63 — Modération, comptes et permissions */
.admin-users-intro {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  margin-bottom:18px;
  background:
    radial-gradient(circle at 88% 20%, rgba(255,78,112,.11), transparent 25%),
    linear-gradient(145deg, rgba(16,20,31,.96), rgba(10,13,21,.98));
}
.admin-users-intro h2,
.admin-users-create h2 { margin:5px 0 8px; }
.admin-users-intro p { max-width:880px; color:var(--muted); line-height:1.65; }
.admin-users-stats { display:grid; grid-template-columns:repeat(3,minmax(110px,1fr)); gap:10px; }
.admin-users-stats > div {
  min-width:118px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.admin-users-stats strong { display:block; font-size:1.65rem; line-height:1; color:#fff; }
.admin-users-stats span { display:block; margin-top:7px; color:var(--muted); font-size:.74rem; }
.admin-users-stats .pending strong { color:#ffb34f; }
.admin-users-create { margin-bottom:18px; }
.admin-users-create details > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  cursor:pointer;
  list-style:none;
  font-weight:850;
}
.admin-users-create details > summary::-webkit-details-marker { display:none; }
.admin-users-create details > summary small { color:var(--muted); font-weight:650; }
.admin-users-create-form { margin-top:22px; padding-top:22px; border-top:1px solid var(--line); }
.admin-users-create-fields,
.admin-user-access-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.admin-users-list { display:grid; gap:18px; }
.admin-user-card {
  position:relative;
  overflow:hidden;
  padding:22px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  background:
    radial-gradient(circle at top right, rgba(110,92,255,.08), transparent 30%),
    linear-gradient(150deg, rgba(15,19,30,.96), rgba(9,12,20,.99));
  box-shadow:0 18px 50px rgba(0,0,0,.2);
}
.admin-user-card::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,#7760ff,#28d8ff);
}
.admin-user-card.is-pending::before { background:linear-gradient(180deg,#ffaf45,#ff7856); }
.admin-user-card.is-disabled { opacity:.72; }
.admin-user-card.is-disabled::before { background:#596174; }
.admin-user-card-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:15px; align-items:center; padding-bottom:20px; border-bottom:1px solid var(--line); }
.admin-user-avatar,
.admin-account-link-avatar {
  display:grid;
  place-items:center;
  flex:none;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(145deg,#6d54ff,#2e9fff);
  color:#fff;
  font-weight:900;
}
.admin-user-avatar { width:52px; height:52px; border-radius:17px; font-size:1.15rem; }
.admin-user-title-line { display:flex; align-items:center; gap:8px; }
.admin-user-title-line h2 { margin:0; font-size:1.1rem; }
.admin-user-identity p { margin:5px 0 9px; color:var(--muted); font-size:.82rem; }
.admin-user-you { padding:4px 7px; border-radius:999px; background:rgba(123,92,255,.16); color:#c9c0ff; font-size:.62rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.admin-user-badges { display:flex; flex-wrap:wrap; gap:6px; }
.admin-user-badges span { padding:5px 8px; border-radius:999px; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.035); color:#cdd4e2; font-size:.65rem; font-weight:800; }
.admin-user-badges .role.super { color:#ffd47d; border-color:rgba(255,190,71,.2); background:rgba(255,190,71,.08); }
.admin-user-badges .status.active { color:#82efc0; background:rgba(46,204,143,.08); }
.admin-user-badges .status.pending { color:#ffc171; background:rgba(255,166,58,.08); }
.admin-user-badges .status.disabled { color:#99a2b4; }
.admin-user-badges .password { color:#ff9da7; background:rgba(255,79,105,.08); }
.admin-user-dates { display:grid; grid-template-columns:auto auto; gap:4px 10px; text-align:right; font-size:.68rem; }
.admin-user-dates small { color:#6f7a90; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.admin-user-dates strong { color:#cdd4e2; font-weight:700; }
.admin-user-access-form { margin-top:20px; }
.admin-permission-picker { display:grid; gap:13px; margin-top:18px; }
.admin-permission-picker fieldset { min-width:0; margin:0; padding:14px; border:1px solid rgba(255,255,255,.065); border-radius:18px; background:rgba(255,255,255,.018); }
.admin-permission-picker legend { padding:0 8px; color:#a7baff; font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.11em; }
.admin-permission-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.admin-permission-chip { position:relative; display:block; cursor:pointer; }
.admin-permission-chip input { position:absolute; opacity:0; pointer-events:none; }
.admin-permission-chip span {
  display:block;
  height:100%;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:13px;
  background:#0c1019;
  transition:.18s ease;
}
.admin-permission-chip strong { display:block; color:#e9edf6; font-size:.76rem; }
.admin-permission-chip small { display:block; margin-top:4px; color:#78849a; font-size:.64rem; line-height:1.38; }
.admin-permission-chip input:checked + span { border-color:rgba(117,92,255,.55); background:linear-gradient(145deg,rgba(117,92,255,.16),rgba(37,177,255,.07)); box-shadow:inset 3px 0 #785fff; }
.admin-permission-chip input:checked + span strong { color:#fff; }
.admin-permission-picker.compact .admin-permission-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.admin-user-card-actions { display:flex; justify-content:flex-end; margin-top:16px; }
.admin-super-access-note { display:flex; align-items:center; gap:14px; margin-top:18px; padding:16px 18px; border:1px solid rgba(255,194,91,.16); border-radius:16px; background:rgba(255,194,91,.055); }
.admin-super-access-note strong { color:#ffd787; }
.admin-super-access-note span { color:#9da7b8; font-size:.76rem; }
.admin-user-security-row { display:flex; align-items:end; justify-content:space-between; gap:14px; margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.admin-user-reset-form { display:flex; align-items:end; gap:10px; flex:1; }
.admin-user-reset-form label { display:grid; gap:7px; width:min(480px,100%); color:#a9b2c2; font-size:.7rem; font-weight:750; }
.button-danger-soft { border:1px solid rgba(255,76,102,.18); background:rgba(255,76,102,.065); color:#ff8797; }
.button-danger-soft:hover { background:rgba(255,76,102,.13); }
.admin-account-link { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:center; margin-bottom:9px; padding:10px; border:1px solid var(--line); border-radius:14px; color:#fff; text-decoration:none; background:rgba(255,255,255,.025); }
.admin-account-link:hover,.admin-account-link.active { border-color:rgba(123,92,255,.3); background:rgba(123,92,255,.08); }
.admin-account-link-avatar { width:31px; height:31px; border-radius:10px; font-size:.72rem; }
.admin-account-link strong,.admin-account-link small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.admin-account-link strong { font-size:.72rem; }
.admin-account-link small { margin-top:2px; color:#7f8aa0; font-size:.61rem; }
.admin-account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.admin-account-grid .admin-panel { margin:0; }
.admin-account-role { display:flex; justify-content:space-between; gap:12px; margin:20px 0; padding:14px 15px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.025); }
.admin-account-role span { color:#c7beff; font-weight:850; }
.admin-account-role small { color:var(--muted); text-align:right; }
.admin-account-form { display:grid; gap:14px; }
.login-help-links { display:grid; gap:9px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); color:#7e899d; font-size:.69rem; text-align:center; }
.login-help-links a,.login-secondary-link { color:#a69aff; text-decoration:none; font-weight:800; }
.login-secondary-link { display:block; margin-top:18px; text-align:center; }
.login-kicker { display:block; margin:20px 0 4px; color:#8d7fff; font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.admin-register-card .form-group { margin-top:13px; }
@media (max-width:1100px) {
  .admin-users-intro { grid-template-columns:1fr; }
  .admin-users-stats { width:100%; }
  .admin-permission-grid,.admin-permission-picker.compact .admin-permission-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .admin-users-create-fields,.admin-user-access-row,.admin-account-grid { grid-template-columns:1fr; }
  .admin-user-card-head { grid-template-columns:auto minmax(0,1fr); }
  .admin-user-dates { grid-column:1/-1; text-align:left; }
  .admin-user-security-row,.admin-user-reset-form { align-items:stretch; flex-direction:column; }
  .admin-permission-grid,.admin-permission-picker.compact .admin-permission-grid { grid-template-columns:1fr; }
  .admin-users-stats { grid-template-columns:1fr; }
}
.admin-user-approval-hint { margin:14px 0 0; color:#aab3c3; font-size:.72rem; text-align:right; }
.admin-user-approval-hint strong { color:#8fe3bb; }

/* V64 — accès staff depuis le site public */
.staff-access-pill {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 13px;
  border:1px solid rgba(123,92,255,.28);
  border-radius:999px;
  color:#f6f4ff;
  background:linear-gradient(135deg,rgba(123,92,255,.13),rgba(32,217,255,.07));
  box-shadow:0 10px 28px rgba(0,0,0,.16);
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.staff-access-pill:hover {
  transform:translateY(-1px);
  border-color:rgba(123,92,255,.48);
  background:linear-gradient(135deg,rgba(123,92,255,.22),rgba(32,217,255,.10));
  box-shadow:0 12px 32px rgba(0,0,0,.24);
}
.staff-access-pill > svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.92;
}
.staff-access-pill.is-connected {
  padding:6px 12px 6px 10px;
  border-color:rgba(61,220,151,.24);
  background:linear-gradient(135deg,rgba(61,220,151,.09),rgba(123,92,255,.10));
}
.staff-status-dot {
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:var(--success);
  box-shadow:0 0 0 4px rgba(61,220,151,.10),0 0 16px rgba(61,220,151,.34);
}
.staff-access-copy {
  min-width:0;
  display:grid;
  gap:0;
  line-height:1.05;
}
.staff-access-copy small {
  color:#8fe8bf;
  font-size:.57rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.staff-access-copy strong {
  max-width:130px;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:.78rem;
  font-weight:850;
}
@media (max-width:900px) {
  .staff-access-copy small { display:none; }
  .staff-access-copy strong { max-width:92px; }
  .staff-access-pill { padding-inline:11px; }
}
@media (max-width:520px) {
  .header-actions { gap:8px; }
  .icon-button { width:38px; height:38px; }
  .staff-access-pill { min-height:38px; padding:7px 10px; }
  .staff-access-pill > span:not(.staff-status-dot):not(.staff-access-copy) { display:none; }
  .staff-access-pill > svg { width:17px; height:17px; }
  .staff-access-copy strong { max-width:76px; font-size:.72rem; }
}

/* V66 — bibliothèque d'épisodes en grille -------------------------------- */
.admin-v24.admin-page-episodes .episode-library-panel {
  padding:18px;
  overflow:hidden;
}
.admin-page-episodes .episode-library-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.admin-page-episodes .episode-library-title { min-width:0; }
.admin-page-episodes .episode-library-title h2 {
  margin:3px 0 5px;
  font-size:1.34rem;
  letter-spacing:-.035em;
}
.admin-page-episodes .episode-library-title p {
  margin:0;
  color:#7f8899;
  font-size:.7rem;
}
.admin-page-episodes .episode-library-tools {
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:9px;
}
.admin-page-episodes .episode-series-filter {
  display:grid;
  gap:5px;
  min-width:min(330px,42vw);
}
.admin-page-episodes .episode-series-filter label {
  color:#737d8f;
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-page-episodes .episode-series-filter select {
  min-height:38px;
  padding:0 34px 0 11px;
  border:1px solid rgba(var(--page-rgb),.16);
  border-radius:10px;
  color:#e9edf5;
  background:#0a0e16;
  font:inherit;
  font-size:.7rem;
}
.admin-page-episodes .episode-select-all {
  display:flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  color:#9ba4b5;
  background:#0a0e16;
  font-size:.64rem;
  font-weight:760;
  cursor:pointer;
}
.admin-page-episodes .episode-select-all:hover {
  color:#fff;
  border-color:rgba(var(--page-rgb),.22);
  background:rgba(var(--page-rgb),.045);
}
.admin-page-episodes .episode-select-all input { accent-color:var(--page-tone); }
.admin-page-episodes .episode-bulk-bar {
  justify-content:space-between;
  margin:12px 0 0;
  padding:7px 8px;
  border-radius:11px;
}
.admin-page-episodes .episode-bulk-actions { display:flex; flex-wrap:wrap; gap:5px; }
.admin-page-episodes .episode-series-groups {
  display:grid;
  gap:20px;
  margin-top:17px;
}
.admin-page-episodes .episode-series-group { min-width:0; }
.admin-page-episodes .episode-series-group + .episode-series-group {
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.065);
}
.admin-page-episodes .episode-series-group-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.admin-page-episodes .episode-series-group-head > div { min-width:0; }
.admin-page-episodes .episode-series-group-head span {
  display:block;
  margin-bottom:2px;
  color:rgba(var(--page-rgb),.72);
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.admin-page-episodes .episode-series-group-head h3 {
  margin:0;
  overflow:hidden;
  color:#e8ecf3;
  font-size:.86rem;
  font-weight:820;
  letter-spacing:-.02em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-page-episodes .episode-series-group-head b {
  flex:none;
  padding:4px 7px;
  border:1px solid rgba(var(--page-rgb),.11);
  border-radius:999px;
  color:#7f8da3;
  background:rgba(var(--page-rgb),.035);
  font-size:.54rem;
}
.admin-page-episodes .episode-admin-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.admin-page-episodes .episode-admin-card {
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:linear-gradient(155deg,rgba(var(--page-rgb),.024),#0a0e15 52%);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.admin-page-episodes .episode-admin-card:hover {
  transform:translateY(-2px);
  border-color:rgba(var(--page-rgb),.24);
  box-shadow:0 12px 30px rgba(0,0,0,.16),0 0 0 1px rgba(var(--page-rgb),.035);
}
.admin-page-episodes .episode-admin-card:has([data-bulk-check]:checked) {
  border-color:rgba(var(--page-rgb),.48);
  box-shadow:0 0 0 2px rgba(var(--page-rgb),.08),0 12px 30px rgba(0,0,0,.16);
}
.admin-page-episodes .episode-admin-cover {
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#090c12;
}
.admin-page-episodes .episode-admin-cover::after {
  content:"";
  position:absolute;
  inset:45% 0 0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(4,6,10,.68));
}
.admin-page-episodes .episode-admin-cover img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .22s ease,filter .22s ease;
}
.admin-page-episodes .episode-admin-card:hover .episode-admin-cover img { transform:scale(1.025); }
.admin-page-episodes .episode-admin-cover-empty {
  display:grid;
  place-items:center;
  align-content:center;
  gap:5px;
  width:100%;
  height:100%;
  color:#5c6678;
  background:radial-gradient(circle at 50% 35%,rgba(var(--page-rgb),.1),transparent 48%),#090c12;
}
.admin-page-episodes .episode-admin-cover-empty span { font-size:1.15rem; }
.admin-page-episodes .episode-admin-cover-empty small { font-size:.55rem; }
.admin-page-episodes .episode-card-check {
  position:absolute;
  z-index:3;
  top:8px;
  left:8px;
  width:24px;
  height:24px;
  cursor:pointer;
}
.admin-page-episodes .episode-card-check input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.admin-page-episodes .episode-card-check span {
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  border:1px solid rgba(255,255,255,.25);
  border-radius:7px;
  background:rgba(6,9,14,.75);
  box-shadow:0 5px 15px rgba(0,0,0,.25);
  backdrop-filter:blur(8px);
}
.admin-page-episodes .episode-card-check span::after {
  content:"✓";
  color:#061016;
  font-size:.67rem;
  font-weight:950;
  opacity:0;
  transform:scale(.7);
  transition:.12s ease;
}
.admin-page-episodes .episode-card-check input:checked + span {
  border-color:var(--page-tone);
  background:var(--page-tone);
}
.admin-page-episodes .episode-card-check input:checked + span::after { opacity:1; transform:scale(1); }
.admin-page-episodes .episode-number-chip {
  position:absolute;
  z-index:2;
  left:8px;
  bottom:8px;
  min-height:22px;
  display:inline-flex;
  align-items:center;
  padding:0 7px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:7px;
  color:#fff;
  background:rgba(5,8,13,.79);
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.04em;
  backdrop-filter:blur(8px);
}
.admin-page-episodes .episode-status {
  position:absolute;
  z-index:2;
  right:8px;
  top:8px;
  min-height:21px;
  padding:0 7px;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 5px 15px rgba(0,0,0,.2);
  backdrop-filter:blur(8px);
}
.admin-page-episodes .episode-admin-body { padding:10px 11px 9px; }
.admin-page-episodes .episode-card-series {
  margin-bottom:4px;
  overflow:hidden;
  color:rgba(var(--page-rgb),.74);
  font-size:.51rem;
  font-weight:850;
  letter-spacing:.035em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.admin-page-episodes .episode-admin-body h4 {
  min-height:2.5em;
  margin:0;
  overflow:hidden;
  color:#eff2f7;
  font-size:.72rem;
  line-height:1.28;
  letter-spacing:-.015em;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.admin-page-episodes .episode-card-meta {
  min-height:18px;
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid rgba(255,255,255,.055);
  color:#6e788a;
  font-size:.54rem;
  line-height:1.35;
}
.admin-page-episodes .episode-admin-actions {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:5px;
  padding:0 10px 10px;
}
.admin-page-episodes .episode-admin-actions .small-button {
  min-height:29px;
  justify-content:center;
  padding:0 8px;
  font-size:.56rem;
}
.admin-page-episodes .episode-admin-actions form { margin:0; }
.admin-page-episodes .episode-edit-button {
  color:#dff9ff !important;
  border-color:rgba(var(--page-rgb),.18) !important;
  background:rgba(var(--page-rgb),.06) !important;
}
.admin-page-episodes .episode-delete-button { width:30px; padding:0 !important; font-size:.78rem !important; }
.admin-page-episodes .episode-library-empty {
  display:grid;
  place-items:center;
  min-height:220px;
  padding:28px;
  text-align:center;
  color:#737d90;
}
.admin-page-episodes .episode-library-empty > span { margin-bottom:9px; color:var(--page-tone); font-size:1.5rem; }
.admin-page-episodes .episode-library-empty strong { color:#e5e9f0; font-size:.84rem; }
.admin-page-episodes .episode-library-empty p { margin:5px 0 12px; font-size:.65rem; }

@media (max-width:1250px) {
  .admin-page-episodes .episode-admin-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .admin-page-episodes .episode-library-head { align-items:stretch; flex-direction:column; }
  .admin-page-episodes .episode-library-tools { justify-content:flex-start; }
  .admin-page-episodes .episode-series-filter { min-width:min(100%,380px); }
  .admin-page-episodes .episode-admin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:580px) {
  .admin-v24.admin-page-episodes .episode-library-panel { padding:12px; }
  .admin-page-episodes .episode-library-tools { display:grid; grid-template-columns:1fr; }
  .admin-page-episodes .episode-series-filter { min-width:0; }
  .admin-page-episodes .episode-admin-grid { grid-template-columns:1fr; }
  .admin-page-episodes .episode-bulk-bar { align-items:stretch; flex-direction:column; }
  .admin-page-episodes .episode-bulk-actions { display:grid; grid-template-columns:1fr 1fr 1fr; }
}

/* V67 — import de playlist + bibliothèque d'épisodes plus compacte -------- */
.admin-page-episodes .playlist-import-card {
  margin:14px 0 0;
  padding:13px;
  border:1px solid rgba(var(--page-rgb),.18);
  border-radius:14px;
  background:
    radial-gradient(circle at 8% 10%,rgba(var(--page-rgb),.11),transparent 34%),
    linear-gradient(145deg,rgba(var(--page-rgb),.045),rgba(7,11,17,.86));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.admin-page-episodes .playlist-import-intro {
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.admin-page-episodes .playlist-import-badge {
  flex:none;
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:0 8px;
  border:1px solid rgba(var(--page-rgb),.25);
  border-radius:999px;
  color:rgb(var(--page-rgb));
  background:rgba(var(--page-rgb),.075);
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.admin-page-episodes .playlist-import-intro h3 {
  margin:0 0 3px;
  color:#f0f3f8;
  font-size:.86rem;
  letter-spacing:-.02em;
}
.admin-page-episodes .playlist-import-intro p {
  max-width:820px;
  margin:0;
  color:#8490a2;
  font-size:.63rem;
  line-height:1.55;
}
.admin-page-episodes .playlist-import-form { margin-top:12px; }
.admin-page-episodes .playlist-import-fields {
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(300px,1.7fr) auto;
  align-items:end;
  gap:8px;
}
.admin-page-episodes .playlist-import-fields .form-group { margin:0; }
.admin-page-episodes .playlist-import-submit {
  min-height:42px;
  padding:0 15px;
  white-space:nowrap;
}
.admin-page-episodes .playlist-import-submit:disabled { opacity:.58; cursor:wait; }
.admin-page-episodes .playlist-import-options {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 14px;
  margin-top:9px;
  color:#687386;
  font-size:.54rem;
}
.admin-page-episodes .playlist-visible-option {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#a7b0be;
  font-weight:700;
  cursor:pointer;
}
.admin-page-episodes .playlist-visible-option input { accent-color:var(--page-tone); }
.admin-page-episodes .episode-editor-separator {
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px 0 11px;
  color:#667184;
  font-size:.52rem;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.admin-page-episodes .episode-editor-separator::before,
.admin-page-episodes .episode-editor-separator::after {
  content:"";
  flex:1;
  height:1px;
  background:rgba(255,255,255,.06);
}

/* Plus dense sur grand écran : environ 6 à 7 cartes par ligne. */
.admin-page-episodes .episode-admin-grid {
  grid-template-columns:repeat(auto-fill,minmax(205px,1fr));
  gap:8px;
}
.admin-page-episodes .episode-admin-card { border-radius:11px; }
.admin-page-episodes .episode-admin-body { padding:8px 9px 7px; }
.admin-page-episodes .episode-card-series {
  margin-bottom:3px;
  font-size:.46rem;
}
.admin-page-episodes .episode-admin-body h4 {
  min-height:2.35em;
  font-size:.63rem;
  line-height:1.22;
}
.admin-page-episodes .episode-card-meta {
  min-height:15px;
  margin-top:5px;
  padding-top:5px;
  font-size:.48rem;
}
.admin-page-episodes .episode-card-check {
  top:6px;
  left:6px;
  width:21px;
  height:21px;
}
.admin-page-episodes .episode-number-chip {
  left:6px;
  bottom:6px;
  min-height:19px;
  padding:0 6px;
  border-radius:6px;
  font-size:.49rem;
}
.admin-page-episodes .episode-status {
  top:6px;
  right:6px;
  min-height:19px;
  padding:0 6px;
  font-size:.47rem;
}
.admin-page-episodes .episode-admin-actions {
  gap:4px;
  padding:0 8px 8px;
}
.admin-page-episodes .episode-admin-actions .small-button {
  min-height:26px;
  padding:0 6px;
  font-size:.49rem;
  border-radius:7px;
}
.admin-page-episodes .episode-delete-button {
  width:27px;
  font-size:.68rem !important;
}

@media (max-width:1180px) {
  .admin-page-episodes .playlist-import-fields { grid-template-columns:1fr 1.45fr; }
  .admin-page-episodes .playlist-import-submit { grid-column:1 / -1; width:max-content; }
  .admin-page-episodes .episode-admin-grid { grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); }
}
@media (max-width:760px) {
  .admin-page-episodes .playlist-import-intro { flex-direction:column; }
  .admin-page-episodes .playlist-import-fields { grid-template-columns:1fr; }
  .admin-page-episodes .playlist-import-submit { width:100%; }
  .admin-page-episodes .episode-admin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .admin-page-episodes .episode-admin-grid { grid-template-columns:1fr; }
}
.admin-page-episodes .alert-warning,
.alert-warning {
  background:rgba(255,186,82,.08);
  border-color:rgba(255,186,82,.24);
  color:#ffd38d;
}

/* V68 — bandeau Twitch automatique + écran de configuration ---------------- */
.twitch-live-banner {
  position:fixed;
  z-index:49;
  top:82px;
  left:50%;
  width:min(1120px,calc(100% - 36px));
  min-height:56px;
  padding:9px 12px 9px 11px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid rgba(185,151,255,.48);
  border-radius:16px;
  color:#fff;
  background:
    radial-gradient(circle at 15% 0%,rgba(255,255,255,.16),transparent 36%),
    linear-gradient(110deg,rgba(90,40,190,.96),rgba(145,70,255,.94) 50%,rgba(90,38,179,.96));
  box-shadow:0 18px 48px rgba(49,18,108,.42),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(18px) saturate(150%);
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.twitch-live-banner:hover {
  transform:translateX(-50%) translateY(-2px);
  border-color:rgba(220,201,255,.72);
  box-shadow:0 22px 58px rgba(63,25,133,.5),inset 0 1px 0 rgba(255,255,255,.2);
}
.twitch-live-banner-badge {
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:10px;
  background:rgba(22,7,48,.34);
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.08em;
}
.twitch-live-banner-badge i,
.twitch-preview-live i,
.twitch-live-orb i {
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ff4d73;
  box-shadow:0 0 0 5px rgba(255,77,115,.15);
  animation:pulse 1.35s infinite;
}
.twitch-live-banner-copy {
  min-width:0;
  display:grid;
  gap:1px;
}
.twitch-live-banner-copy strong { font-size:.84rem; letter-spacing:-.02em; }
.twitch-live-banner-copy small {
  overflow:hidden;
  color:rgba(255,255,255,.78);
  font-size:.66rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.twitch-live-banner-meta {
  margin-left:auto;
  flex:none;
  display:flex;
  align-items:center;
  gap:13px;
}
.twitch-live-banner-meta small { color:rgba(255,255,255,.72); font-size:.62rem; }
.twitch-live-banner-meta strong {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:35px;
  padding:0 11px;
  border-radius:10px;
  color:#24103f;
  background:#fff;
  font-size:.68rem;
  font-weight:900;
}
.twitch-live-banner-meta strong b { font-size:.82rem; }

.twitch-admin-grid {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(280px,.65fr);
  gap:16px;
  align-items:start;
}
.admin-v24 .twitch-setup-panel,
.admin-v24 .twitch-status-card,
.admin-v24 .twitch-preview-card { padding:18px; }
.twitch-editor-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:4px;
}
.twitch-editor-heading h2 { margin-bottom:5px; }
.twitch-editor-heading p { max-width:760px; }
.twitch-connection-pill {
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  color:#8d97a8;
  background:rgba(255,255,255,.035);
  font-size:.58rem;
  font-weight:850;
}
.twitch-connection-pill i { width:7px;height:7px;border-radius:50%;background:#687386; }
.twitch-connection-pill.is-ready { color:#8ff0c2;border-color:rgba(61,220,151,.2);background:rgba(61,220,151,.06); }
.twitch-connection-pill.is-ready i { background:#3ddc97;box-shadow:0 0 0 4px rgba(61,220,151,.1); }
.twitch-connection-pill.is-warning { color:#ffd48a;border-color:rgba(255,183,77,.2);background:rgba(255,183,77,.06); }
.twitch-connection-pill.is-warning i { background:#ffb74d; }
.twitch-setup-form { display:grid; gap:10px; margin-top:14px; }
.twitch-setup-step {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:11px;
  padding:14px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(145,70,255,.035),rgba(9,12,18,.42));
}
.twitch-setup-step.is-final { border-color:rgba(145,70,255,.18); }
.twitch-step-number {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:9px;
  color:#d9c9ff;
  background:rgba(145,70,255,.14);
  border:1px solid rgba(145,70,255,.26);
  font-size:.68rem;
  font-weight:900;
}
.twitch-step-main { min-width:0; }
.twitch-step-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.twitch-step-heading > div { display:grid; gap:2px; }
.twitch-step-heading strong { color:#eef1f7; font-size:.8rem; }
.twitch-step-heading small { color:#788498; font-size:.59rem; line-height:1.45; }
.twitch-step-done {
  flex:none;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:1px solid rgba(61,220,151,.2);
  border-radius:50%;
  color:#6ce7aa;
  background:rgba(61,220,151,.08);
  font-size:.65rem;
  font-weight:900;
}
.twitch-channel-field { margin:0; max-width:650px; }
.twitch-developer-actions {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin-bottom:11px;
}
.twitch-developer-actions .button { min-height:39px; padding:0 13px; font-size:.63rem; border-radius:10px; }
.twitch-mini-guide {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.twitch-mini-guide span {
  min-height:34px;
  padding:8px 9px;
  border-radius:9px;
  color:#8894a6;
  background:rgba(255,255,255,.028);
  font-size:.55rem;
  line-height:1.45;
}
.twitch-mini-guide b { color:#bda4ff; }
.twitch-mini-guide strong { color:#dfe4ed; font-size:inherit; }
.twitch-copy-field { margin:0 0 11px; }
.twitch-copy-field > label { display:block; margin-bottom:5px; color:#aeb7c6; font-size:.59rem; font-weight:800; }
.twitch-copy-field > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; }
.twitch-copy-field input { min-width:0; }
.twitch-copy-field > small { display:block; margin-top:5px; color:#687386; font-size:.53rem; }
.twitch-api-fields { margin-top:0; }
.twitch-auto-switch { margin:0; }
.twitch-save-actions { margin-top:3px; }
.twitch-save-actions .button { min-height:42px; }
.twitch-status-column { display:grid; gap:16px; position:sticky; top:18px; }
.twitch-status-card { overflow:hidden; position:relative; }
.twitch-status-card.is-live {
  border-color:rgba(145,70,255,.34);
  background:
    radial-gradient(circle at 100% 0%,rgba(145,70,255,.2),transparent 43%),
    rgba(14,16,24,.92);
}
.twitch-status-eyebrow {
  display:block;
  margin-bottom:16px;
  color:#8c98aa;
  font-size:.54rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.twitch-status-icon {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:13px;
  border:1px solid rgba(145,70,255,.22);
  border-radius:13px;
  color:#c6adff;
  background:rgba(145,70,255,.08);
  font-size:1rem;
  font-weight:900;
}
.twitch-status-icon.is-offline { color:#75e7ad;border-color:rgba(61,220,151,.2);background:rgba(61,220,151,.06); }
.twitch-status-icon.is-error { color:#ff8da5;border-color:rgba(255,61,102,.22);background:rgba(255,61,102,.07); }
.twitch-status-card h3 { margin:0 0 6px; color:#eef2f8; font-size:1rem; letter-spacing:-.03em; }
.twitch-status-card p { margin:0; color:#7e899a; font-size:.62rem; line-height:1.55; }
.twitch-current-title { color:#bec6d3 !important; }
.twitch-live-orb {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:13px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  color:#fff;
  background:#9146ff;
  font-size:.61rem;
  font-weight:950;
  letter-spacing:.08em;
}
.twitch-live-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.twitch-live-meta span { padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.04);color:#929daf;font-size:.54rem; }
.twitch-preview-card p { margin:10px 0 0; color:#707b8c; font-size:.57rem; line-height:1.55; }
.twitch-banner-preview {
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px;
  border:1px solid rgba(184,148,255,.25);
  border-radius:12px;
  background:linear-gradient(110deg,rgba(92,39,190,.8),rgba(145,70,255,.72));
}
.twitch-preview-live { flex:none; display:inline-flex;align-items:center;gap:6px;padding:6px 7px;border-radius:8px;background:rgba(24,8,48,.35);font-size:.5rem;font-weight:900; }
.twitch-banner-preview > div { min-width:0;display:grid;gap:1px; }
.twitch-banner-preview > div strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.57rem; }
.twitch-banner-preview > div small { overflow:hidden;color:rgba(255,255,255,.66);font-size:.48rem;text-overflow:ellipsis;white-space:nowrap; }
.twitch-banner-preview > b { margin-left:auto;flex:none;padding:6px 7px;border-radius:7px;color:#28123f;background:#fff;font-size:.5rem; }
.admin-page-episodes .episode-date-sync-form { margin:0; }
.admin-page-episodes .episode-date-sync-button { min-height:33px; color:#ccefff; border-color:rgba(32,217,255,.18); background:rgba(32,217,255,.055); }

@media (max-width:1100px) {
  .twitch-admin-grid { grid-template-columns:1fr; }
  .twitch-status-column { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .twitch-live-banner { top:68px; width:calc(100% - 20px); min-height:50px; padding:8px 9px; gap:8px; border-radius:13px; }
  .twitch-live-banner-copy small,.twitch-live-banner-meta small { display:none; }
  .twitch-live-banner-copy strong { font-size:.7rem; }
  .twitch-live-banner-meta { gap:0; }
  .twitch-live-banner-meta strong { min-height:32px; padding:0 9px; font-size:0; }
  .twitch-live-banner-meta strong::before { content:'Twitch'; font-size:.62rem; }
  .twitch-live-banner-meta strong b { font-size:.72rem; }
  .twitch-live-banner-badge { min-height:31px; padding:0 8px; font-size:.6rem; }
  .twitch-developer-actions { grid-template-columns:1fr; }
  .twitch-mini-guide { grid-template-columns:1fr; }
  .twitch-status-column { grid-template-columns:1fr; }
}
@media (max-width:540px) {
  .twitch-live-banner { top:62px; }
  .twitch-live-banner-copy strong { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .twitch-setup-step { grid-template-columns:1fr; }
  .twitch-step-number { width:28px;height:28px; }
}

/* V70 — footer public premium */
.site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: block;
  margin-top: clamp(46px, 7vw, 104px);
  padding: 0;
  border-top: 1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(7,9,14,.98), #040509 72%),
    #040509;
  color: #d7dbe6;
}
.site-footer::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 680px;
  height: 380px;
  left: -210px;
  top: -245px;
  border-radius: 50%;
  background: rgba(123,92,255,.12);
  filter: blur(72px);
  pointer-events: none;
}
.site-footer::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 520px;
  height: 320px;
  right: -180px;
  bottom: -220px;
  border-radius: 50%;
  background: rgba(32,217,255,.07);
  filter: blur(72px);
  pointer-events: none;
}
.site-footer-glow {
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent 4%, rgba(123,92,255,.55) 34%, rgba(32,217,255,.5) 66%, transparent 96%);
  opacity: .72;
  pointer-events: none;
}
.footer-shell {
  width: min(1460px, calc(100% - clamp(36px, 8vw, 128px)));
  margin: 0 auto;
  padding: clamp(48px, 6vw, 78px) 0 26px;
}
.footer-main {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(480px, .82fr);
  gap: clamp(42px, 6vw, 92px);
  align-items: start;
}
.footer-brand-panel {
  min-width: 0;
}
.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  color: #fff;
}
.footer-logo-wrap {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
  box-shadow: 0 18px 50px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.08);
}
.footer-logo-wrap .brand-logo {
  width: 44px;
  height: 44px;
}
.footer-brand-copy {
  display: grid;
  gap: 2px;
}
.footer-brand-copy strong {
  font-size: clamp(1.22rem, 2vw, 1.52rem);
  letter-spacing: -.045em;
}
.footer-brand-copy small {
  color: #8f95a6;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.site-footer .footer-brand-panel > p {
  max-width: 590px;
  margin: 22px 0 0;
  color: #9ca2b2;
  font-size: clamp(.92rem, 1.3vw, 1.02rem);
  line-height: 1.75;
}
.footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.footer-social-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 13px 0 10px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 13px;
  background: rgba(255,255,255,.035);
  color: #e7e9f0;
  font-size: .78rem;
  font-weight: 800;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
}
.footer-social-link:hover {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.2);
  background: rgba(255,255,255,.075);
  color: #fff;
}
.footer-social-icon {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: rgba(255,255,255,.07);
}
.footer-social-icon svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
}
.footer-social-arrow {
  margin-left: 2px;
  color: #7f8697;
  font-size: .74rem;
}
.footer-social-link:hover .footer-social-arrow { color: #fff; }
.footer-social-youtube:hover { border-color: rgba(255,65,85,.36); background: rgba(255,65,85,.08); }
.footer-social-twitch:hover { border-color: rgba(145,70,255,.42); background: rgba(145,70,255,.09); }
.footer-social-tiktok:hover { border-color: rgba(32,217,255,.3); background: rgba(32,217,255,.06); }
.footer-social-discord:hover { border-color: rgba(88,101,242,.42); background: rgba(88,101,242,.09); }
.footer-navigation {
  display: grid;
  grid-template-columns: minmax(150px, .72fr) minmax(230px, 1.28fr);
  gap: clamp(28px, 4vw, 54px);
}
.footer-column-title {
  display: block;
  margin-bottom: 15px;
  color: #7e8596;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.footer-menu {
  display: grid;
  gap: 2px;
}
.footer-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 42px;
  padding: 0 3px;
  border-bottom: 1px solid rgba(255,255,255,.055);
  color: #c9ced9;
  font-size: .88rem;
  font-weight: 700;
  transition: color .2s ease, padding-left .2s ease, border-color .2s ease;
}
.footer-menu a:last-child { border-bottom: 0; }
.footer-menu a b {
  color: #575e70;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
}
.footer-menu a:hover {
  padding-left: 7px;
  border-color: rgba(123,92,255,.24);
  color: #fff;
}
.footer-menu a:hover b { color: #a99dff; }
.footer-staff-card {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 70px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.095);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.022));
  color: #fff;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.footer-staff-card:hover {
  transform: translateY(-2px);
  border-color: rgba(123,92,255,.36);
  background: linear-gradient(145deg, rgba(123,92,255,.1), rgba(255,255,255,.025));
}
.footer-staff-card.is-connected:hover { border-color: rgba(61,220,151,.35); }
.footer-staff-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 13px;
  background: rgba(123,92,255,.1);
  color: #bfb6ff;
}
.footer-staff-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.footer-staff-card.is-connected .footer-staff-icon {
  background: rgba(61,220,151,.08);
  color: #7ee8b5;
}
.footer-staff-dot {
  position: absolute;
  top: -3px;
  right: -3px;
  width: 10px;
  height: 10px;
  border: 2px solid #080a0f;
  border-radius: 50%;
  background: var(--success);
  box-shadow: 0 0 0 3px rgba(61,220,151,.08);
}
.footer-staff-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.footer-staff-copy small {
  overflow: hidden;
  color: #868d9d;
  font-size: .65rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.footer-staff-copy strong {
  overflow: hidden;
  font-size: .88rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.footer-staff-arrow {
  color: #687082;
  transition: transform .2s ease, color .2s ease;
}
.footer-staff-card:hover .footer-staff-arrow {
  transform: translateX(3px);
  color: #fff;
}
.site-footer .footer-staff-note {
  margin: 10px 3px 0;
  color: #686f80;
  font-size: .69rem;
  line-height: 1.55;
}
.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: clamp(42px, 5vw, 64px);
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.07);
  color: #676e7f;
  font-size: .7rem;
}
.footer-bottom-signature {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.footer-bottom-signature i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow: 0 0 12px rgba(123,92,255,.65);
}
@media (max-width: 1050px) {
  .footer-main { grid-template-columns: 1fr; gap: 42px; }
  .footer-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .site-footer { margin-top: 56px; }
  .footer-shell { width: min(100% - 32px, 1460px); padding-top: 42px; }
  .footer-navigation { grid-template-columns: 1fr; gap: 30px; }
  .footer-socials { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer-social-link { justify-content: flex-start; }
  .footer-social-arrow { margin-left: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
}
@media (max-width: 420px) {
  .footer-socials { grid-template-columns: 1fr; }
  .footer-brand { align-items: flex-start; }
  .footer-logo-wrap { width: 52px; height: 52px; flex-basis: 52px; border-radius: 16px; }
  .footer-logo-wrap .brand-logo { width: 40px; height: 40px; }
}

/* V71 — bibliothèque Sagas & Séries en affiches verticales ----------------- */
.admin-v24.admin-page-series .catalogue-library-panel {
  padding:18px;
  overflow:hidden;
}
.admin-page-series .catalogue-library-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding-bottom:17px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.admin-page-series .catalogue-library-title h2 {
  margin:3px 0 5px;
  font-size:1.34rem;
  letter-spacing:-.035em;
}
.admin-page-series .catalogue-library-title p {
  margin:0;
  color:#7f8899;
  font-size:.68rem;
}
.admin-page-series .catalogue-library-tools {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:9px;
}
.admin-page-series .catalogue-select-all {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  color:#9ba4b5;
  background:#0a0e16;
  font-size:.61rem;
  font-weight:760;
  cursor:pointer;
}
.admin-page-series .catalogue-select-all input { accent-color:var(--page-tone); }
.admin-page-series .catalogue-bulk-bar {
  min-height:36px;
  margin:0;
  padding:5px 6px 5px 9px;
  border-radius:10px;
}
.admin-page-series .catalogue-type-section { padding-top:19px; }
.admin-page-series .catalogue-type-section + .catalogue-type-section {
  margin-top:22px;
  padding-top:21px;
  border-top:1px solid rgba(255,255,255,.075);
}
.admin-page-series .catalogue-type-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.admin-page-series .catalogue-type-heading > div:first-child { min-width:0; }
.admin-page-series .catalogue-type-kicker {
  display:block;
  margin-bottom:3px;
  font-size:.51rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.admin-page-series .catalogue-saga-section .catalogue-type-kicker { color:#a895ff; }
.admin-page-series .catalogue-series-section .catalogue-type-kicker { color:#59d7f2; }
.admin-page-series .catalogue-type-heading h3 {
  margin:0;
  color:#edf0f6;
  font-size:1rem;
  letter-spacing:-.025em;
}
.admin-page-series .catalogue-type-heading p {
  max-width:720px;
  margin:4px 0 0;
  color:#737e90;
  font-size:.61rem;
  line-height:1.45;
}
.admin-page-series .catalogue-type-count {
  flex:none;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  color:#8994a7;
  background:#0a0e16;
  font-size:.55rem;
  font-weight:800;
}
.admin-page-series .catalogue-saga-section .catalogue-type-count {
  border-color:rgba(168,149,255,.16);
  color:#bcb0ff;
  background:rgba(151,126,255,.05);
}
.admin-page-series .catalogue-series-section .catalogue-type-count {
  border-color:rgba(89,215,242,.15);
  color:#8ce9fa;
  background:rgba(58,195,225,.045);
}
.admin-page-series .catalogue-admin-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:10px;
}
.admin-page-series .catalogue-admin-card {
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:linear-gradient(155deg,rgba(255,255,255,.018),#090d14 56%);
  box-shadow:0 9px 26px rgba(0,0,0,.09);
  transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease;
}
.admin-page-series .catalogue-admin-card.is-saga {
  background:linear-gradient(155deg,rgba(154,134,255,.048),#090d14 54%);
}
.admin-page-series .catalogue-admin-card.is-series {
  background:linear-gradient(155deg,rgba(62,197,226,.035),#090d14 54%);
}
.admin-page-series .catalogue-admin-card:hover {
  transform:translateY(-3px);
  box-shadow:0 15px 34px rgba(0,0,0,.17);
}
.admin-page-series .catalogue-admin-card.is-saga:hover { border-color:rgba(168,149,255,.3); }
.admin-page-series .catalogue-admin-card.is-series:hover { border-color:rgba(89,215,242,.26); }
.admin-page-series .catalogue-admin-card:has([data-bulk-check]:checked) {
  border-color:rgba(var(--page-rgb),.54);
  box-shadow:0 0 0 2px rgba(var(--page-rgb),.09),0 15px 34px rgba(0,0,0,.17);
}
.admin-page-series .catalogue-card-poster {
  position:relative;
  aspect-ratio:2/3;
  overflow:hidden;
  background:#080b11;
}
.admin-page-series .catalogue-card-poster > img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .24s ease,filter .24s ease;
}
.admin-page-series .catalogue-admin-card:hover .catalogue-card-poster > img { transform:scale(1.025); }
.admin-page-series .catalogue-card-empty {
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  width:100%;
  height:100%;
  color:#687286;
  background:radial-gradient(circle at 50% 33%,rgba(var(--page-rgb),.13),transparent 43%),#080b11;
}
.admin-page-series .catalogue-card-empty span { color:rgba(var(--page-rgb),.76); font-size:1.55rem; }
.admin-page-series .catalogue-card-empty small { font-size:.54rem; }
.admin-page-series .catalogue-poster-gradient {
  position:absolute;
  z-index:1;
  inset:42% 0 0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(5,8,13,.2) 35%,rgba(5,8,13,.88));
}
.admin-page-series .catalogue-card-check {
  position:absolute;
  z-index:4;
  top:8px;
  left:8px;
  width:24px;
  height:24px;
  cursor:pointer;
}
.admin-page-series .catalogue-card-check input { position:absolute; opacity:0; pointer-events:none; }
.admin-page-series .catalogue-card-check span {
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  border:1px solid rgba(255,255,255,.28);
  border-radius:7px;
  background:rgba(5,8,13,.76);
  box-shadow:0 5px 16px rgba(0,0,0,.3);
  backdrop-filter:blur(8px);
}
.admin-page-series .catalogue-card-check span::after {
  content:"✓";
  color:#071016;
  font-size:.66rem;
  font-weight:950;
  opacity:0;
  transform:scale(.7);
  transition:.12s ease;
}
.admin-page-series .catalogue-card-check input:checked + span { border-color:var(--page-tone); background:var(--page-tone); }
.admin-page-series .catalogue-card-check input:checked + span::after { opacity:1; transform:scale(1); }
.admin-page-series .catalogue-type-chip {
  position:absolute;
  z-index:3;
  left:8px;
  bottom:8px;
  min-height:21px;
  display:inline-flex;
  align-items:center;
  padding:0 7px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:7px;
  color:#fff;
  background:rgba(5,8,13,.77);
  font-size:.51rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.admin-page-series .is-saga .catalogue-type-chip { color:#d7d0ff; border-color:rgba(168,149,255,.34); background:rgba(55,42,103,.76); }
.admin-page-series .is-series .catalogue-type-chip { color:#c9f8ff; border-color:rgba(89,215,242,.3); background:rgba(20,74,88,.74); }
.admin-page-series .catalogue-card-status {
  position:absolute;
  z-index:3;
  top:8px;
  right:8px;
  min-height:21px;
  padding:0 7px;
  box-shadow:0 5px 16px rgba(0,0,0,.24);
  backdrop-filter:blur(8px);
  font-size:.49rem;
}
.admin-page-series .catalogue-poster-stat {
  position:absolute;
  z-index:3;
  right:8px;
  bottom:8px;
  display:flex;
  align-items:baseline;
  gap:4px;
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.55);
}
.admin-page-series .catalogue-poster-stat strong { font-size:.83rem; font-weight:900; }
.admin-page-series .catalogue-poster-stat span { color:#c4cad4; font-size:.48rem; font-weight:750; }
.admin-page-series .catalogue-card-body { padding:9px 10px 8px; }
.admin-page-series .catalogue-card-eyebrow {
  min-height:1.25em;
  margin-bottom:4px;
  overflow:hidden;
  color:#7f8b9e;
  font-size:.47rem;
  font-weight:850;
  letter-spacing:.045em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.admin-page-series .is-saga .catalogue-card-eyebrow { color:#9f91e8; }
.admin-page-series .is-series .catalogue-card-eyebrow { color:#5fc3d8; }
.admin-page-series .catalogue-card-body h4 {
  min-height:2.35em;
  margin:0;
  overflow:hidden;
  color:#f0f3f8;
  font-size:.69rem;
  line-height:1.2;
  letter-spacing:-.015em;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.admin-page-series .catalogue-card-genres {
  min-height:1.3em;
  margin:5px 0 0;
  overflow:hidden;
  color:#8c95a6;
  font-size:.49rem;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-page-series .catalogue-card-genres.is-empty { color:#555f70; }
.admin-page-series .catalogue-card-flags {
  min-height:18px;
  display:flex;
  align-items:center;
  gap:4px;
  margin-top:6px;
  padding-top:6px;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.05);
}
.admin-page-series .catalogue-mini-flag {
  max-width:100%;
  overflow:hidden;
  color:#8173ce;
  font-size:.45rem;
  font-weight:750;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-page-series .is-series .catalogue-mini-flag { color:#4eb5ca; }
.admin-page-series .catalogue-mini-flag.is-date { color:#bc8f55; }
.admin-page-series .catalogue-card-actions {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:4px;
  padding:0 8px 7px;
}
.admin-page-series .catalogue-card-actions .small-button {
  min-height:27px;
  justify-content:center;
  padding:0 7px;
  border-radius:7px;
  font-size:.49rem;
}
.admin-page-series .catalogue-main-action {
  color:#eeeaff !important;
  border-color:rgba(168,149,255,.2) !important;
  background:rgba(154,134,255,.055) !important;
}
.admin-page-series .is-series .catalogue-main-action {
  color:#dbfbff !important;
  border-color:rgba(89,215,242,.16) !important;
  background:rgba(58,195,225,.045) !important;
}
.admin-page-series .catalogue-context-action { white-space:nowrap; }
.admin-page-series .catalogue-card-secondary-actions {
  min-height:29px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 9px 8px;
  border-top:1px solid rgba(255,255,255,.05);
  background:rgba(0,0,0,.08);
}
.admin-page-series .catalogue-card-secondary-actions form { margin:0; }
.admin-page-series .catalogue-text-action {
  padding:0;
  border:0;
  color:#747f91;
  background:none;
  font:inherit;
  font-size:.47rem;
  font-weight:760;
  line-height:1.2;
  cursor:pointer;
  text-decoration:none;
}
.admin-page-series .catalogue-text-action:hover { color:#dce2ec; }
.admin-page-series .catalogue-text-action.is-danger:hover { color:#ff6986; }
.admin-page-series .catalogue-section-empty {
  display:grid;
  place-items:center;
  min-height:190px;
  padding:24px;
  border:1px dashed rgba(255,255,255,.08);
  border-radius:13px;
  color:#717c8e;
  text-align:center;
  background:rgba(255,255,255,.012);
}
.admin-page-series .catalogue-section-empty > span { margin-bottom:8px; color:rgba(var(--page-rgb),.8); font-size:1.35rem; }
.admin-page-series .catalogue-section-empty strong { color:#e3e8ef; font-size:.79rem; }
.admin-page-series .catalogue-section-empty p { max-width:460px; margin:5px 0 11px; font-size:.59rem; line-height:1.45; }

@media (min-width:1600px) {
  .admin-page-series .catalogue-admin-grid { grid-template-columns:repeat(auto-fill,minmax(175px,1fr)); }
}
@media (max-width:1180px) {
  .admin-page-series .catalogue-library-head { align-items:stretch; flex-direction:column; }
  .admin-page-series .catalogue-library-tools { justify-content:flex-start; }
  .admin-page-series .catalogue-admin-grid { grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); }
}
@media (max-width:760px) {
  .admin-v24.admin-page-series .catalogue-library-panel { padding:12px; }
  .admin-page-series .catalogue-library-tools { align-items:stretch; flex-direction:column; }
  .admin-page-series .catalogue-select-all { width:max-content; }
  .admin-page-series .catalogue-bulk-bar { width:100%; justify-content:flex-start; }
  .admin-page-series .catalogue-type-heading { align-items:flex-start; }
  .admin-page-series .catalogue-admin-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
}
@media (max-width:600px) {
  .admin-page-series .catalogue-admin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-page-series .catalogue-card-actions { grid-template-columns:1fr 1fr; }
  .admin-page-series .catalogue-context-action { grid-column:1 / -1; }
}
@media (max-width:390px) {
  .admin-page-series .catalogue-admin-grid { grid-template-columns:1fr; }
}


/* V72 — état public des sagas et séries, façon plateforme de streaming */
.series-poster-visual,
.catalogue-poster-visual,
.collection-series-poster { position:relative; }

.content-state-badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:calc(100% - 20px);
  min-height:25px;
  padding:0 9px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#fff;
  font-size:.62rem;
  font-weight:850;
  line-height:1;
  letter-spacing:.015em;
  white-space:nowrap;
  box-shadow:0 7px 20px rgba(0,0,0,.28);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.content-state-dot {
  flex:0 0 auto;
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 3px rgba(255,255,255,.06);
}
.content-state-card {
  position:absolute;
  z-index:3;
  top:9px;
  left:9px;
}
.content-state-ongoing {
  color:#8ff6cf;
  border-color:rgba(48,216,157,.36);
  background:rgba(4,36,29,.82);
}
.content-state-ongoing .content-state-dot {
  box-shadow:0 0 0 3px rgba(48,216,157,.12),0 0 13px rgba(48,216,157,.62);
}
.content-state-completed {
  color:#e7eaff;
  border-color:rgba(172,181,255,.26);
  background:rgba(24,28,49,.84);
}
.content-state-completed .content-state-dot { background:#aab5ff; }
.content-state-upcoming {
  color:#ffe48a;
  border-color:rgba(255,199,61,.58);
  background:linear-gradient(135deg,rgba(92,59,4,.92),rgba(64,39,3,.88));
  box-shadow:0 7px 22px rgba(0,0,0,.3),0 0 0 1px rgba(255,211,92,.08) inset;
}
.content-state-upcoming .content-state-dot {
  background:#ffd34f;
  box-shadow:0 0 0 3px rgba(255,211,79,.16),0 0 16px rgba(255,194,41,.72);
}
.series-state-line {
  display:flex;
  align-items:center;
  margin:0 0 12px;
}
.content-state-badge-hero {
  min-height:32px;
  padding:0 13px;
  font-size:.72rem;
  letter-spacing:.025em;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.content-state-badge-hero .content-state-dot { width:7px; height:7px; }

@media (max-width:720px) {
  .content-state-badge { min-height:23px; padding:0 8px; font-size:.57rem; }
  .content-state-card { top:7px; left:7px; }
  .content-state-badge-hero { min-height:29px; padding:0 11px; font-size:.66rem; }
}

/* =========================================================
   V74 — LEONNECORP AWARDS
   ========================================================= */
.nav-awards-link{display:inline-flex!important;align-items:center;gap:.4rem;color:#ffd478!important}.nav-awards-link span{font-size:.72rem;filter:drop-shadow(0 0 8px rgba(255,196,77,.45))}

.awards-hero{position:relative;overflow:hidden;padding:clamp(7.5rem,11vw,11rem) 0 4.25rem;background:radial-gradient(circle at 18% 18%,rgba(123,92,255,.22),transparent 34%),radial-gradient(circle at 82% 35%,rgba(255,184,59,.12),transparent 32%),linear-gradient(180deg,#090a11 0%,#07080d 100%);border-bottom:1px solid rgba(255,255,255,.07)}
.awards-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent);pointer-events:none}
.awards-hero-glow{position:absolute;width:430px;height:430px;border-radius:999px;background:rgba(125,84,255,.15);filter:blur(100px);right:-100px;top:-150px}
.awards-hero-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);gap:clamp(2rem,5vw,5rem);align-items:end}
.awards-kicker{display:inline-flex;align-items:center;gap:.65rem;font-size:.72rem;letter-spacing:.18em;font-weight:800;color:#b7a8ff}.awards-kicker i{width:8px;height:8px;border-radius:50%;background:#8d6cff;box-shadow:0 0 18px #8d6cff}
.awards-hero-copy h1{margin:.8rem 0 .9rem;font-size:clamp(2.8rem,7vw,6.2rem);line-height:.9;letter-spacing:-.065em;max-width:950px;background:linear-gradient(135deg,#fff 35%,#d3c9ff 70%,#ffda83);-webkit-background-clip:text;background-clip:text;color:transparent}
.awards-hero-copy>p{max-width:760px;margin:0;color:#aeb0bd;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.75}
.awards-status-row{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin-top:1.6rem}.awards-live-status,.awards-voter-count{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.04);color:#c9cbd4;font-size:.78rem;font-weight:750}.awards-live-status i{width:7px;height:7px;border-radius:50%;background:#777}.awards-live-status.is-open{color:#9cf1c3;border-color:rgba(80,218,143,.22);background:rgba(30,180,100,.08)}.awards-live-status.is-open i{background:#4de08b;box-shadow:0 0 12px rgba(77,224,139,.8)}.awards-live-status.is-results{color:#ffda83;border-color:rgba(255,190,70,.2);background:rgba(255,190,70,.06)}
.awards-auth-card{border:1px solid rgba(255,255,255,.09);background:linear-gradient(150deg,rgba(24,21,37,.9),rgba(11,12,18,.93));box-shadow:0 24px 70px rgba(0,0,0,.32);border-radius:22px;padding:1.25rem;backdrop-filter:blur(14px)}
.awards-auth-label{display:block;color:#787b89;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;margin-bottom:.75rem}.awards-auth-user{display:flex;gap:.8rem;align-items:center}.awards-twitch-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#9147ff,#6d34cc);color:white;font-weight:900;box-shadow:0 8px 26px rgba(145,71,255,.25)}.awards-auth-user strong,.awards-auth-user small{display:block}.awards-auth-user strong{font-size:1rem}.awards-auth-user small{color:#868996;margin-top:.12rem;font-size:.74rem}.awards-auth-card p{color:#9093a0;font-size:.82rem;line-height:1.6;margin:.9rem 0}.awards-twitch-button{width:100%;justify-content:center;background:#9147ff!important;border-color:#9147ff!important;color:#fff!important}.awards-auth-link{font-size:.76rem;color:#a8aab3;text-decoration:underline;text-underline-offset:3px}
.awards-page{padding-top:2rem;padding-bottom:5rem}.awards-message{border-radius:14px;padding:.9rem 1rem;margin-bottom:1.1rem;border:1px solid rgba(255,255,255,.08);background:#101119;color:#d7d8df}.awards-message.is-success{border-color:rgba(66,210,126,.22);background:rgba(40,155,94,.09);color:#9cf0be}.awards-message.is-error{border-color:rgba(245,90,100,.24);background:rgba(215,65,78,.08);color:#ffadb4}
.awards-category-nav{position:sticky;top:78px;z-index:18;display:flex;gap:.5rem;overflow-x:auto;padding:.65rem;background:rgba(9,10,15,.88);border:1px solid rgba(255,255,255,.07);border-radius:16px;backdrop-filter:blur(15px);scrollbar-width:none}.awards-category-nav::-webkit-scrollbar{display:none}.awards-category-nav a{display:flex;align-items:center;gap:.48rem;flex:0 0 auto;padding:.62rem .78rem;border-radius:11px;color:#babcc6;font-size:.76rem;font-weight:750;white-space:nowrap}.awards-category-nav a:hover{background:rgba(255,255,255,.06);color:#fff}.awards-category-nav small{font-size:.58rem;color:#686b78;letter-spacing:.1em}
.awards-category{--award-accent:#8c6dff;padding:4rem 0 1rem;scroll-margin-top:145px}.awards-tone-blue{--award-accent:#4f8cff}.awards-tone-cyan{--award-accent:#4dd8f5}.awards-tone-green{--award-accent:#4ddb96}.awards-tone-amber{--award-accent:#ffbd52}.awards-tone-red{--award-accent:#ff6673}.awards-tone-pink{--award-accent:#ff65b8}.awards-tone-teal{--award-accent:#40d6c0}
.awards-category-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:start;margin-bottom:1.45rem}.awards-category-number{font-size:.7rem;font-weight:900;letter-spacing:.1em;color:var(--award-accent);padding:.4rem .5rem;border-radius:8px;background:color-mix(in srgb,var(--award-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--award-accent) 20%,transparent)}.awards-category-heading span{font-size:.62rem;color:var(--award-accent);letter-spacing:.17em;font-weight:850}.awards-category-heading h2{margin:.15rem 0 .32rem;font-size:clamp(1.65rem,3vw,2.45rem);letter-spacing:-.04em}.awards-category-heading p{margin:0;color:#858895;font-size:.84rem;line-height:1.55;max-width:650px}.awards-category-meta{display:grid;grid-template-columns:auto auto;gap:.1rem .45rem;text-align:right}.awards-category-meta strong{font-size:.9rem;color:#eee}.awards-category-meta span{font-size:.62rem;color:#737682;letter-spacing:0;text-transform:uppercase}
.awards-nominee-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.awards-nominee-card{min-width:0;border:1px solid rgba(255,255,255,.075);border-radius:18px;overflow:hidden;background:#0d0e14;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.awards-nominee-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--award-accent) 40%,rgba(255,255,255,.08));box-shadow:0 20px 45px rgba(0,0,0,.22)}.awards-nominee-card.is-selected{border-color:color-mix(in srgb,var(--award-accent) 60%,#fff 10%);box-shadow:0 0 0 1px color-mix(in srgb,var(--award-accent) 25%,transparent),0 18px 40px rgba(0,0,0,.2)}
.awards-nominee-visual{position:relative;aspect-ratio:2/2.85;background:#14151d;overflow:hidden}.awards-nominee-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.awards-nominee-card:hover .awards-nominee-visual img{transform:scale(1.035)}.awards-nominee-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,8,13,.8),transparent 42%);pointer-events:none}.awards-nominee-placeholder{height:100%;display:grid;place-items:center;text-align:center;padding:1rem;color:#777}.awards-nominee-placeholder span{font-size:2rem}.awards-nominee-placeholder b{font-size:.75rem}.awards-your-vote,.awards-creator-badge,.awards-platform{position:absolute;z-index:2;border-radius:999px;font-size:.58rem;font-weight:850;letter-spacing:.04em;backdrop-filter:blur(8px)}.awards-your-vote{top:.6rem;left:.6rem;background:color-mix(in srgb,var(--award-accent) 82%,#101016);color:#fff;padding:.42rem .55rem}.awards-creator-badge{bottom:.55rem;left:.55rem;background:rgba(255,198,82,.9);color:#201500;padding:.4rem .55rem}.awards-platform{top:.6rem;right:.6rem;background:rgba(7,8,13,.72);color:#ddd;padding:.4rem .5rem;border:1px solid rgba(255,255,255,.1)}
.awards-nominee-body{padding:.85rem}.awards-nominee-body h3{font-size:.94rem;margin:0 0 .34rem;letter-spacing:-.02em}.awards-nominee-body p{font-size:.71rem;line-height:1.45;color:#818490;margin:0;min-height:3.1em}.awards-nominee-actions{margin-top:.8rem;display:flex;flex-direction:column;gap:.45rem}.awards-nominee-actions form{margin:0}.awards-vote-button,.awards-vote-selected{width:100%;justify-content:center;font-size:.7rem!important;padding:.62rem .55rem!important}.awards-vote-button{background:color-mix(in srgb,var(--award-accent) 85%,#161722)!important;border-color:transparent!important;color:#fff!important}.awards-vote-selected{background:rgba(255,255,255,.06)!important;color:#fff!important;border-color:color-mix(in srgb,var(--award-accent) 45%,transparent)!important}.awards-game-link{font-size:.65rem;text-align:center;color:#7f828e}.awards-result-meter{display:flex;gap:.55rem;align-items:center;margin-top:.72rem}.awards-result-meter>span{height:5px;background:#20212a;border-radius:99px;overflow:hidden;flex:1}.awards-result-meter i{display:block;height:100%;background:var(--award-accent);border-radius:inherit}.awards-result-meter strong{font-size:.7rem;color:#ddd}.awards-result-votes{display:block;color:#686b77;font-size:.61rem;margin-top:.28rem}.awards-creator-callout{margin-top:1rem;display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border:1px solid rgba(255,190,65,.16);border-radius:16px;background:linear-gradient(90deg,rgba(255,190,65,.08),rgba(255,255,255,.02))}.awards-creator-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#ffc85c;color:#221800;font-weight:950}.awards-creator-callout small,.awards-creator-callout strong{display:block}.awards-creator-callout small{color:#c39b52;font-size:.58rem;letter-spacing:.13em;font-weight:850}.awards-creator-callout strong{margin-top:.1rem}.awards-creator-callout p{margin:.12rem 0 0;color:#7d7f8b;font-size:.72rem}.awards-empty-public{text-align:center;padding:7rem 1rem}.awards-empty-public span{font-size:2rem;color:#9e7bff}.awards-empty-public h2{margin:.8rem 0 .3rem}.awards-empty-public p{color:#81838d}

/* Awards admin */
.awards-admin-empty{min-height:360px;display:grid;place-items:center;text-align:center;align-content:center;gap:1rem}.awards-admin-empty-icon{display:grid;place-items:center;width:74px;height:74px;border-radius:22px;background:linear-gradient(145deg,rgba(255,191,67,.18),rgba(128,92,255,.15));color:#ffd06b;font-size:1.8rem;border:1px solid rgba(255,201,95,.17)}.awards-admin-empty h2{margin:.2rem 0}.awards-admin-empty p{margin:0;color:#898c99}.awards-create-edition-form{display:flex;gap:.55rem}.awards-create-edition-form input{max-width:100px;text-align:center}
.awards-admin-edition-bar{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:1rem;padding:.7rem;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.025)}.awards-admin-edition-select{display:flex;align-items:center;gap:.6rem;flex:1;min-width:260px}.awards-admin-edition-select>span{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:#6f7280;font-weight:800}.awards-admin-edition-select select{min-width:220px}.awards-new-edition-inline{display:flex;gap:.4rem}.awards-new-edition-inline input{width:88px;text-align:center}
.awards-control-heading{align-items:center}.awards-admin-state{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.5rem .7rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);font-size:.68rem;font-weight:800;color:#888b97}.awards-admin-state i{width:7px;height:7px;border-radius:50%;background:#62646d}.awards-admin-state.is-live{background:rgba(45,194,111,.08);border-color:rgba(74,220,138,.18);color:#7ae5a8}.awards-admin-state.is-live i{background:#4ddd8d;box-shadow:0 0 10px rgba(77,221,141,.7)}.awards-control-form>.form-grid{grid-template-columns:minmax(250px,.5fr) minmax(320px,1.5fr)}.awards-switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.9rem}.awards-switch-grid .admin-switch-row{margin:0;border:1px solid rgba(255,255,255,.065);border-radius:14px;background:rgba(255,255,255,.022)}
.awards-twitch-setup{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center}.awards-twitch-setup-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#332446;color:#9570b8;font-size:1.2rem;font-weight:950}.awards-twitch-setup.is-ready .awards-twitch-setup-icon{background:linear-gradient(145deg,#9147ff,#6332b4);color:#fff;box-shadow:0 10px 28px rgba(145,71,255,.18)}.awards-twitch-setup-copy h2{margin:.18rem 0 .3rem;font-size:1.1rem}.awards-twitch-setup-copy p{margin:0 0 .65rem;color:#8c8f9b;font-size:.78rem;max-width:850px;line-height:1.55}.awards-twitch-setup-copy small{display:block;margin-top:.38rem;color:#6f7280;font-size:.65rem}.awards-callback-copy{display:flex;gap:.4rem;max-width:760px}.awards-callback-copy input{font-family:monospace;font-size:.7rem}.awards-twitch-setup-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.awards-category-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.awards-category-admin-card{position:relative;border:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.018);border-radius:15px;padding:.78rem;--cat-color:#8a6cff}.awards-category-admin-card.tone-blue{--cat-color:#5790ff}.awards-category-admin-card.tone-cyan{--cat-color:#4fd7ee}.awards-category-admin-card.tone-green{--cat-color:#4bd994}.awards-category-admin-card.tone-amber{--cat-color:#f8b84f}.awards-category-admin-card.tone-red{--cat-color:#f66670}.awards-category-admin-card.tone-pink{--cat-color:#f467b5}.awards-category-admin-card.tone-teal{--cat-color:#43d1bd}.awards-category-admin-top{display:grid;grid-template-columns:auto minmax(0,1fr) 56px;align-items:center;gap:.5rem}.awards-category-dot{display:block;width:9px;height:9px;border-radius:50%;background:var(--cat-color,#8a6cff);box-shadow:0 0 12px color-mix(in srgb,var(--cat-color,#8a6cff) 50%,transparent)}.awards-category-admin-card input,.awards-category-admin-card textarea,.awards-category-admin-card select{font-size:.76rem;padding:.55rem .62rem}.awards-category-admin-card textarea{margin-top:.45rem;resize:vertical}.awards-sort-mini{text-align:center}.awards-category-admin-bottom{display:flex;justify-content:space-between;gap:.45rem;margin-top:.45rem}.awards-category-admin-bottom select{max-width:120px}.awards-delete-mini{position:absolute;right:.35rem;top:.28rem;transform:translateY(-55%)}.awards-delete-mini button{width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,96,106,.2);background:#181116;color:#c46e76;cursor:pointer}.awards-category-admin-card.is-new{border-style:dashed;display:flex;align-items:center}.awards-category-admin-card.is-new form{width:100%}.awards-category-admin-card.is-new>form>input{width:100%;margin:.35rem 0 0}
.awards-add-game{border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.02);margin-bottom:1rem}.awards-add-game>summary{cursor:pointer;padding:.85rem 1rem;font-size:.78rem;font-weight:800;color:#d8d9df;list-style:none}.awards-add-game>summary::-webkit-details-marker{display:none}.awards-add-game[open]>summary{border-bottom:1px solid rgba(255,255,255,.06)}.awards-game-editor{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:1rem;padding:1rem}.awards-game-editor>.form-actions{grid-column:1/-1}.awards-category-checks{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.7rem}.awards-category-checks>span{width:100%;font-size:.65rem;color:#757886;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.awards-category-checks label{position:relative;cursor:pointer}.awards-category-checks input{position:absolute;opacity:0;pointer-events:none}.awards-category-checks label span{display:block;padding:.42rem .55rem;border:1px solid rgba(255,255,255,.08);border-radius:9px;color:#9194a0;font-size:.66rem;background:rgba(255,255,255,.025)}.awards-category-checks input:checked+span{color:#e6ddff;border-color:rgba(139,101,255,.35);background:rgba(121,80,255,.12)}
.awards-admin-game-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem}.awards-admin-game-card{min-width:0;border:1px solid rgba(255,255,255,.065);border-radius:14px;background:#0d0e14;overflow:hidden}.awards-admin-game-cover{position:relative;aspect-ratio:2/2.7;background:#171820;display:grid;place-items:center;overflow:hidden}.awards-admin-game-cover img{width:100%;height:100%;object-fit:cover}.awards-admin-game-cover>span{font-size:1.7rem}.awards-admin-game-cover>b{position:absolute;top:.45rem;right:.45rem;padding:.3rem .42rem;border-radius:99px;background:rgba(7,8,13,.72);font-size:.53rem;color:#ccc}.awards-admin-game-card details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.65rem;cursor:pointer}.awards-admin-game-card details>summary::-webkit-details-marker{display:none}.awards-admin-game-card details>summary strong,.awards-admin-game-card details>summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.awards-admin-game-card details>summary strong{font-size:.73rem}.awards-admin-game-card details>summary small{color:#6f727f;font-size:.56rem;margin-top:.1rem}.awards-admin-game-card details>summary>span{font-size:.58rem;color:#9381d6}.awards-admin-game-card details[open]{position:relative}.awards-game-card-form{padding:.7rem;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:.5rem}.awards-game-card-form .form-group{margin:0}.awards-game-card-form label{font-size:.6rem}.awards-game-card-form input,.awards-game-card-form textarea,.awards-game-card-form select{font-size:.68rem;padding:.5rem}.awards-admin-game-card .danger-zone-inline{padding:.2rem .7rem .7rem}
.awards-results-overview{display:flex;align-items:baseline;gap:.35rem}.awards-results-overview strong{font-size:1.45rem}.awards-results-overview span{font-size:.65rem;color:#747784}.awards-admin-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.awards-admin-result-card{border:1px solid rgba(255,255,255,.065);border-radius:14px;background:rgba(255,255,255,.018);padding:.8rem}.awards-admin-result-heading{display:flex;align-items:center;gap:.55rem}.awards-admin-result-heading strong,.awards-admin-result-heading small{display:block}.awards-admin-result-heading strong{font-size:.8rem}.awards-admin-result-heading small{font-size:.58rem;color:#6e717d;margin-top:.1rem}.awards-result-ranking{display:flex;flex-direction:column;gap:.35rem;margin:.7rem 0}.awards-result-ranking>div{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:.4rem;align-items:center;padding:.42rem .48rem;border-radius:9px;background:rgba(255,255,255,.025)}.awards-result-ranking b{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:rgba(255,255,255,.06);font-size:.58rem}.awards-result-ranking span{font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.awards-result-ranking strong{font-size:.65rem;color:#b6a8ee}.awards-creator-pick-form label{font-size:.6rem;color:#767986}.awards-creator-pick-form>div{display:flex;gap:.35rem;margin-top:.25rem}.awards-creator-pick-form select{min-width:0;font-size:.67rem;padding:.5rem}.awards-result-empty{font-size:.68rem;color:#727581}.awards-reset-votes{margin-top:1rem;text-align:right}

@media (max-width:1200px){.awards-nominee-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.awards-admin-game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.awards-category-admin-grid,.awards-admin-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.awards-hero-shell{grid-template-columns:1fr}.awards-auth-card{max-width:560px}.awards-nominee-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.awards-category-heading{grid-template-columns:auto 1fr}.awards-category-meta{display:none}.awards-switch-grid{grid-template-columns:1fr}.awards-twitch-setup{grid-template-columns:auto 1fr}.awards-twitch-setup-actions{grid-column:1/-1;justify-content:flex-start}.awards-game-editor{grid-template-columns:1fr}.awards-admin-game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.awards-hero{padding-top:6.8rem}.awards-hero-copy h1{font-size:clamp(2.5rem,16vw,4.4rem)}.awards-category-nav{top:68px}.awards-nominee-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.awards-nominee-body{padding:.68rem}.awards-nominee-body p{display:none}.awards-category{padding-top:3rem}.awards-category-admin-grid,.awards-admin-results-grid{grid-template-columns:1fr}.awards-admin-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.awards-control-form>.form-grid{grid-template-columns:1fr}.awards-admin-edition-bar{align-items:stretch}.awards-admin-edition-select{width:100%}.awards-new-edition-inline{width:100%}.awards-twitch-setup{grid-template-columns:1fr}.awards-twitch-setup-icon{width:42px;height:42px}.awards-callback-copy{flex-direction:column}.awards-create-edition-form{flex-direction:column;width:min(100%,320px)}.awards-create-edition-form input{max-width:none}.awards-creator-callout{align-items:flex-start}}
.home-awards-feature{padding-top:.45rem!important;padding-bottom:.65rem!important}.home-awards-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;overflow:hidden;padding:1.25rem 1.35rem;border:1px solid rgba(255,201,94,.16);border-radius:20px;background:radial-gradient(circle at 10% 50%,rgba(122,87,255,.18),transparent 26%),linear-gradient(115deg,#12101b,#0d0e14 55%,#15120c);box-shadow:0 18px 45px rgba(0,0,0,.2);color:#fff}.home-awards-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.025),transparent);pointer-events:none}.home-awards-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,#8b68ff,#ffc75c);color:#151015;font-size:1.45rem;font-weight:950;box-shadow:0 10px 28px rgba(139,104,255,.18)}.home-awards-copy>span{font-size:.58rem;letter-spacing:.15em;color:#c7a9ff;font-weight:850}.home-awards-copy h2{font-size:1.25rem;margin:.18rem 0 .18rem;letter-spacing:-.035em}.home-awards-copy p{margin:0;color:#8f929e;font-size:.75rem}.home-awards-copy>div{display:flex;gap:.45rem;margin-top:.55rem}.home-awards-copy b{font-size:.58rem;padding:.3rem .45rem;border-radius:99px;background:rgba(255,255,255,.05);color:#a7a9b3}.home-awards-cta{text-align:right}.home-awards-cta small{display:inline-flex;align-items:center;gap:.4rem;font-size:.55rem;color:#d1ad65;letter-spacing:.12em;font-weight:850}.home-awards-cta i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#54df90;box-shadow:0 0 12px rgba(84,223,144,.8);margin-right:.35rem}.home-awards-cta strong{display:block;margin-top:.35rem;font-size:.78rem}.home-awards-cta strong span{color:#f6c961;margin-left:.3rem}.home-awards-card:hover{border-color:rgba(255,201,94,.32);transform:translateY(-2px)}
@media(max-width:700px){.home-awards-card{grid-template-columns:auto 1fr}.home-awards-cta{grid-column:1/-1;text-align:left;padding-left:74px}.home-awards-mark{width:52px;height:52px}}

/* =========================================================
   V75 — AWARDS : ALIGNEMENT DA LEONNECORP
   Refonte publique compacte + sélecteurs admin sombres
   ========================================================= */
html { color-scheme: dark; }

/* Les menus Awards de l'admin restent sombres, y compris la liste native. */
.admin-page-awards select {
  appearance:none;
  -webkit-appearance:none;
  color-scheme:dark;
  color:#eef2fb;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background-color:#090c13;
  background-image:
    linear-gradient(45deg,transparent 50%,#8b93a5 50%),
    linear-gradient(135deg,#8b93a5 50%,transparent 50%);
  background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
  padding-right:34px!important;
  outline:none;
}
.admin-page-awards select:hover { border-color:rgba(123,92,255,.34); background-color:#0c1019; }
.admin-page-awards select:focus { border-color:rgba(123,92,255,.64); box-shadow:0 0 0 3px rgba(123,92,255,.12); }
.admin-page-awards select option { color:#eef2fb; background:#090c13; }
.admin-page-awards .awards-admin-edition-bar,
.admin-page-awards .awards-control-panel,
.admin-page-awards .awards-twitch-setup,
.admin-page-awards .awards-category-admin-card,
.admin-page-awards .awards-admin-game-card,
.admin-page-awards .awards-admin-result-card { box-shadow:none; }
.admin-page-awards .awards-admin-game-cover { aspect-ratio:16/10; min-height:0; }
.admin-page-awards .awards-admin-game-cover img { object-fit:cover; }
.admin-page-awards .awards-admin-game-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }

/* Navigation : l'onglet Awards utilise désormais le violet/cyan du site. */
.nav-awards-link { color:#dcd6ff!important; }
.nav-awards-link span { color:#a996ff; filter:drop-shadow(0 0 9px rgba(123,92,255,.55)); }

/* Hero = même langage visuel que les pages média. */
.awards-hero-v75 {
  position:relative;
  min-height:clamp(500px,62vh,680px);
  display:grid;
  align-items:end;
  overflow:hidden;
  padding:0;
  border-bottom:1px solid var(--line);
  background:#07080d;
  isolation:isolate;
}
.awards-hero-v75::after { display:none; }
.awards-hero-media {
  position:absolute;
  z-index:-3;
  inset:-2%;
  width:104%;
  height:104%;
  max-width:none;
  object-fit:cover;
  object-position:center 36%;
  filter:saturate(.78) contrast(1.04);
  transform:scale(1.025);
}
.awards-hero-shade {
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(90deg,rgba(6,7,11,.98) 0%,rgba(6,7,11,.92) 34%,rgba(6,7,11,.58) 62%,rgba(6,7,11,.30) 100%),
    linear-gradient(0deg,#06070b 0%,rgba(6,7,11,.18) 42%,rgba(6,7,11,.32) 100%);
}
.awards-hero-shade::after {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 45%,rgba(123,92,255,.18),transparent 36%),radial-gradient(circle at 72% 25%,rgba(32,217,255,.07),transparent 30%);
}
.awards-hero-v75 .awards-hero-shell {
  width:min(1440px,calc(100% - clamp(36px,8vw,128px)));
  margin:0 auto;
  padding:150px 0 68px;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  align-items:end;
  gap:clamp(34px,6vw,84px);
}
.awards-hero-v75 .awards-hero-copy h1 {
  max-width:850px;
  margin:10px 0 18px;
  font-size:clamp(3.1rem,7vw,6.7rem);
  line-height:.91;
  letter-spacing:-.075em;
  color:#fff;
  background:none;
  -webkit-text-fill-color:initial;
}
.awards-hero-v75 .awards-hero-copy>p { max-width:680px; color:#c6cad5; font-size:clamp(.98rem,1.35vw,1.1rem); line-height:1.68; }
.awards-eyebrow { margin:0; color:#dcd6ff; }
.awards-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:28px; }
.awards-twitch-inline span { display:grid; place-items:center; width:22px; height:22px; border-radius:7px; background:#9147ff; color:#fff; font-size:.68rem; font-weight:900; }
.awards-connected-pill { display:inline-flex; align-items:center; gap:8px; min-height:46px; padding:0 15px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.07); color:#dce0e9; font-size:.78rem; font-weight:750; backdrop-filter:blur(12px); }
.awards-connected-dot { width:7px; height:7px; border-radius:50%; background:#3ddc97; box-shadow:0 0 0 5px rgba(61,220,151,.10); }

.awards-edition-panel {
  padding:20px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(11,13,20,.70);
  box-shadow:0 22px 70px rgba(0,0,0,.28);
  backdrop-filter:blur(18px) saturate(135%);
}
.awards-edition-panel-head { display:flex; justify-content:space-between; align-items:center; gap:14px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,.08); }
.awards-edition-panel-head>span { color:#838998; font-size:.66rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.awards-edition-panel-head strong { display:inline-flex; align-items:center; gap:7px; color:#c7cad4; font-size:.72rem; }
.awards-edition-panel-head strong i { width:7px; height:7px; border-radius:50%; background:#3ddc97; box-shadow:0 0 12px rgba(61,220,151,.7); }
.awards-edition-panel-head strong.is-open { color:#9cf0be; }
.awards-edition-panel-head strong.is-results { color:#dcd6ff; }
.awards-edition-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin:16px 0; overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:14px; background:rgba(255,255,255,.06); }
.awards-edition-stats div { padding:13px 12px; background:rgba(8,10,15,.70); }
.awards-edition-stats strong,.awards-edition-stats span { display:block; }
.awards-edition-stats strong { font-size:1.08rem; letter-spacing:-.04em; }
.awards-edition-stats span { margin-top:2px; color:#777e8d; font-size:.62rem; }
.awards-edition-panel p { margin:0; color:#8f95a4; font-size:.72rem; line-height:1.55; }

/* Corps : moins de blocs flottants, davantage de continuité avec le catalogue. */
.awards-page-v75 { width:min(1440px,calc(100% - clamp(36px,8vw,128px))); padding:28px 0 82px; }
.awards-page-v75 .awards-message { margin:0 0 18px; }
.awards-nav-wrap { position:sticky; z-index:17; top:78px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:22px; margin:0 0 10px; padding:10px 12px 10px 16px; border:1px solid rgba(255,255,255,.08); border-radius:16px; background:rgba(8,10,15,.84); box-shadow:0 16px 50px rgba(0,0,0,.18); backdrop-filter:blur(18px) saturate(140%); }
.awards-nav-copy { min-width:145px; padding-right:18px; border-right:1px solid rgba(255,255,255,.08); }
.awards-nav-label,.awards-nav-copy strong { display:block; }
.awards-nav-label { color:#737987; font-size:.57rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.awards-nav-copy strong { margin-top:2px; font-size:.72rem; }
.awards-page-v75 .awards-category-nav { position:static; top:auto; z-index:auto; gap:5px; padding:0; border:0; border-radius:0; background:none; backdrop-filter:none; }
.awards-page-v75 .awards-category-nav a { min-height:38px; padding:0 11px; border:1px solid transparent; border-radius:10px; color:#989eab; background:transparent; font-size:.68rem; }
.awards-page-v75 .awards-category-nav a:hover,.awards-page-v75 .awards-category-nav a:focus-visible { color:#fff; border-color:rgba(123,92,255,.24); background:rgba(123,92,255,.10); outline:none; }
.awards-page-v75 .awards-category-nav small { color:#696f7c; font-size:.52rem; }

.awards-page-v75 .awards-category { padding:54px 0 6px; scroll-margin-top:145px; }
.awards-page-v75 .awards-category-heading { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:start; gap:14px; margin-bottom:18px; }
.awards-category-index { display:grid; place-items:center; width:44px; height:44px; border:1px solid color-mix(in srgb,var(--award-accent) 26%,rgba(255,255,255,.07)); border-radius:13px; background:color-mix(in srgb,var(--award-accent) 8%,#0b0d14); color:var(--award-accent); }
.awards-category-index span { font-size:.69rem!important; font-weight:900; letter-spacing:.08em!important; }
.awards-category-kicker { color:var(--award-accent)!important; font-size:.57rem!important; font-weight:850!important; letter-spacing:.14em!important; text-transform:uppercase; }
.awards-page-v75 .awards-category-heading h2 { margin:2px 0 5px; font-size:clamp(1.5rem,2.6vw,2.15rem); letter-spacing:-.045em; }
.awards-page-v75 .awards-category-heading p { max-width:720px; color:#858b99; font-size:.78rem; line-height:1.5; }
.awards-page-v75 .awards-category-meta { display:flex; gap:6px; text-align:left; }
.awards-page-v75 .awards-category-meta>div { min-width:75px; padding:8px 10px; border:1px solid rgba(255,255,255,.07); border-radius:11px; background:rgba(255,255,255,.025); }
.awards-page-v75 .awards-category-meta strong,.awards-page-v75 .awards-category-meta span { display:block; }
.awards-page-v75 .awards-category-meta strong { font-size:.82rem; }
.awards-page-v75 .awards-category-meta span { margin-top:1px; color:#727887; font-size:.52rem; letter-spacing:.06em; text-transform:uppercase; }

/* Nominés : format horizontal compact, sans affiches géantes. */
.awards-page-v75 .awards-nominee-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.awards-page-v75 .awards-nominee-card { min-height:182px; display:grid; grid-template-columns:132px minmax(0,1fr); overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:18px; background:linear-gradient(135deg,rgba(17,20,29,.96),rgba(11,13,20,.96)); box-shadow:0 12px 34px rgba(0,0,0,.14); }
.awards-page-v75 .awards-nominee-card:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--award-accent) 32%,rgba(255,255,255,.08)); box-shadow:0 18px 44px rgba(0,0,0,.24); }
.awards-page-v75 .awards-nominee-card.is-selected { border-color:color-mix(in srgb,var(--award-accent) 55%,#fff 8%); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--award-accent) 22%,transparent),0 16px 42px rgba(0,0,0,.2); }
.awards-page-v75 .awards-nominee-visual { min-height:182px; aspect-ratio:auto; background:#11141d; }
.awards-page-v75 .awards-nominee-visual img { width:100%; height:100%; object-fit:cover; object-position:center; }
.awards-page-v75 .awards-nominee-overlay { background:linear-gradient(90deg,transparent 45%,rgba(11,13,20,.58) 100%),linear-gradient(0deg,rgba(5,6,10,.45),transparent 58%); }
.awards-page-v75 .awards-platform { top:8px; right:8px; max-width:calc(100% - 16px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:5px 7px; font-size:.49rem; }
.awards-page-v75 .awards-your-vote { top:auto; bottom:8px; left:8px; padding:5px 7px; font-size:.5rem; }
.awards-page-v75 .awards-creator-badge { position:static; display:inline-flex; flex:0 0 auto; padding:5px 7px; border:1px solid rgba(123,92,255,.24); border-radius:999px; background:rgba(123,92,255,.10); color:#cfc7ff; font-size:.5rem; letter-spacing:.02em; }
.awards-page-v75 .awards-nominee-body { min-width:0; display:flex; flex-direction:column; padding:16px 16px 13px; }
.awards-nominee-main { min-width:0; }
.awards-nominee-title-row { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.awards-page-v75 .awards-nominee-body h3 { min-width:0; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:1rem; letter-spacing:-.025em; }
.awards-page-v75 .awards-nominee-body p { min-height:0; margin:6px 0 0; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; color:#808694; font-size:.68rem; line-height:1.45; }
.awards-result-block { margin-top:12px; }
.awards-result-copy { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:5px; }
.awards-result-copy span { color:#727887; font-size:.54rem; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
.awards-result-copy strong { font-size:.73rem; color:#e9ebf2; }
.awards-page-v75 .awards-result-meter { display:block; margin:0; }
.awards-page-v75 .awards-result-meter>span { display:block; height:4px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); }
.awards-page-v75 .awards-result-meter i { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--award-accent),#20d9ff); }
.awards-page-v75 .awards-result-votes { display:block; margin-top:4px; color:#666d7a; font-size:.52rem; }
.awards-page-v75 .awards-nominee-actions { margin-top:auto; padding-top:12px; flex-direction:row; align-items:center; gap:8px; }
.awards-page-v75 .awards-nominee-actions form { flex:1; }
.awards-page-v75 .awards-vote-button,.awards-page-v75 .awards-vote-selected { min-height:36px; padding:0 11px!important; border-radius:10px; font-size:.63rem!important; }
.awards-page-v75 .awards-vote-button { background:linear-gradient(135deg,color-mix(in srgb,var(--award-accent) 76%,#202332),#5b7cff)!important; }
.awards-page-v75 .awards-vote-selected { color:#d8fff0!important; border-color:rgba(61,220,151,.25)!important; background:rgba(61,220,151,.09)!important; }
.awards-page-v75 .awards-game-link { flex:0 0 auto; padding:8px 2px; color:#969ca9; font-size:.6rem; white-space:nowrap; }
.awards-page-v75 .awards-game-link:hover { color:#fff; }

.awards-page-v75 .awards-creator-callout { margin-top:12px; padding:12px 14px; border:1px solid rgba(123,92,255,.15); border-radius:15px; background:linear-gradient(135deg,rgba(123,92,255,.07),rgba(32,217,255,.025)); }
.awards-page-v75 .awards-creator-symbol { width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,#7b5cff,#20d9ff); color:#fff; font-size:.8rem; }
.awards-page-v75 .awards-creator-callout small { color:#9b8eff; }
.awards-page-v75 .awards-creator-callout strong { font-size:.82rem; }
.awards-page-v75 .awards-creator-callout p { margin:2px 0 0; font-size:.63rem; color:#777e8b; }

@media (max-width:1100px) {
  .awards-hero-v75 .awards-hero-shell { grid-template-columns:minmax(0,1fr) minmax(270px,.55fr); }
  .awards-page-v75 .awards-nominee-card { grid-template-columns:112px minmax(0,1fr); }
  .awards-page-v75 .awards-nominee-visual { min-height:180px; }
  .admin-page-awards .awards-admin-game-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:860px) {
  .awards-hero-v75 { min-height:auto; }
  .awards-hero-v75 .awards-hero-shell { grid-template-columns:1fr; padding-top:132px; padding-bottom:46px; gap:28px; }
  .awards-edition-panel { max-width:620px; }
  .awards-nav-wrap { grid-template-columns:1fr; gap:8px; top:68px; padding:9px; }
  .awards-nav-copy { display:none; }
  .awards-page-v75 .awards-nominee-grid { grid-template-columns:1fr; }
  .awards-page-v75 .awards-nominee-card { grid-template-columns:132px minmax(0,1fr); }
  .awards-page-v75 .awards-category-meta { display:none; }
}
@media (max-width:560px) {
  .awards-hero-v75 .awards-hero-shell,.awards-page-v75 { width:calc(100% - 32px); }
  .awards-hero-v75 .awards-hero-shell { padding-top:112px; padding-bottom:36px; }
  .awards-hero-v75 .awards-hero-copy h1 { font-size:clamp(2.65rem,15vw,4.3rem); }
  .awards-hero-v75 .awards-hero-copy>p { font-size:.9rem; }
  .awards-hero-actions .button { width:100%; }
  .awards-connected-pill { width:100%; justify-content:center; }
  .awards-edition-stats div { padding:10px 8px; }
  .awards-page-v75 { padding-top:18px; }
  .awards-page-v75 .awards-category { padding-top:42px; }
  .awards-page-v75 .awards-category-heading { grid-template-columns:38px minmax(0,1fr); gap:11px; }
  .awards-category-index { width:38px; height:38px; }
  .awards-page-v75 .awards-category-heading h2 { font-size:1.5rem; }
  .awards-page-v75 .awards-nominee-card { grid-template-columns:96px minmax(0,1fr); min-height:164px; border-radius:15px; }
  .awards-page-v75 .awards-nominee-visual { min-height:164px; }
  .awards-page-v75 .awards-nominee-body { padding:12px; }
  .awards-page-v75 .awards-nominee-title-row { align-items:flex-start; flex-direction:column; gap:5px; }
  .awards-page-v75 .awards-nominee-body p { display:none; }
  .awards-page-v75 .awards-nominee-actions { align-items:stretch; flex-direction:column; gap:4px; padding-top:9px; }
  .awards-page-v75 .awards-nominee-actions form,.awards-page-v75 .awards-vote-button,.awards-page-v75 .awards-vote-selected { width:100%; }
  .awards-page-v75 .awards-game-link { text-align:center; }
  .admin-page-awards .awards-admin-game-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* =========================================================
   V76 — AWARDS : MENUS ADMIN + CENTRAGE PUBLIC
   ========================================================= */

/* La page publique garde exactement le même axe central que son hero. */
.awards-page-v75 {
  margin-inline:auto;
}

/* Quand une catégorie a un nombre impair de nominés, le dernier ne reste
   plus collé au bord gauche : il se centre proprement dans la grille. */
.awards-page-v75 .awards-nominee-card:last-child:nth-child(odd) {
  grid-column:1 / -1;
  width:calc(50% - 6px);
  justify-self:center;
}

/* Admin Awards : champs cohérents avec les formulaires Leonnecorp. */
.admin-page-awards .awards-category-admin-card input[type="text"],
.admin-page-awards .awards-category-admin-card input[type="number"],
.admin-page-awards .awards-category-admin-card textarea {
  width:100%;
  color:#f4f6fb;
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  background:#090d15;
  outline:none;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.admin-page-awards .awards-category-admin-card input[type="text"]:hover,
.admin-page-awards .awards-category-admin-card input[type="number"]:hover,
.admin-page-awards .awards-category-admin-card textarea:hover {
  border-color:rgba(255,255,255,.14);
  background:#0b1019;
}
.admin-page-awards .awards-category-admin-card input[type="text"]:focus,
.admin-page-awards .awards-category-admin-card input[type="number"]:focus,
.admin-page-awards .awards-category-admin-card textarea:focus {
  border-color:rgba(123,92,255,.58);
  background:#0b1019;
  box-shadow:0 0 0 3px rgba(123,92,255,.10);
}
.admin-page-awards .awards-category-admin-bottom {
  align-items:center;
}
.admin-page-awards .awards-category-admin-card.is-new {
  background:linear-gradient(145deg,rgba(123,92,255,.035),rgba(255,255,255,.012));
}

/* Sélecteur custom : le select natif reste dans le formulaire pour la
   soumission, mais le popup visuel est entièrement maîtrisé et jamais blanc. */
.admin-page-awards .awards-custom-select {
  position:relative;
  min-width:0;
  z-index:3;
}
.admin-page-awards .awards-custom-select.is-open {
  z-index:80;
}
.admin-page-awards .awards-custom-select-native {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.admin-page-awards .awards-select-trigger {
  position:relative;
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 36px 0 12px;
  color:#eef2fb;
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  background:linear-gradient(180deg,#0d111a,#090d15);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  text-align:left;
  font-size:.72rem;
  font-weight:700;
  outline:none;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.admin-page-awards .awards-select-trigger::after {
  content:"";
  position:absolute;
  right:13px;
  top:50%;
  width:7px;
  height:7px;
  border-right:1.5px solid #8992a5;
  border-bottom:1.5px solid #8992a5;
  transform:translateY(-70%) rotate(45deg);
  transition:transform .18s ease,border-color .18s ease;
}
.admin-page-awards .awards-custom-select.is-open .awards-select-trigger {
  border-color:rgba(123,92,255,.62);
  background:#0d121d;
  box-shadow:0 0 0 3px rgba(123,92,255,.11),0 12px 28px rgba(0,0,0,.18);
}
.admin-page-awards .awards-custom-select.is-open .awards-select-trigger::after {
  border-color:#b9adff;
  transform:translateY(-28%) rotate(225deg);
}
.admin-page-awards .awards-select-trigger:hover {
  border-color:rgba(123,92,255,.34);
  background:#0d121d;
}
.admin-page-awards .awards-select-trigger:focus-visible {
  border-color:rgba(123,92,255,.64);
  box-shadow:0 0 0 3px rgba(123,92,255,.12);
}
.admin-page-awards .awards-select-trigger:disabled {
  opacity:.5;
  cursor:not-allowed;
}
.admin-page-awards .awards-select-label {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-page-awards .awards-select-menu {
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 7px);
  min-width:max(100%,170px);
  max-height:240px;
  overflow:auto;
  padding:6px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(9,13,21,.985);
  box-shadow:0 22px 55px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.025);
  backdrop-filter:blur(18px) saturate(140%);
  scrollbar-width:thin;
  scrollbar-color:#303748 transparent;
}
.admin-page-awards .awards-select-menu[hidden] {
  display:none!important;
}
.admin-page-awards .awards-select-option {
  position:relative;
  width:100%;
  min-height:35px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 10px;
  color:#bfc5d1;
  border:0;
  border-radius:8px;
  background:transparent;
  text-align:left;
  font-size:.7rem;
  font-weight:650;
  white-space:nowrap;
  transition:background .14s ease,color .14s ease;
}
.admin-page-awards .awards-select-option:hover,
.admin-page-awards .awards-select-option:focus-visible {
  color:#fff;
  background:rgba(123,92,255,.13);
  outline:none;
}
.admin-page-awards .awards-select-option.is-selected {
  color:#fff;
  background:linear-gradient(90deg,rgba(123,92,255,.20),rgba(32,217,255,.055));
}
.admin-page-awards .awards-select-option.is-selected::after {
  content:"✓";
  margin-left:auto;
  color:#a99cff;
  font-size:.66rem;
  font-weight:900;
}
.admin-page-awards .awards-select-option:disabled {
  opacity:.4;
  cursor:not-allowed;
}

/* Les sélecteurs de couleur reprennent visuellement la teinte choisie. */
.admin-page-awards .awards-custom-select.is-accent .awards-select-trigger::before,
.admin-page-awards .awards-custom-select.is-accent .awards-select-option::before {
  content:"";
  flex:0 0 auto;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--select-tone,#8a6cff);
  box-shadow:0 0 10px color-mix(in srgb,var(--select-tone,#8a6cff) 48%,transparent);
}
.admin-page-awards .awards-custom-select.is-accent [data-value="violet"] { --select-tone:#8a6cff; }
.admin-page-awards .awards-custom-select.is-accent [data-value="blue"] { --select-tone:#5790ff; }
.admin-page-awards .awards-custom-select.is-accent [data-value="cyan"] { --select-tone:#4fd7ee; }
.admin-page-awards .awards-custom-select.is-accent [data-value="green"] { --select-tone:#4bd994; }
.admin-page-awards .awards-custom-select.is-accent [data-value="amber"] { --select-tone:#f8b84f; }
.admin-page-awards .awards-custom-select.is-accent [data-value="red"] { --select-tone:#f66670; }
.admin-page-awards .awards-custom-select.is-accent [data-value="pink"] { --select-tone:#f467b5; }
.admin-page-awards .awards-custom-select.is-accent [data-value="teal"] { --select-tone:#43d1bd; }
.admin-page-awards .awards-custom-select.is-accent .awards-select-trigger[data-value="violet"] { --select-tone:#8a6cff; }
.admin-page-awards .awards-custom-select.is-accent .awards-select-trigger[data-value="blue"] { --select-tone:#5790ff; }
.admin-page-awards .awards-custom-select.is-accent .awards-select-trigger[data-value="cyan"] { --select-tone:#4fd7ee; }
.admin-page-awards .awards-custom-select.is-accent .awards-select-trigger[data-value="green"] { --select-tone:#4bd994; }
.admin-page-awards .awards-custom-select.is-accent .awards-select-trigger[data-value="amber"] { --select-tone:#f8b84f; }
.admin-page-awards .awards-custom-select.is-accent .awards-select-trigger[data-value="red"] { --select-tone:#f66670; }
.admin-page-awards .awards-custom-select.is-accent .awards-select-trigger[data-value="pink"] { --select-tone:#f467b5; }
.admin-page-awards .awards-custom-select.is-accent .awards-select-trigger[data-value="teal"] { --select-tone:#43d1bd; }

.admin-page-awards .awards-category-admin-bottom .awards-custom-select {
  width:142px;
  max-width:48%;
}
.admin-page-awards .awards-admin-edition-select .awards-custom-select {
  flex:1;
  width:min(360px,100%);
  max-width:430px;
}
.admin-page-awards .awards-creator-pick-form .awards-custom-select {
  flex:1;
  min-width:0;
}
.admin-page-awards .awards-creator-pick-form .awards-select-menu {
  min-width:100%;
}

@media (max-width:900px) {
  .awards-page-v75 .awards-nominee-card:last-child:nth-child(odd) {
    grid-column:auto;
    width:auto;
    justify-self:stretch;
  }
}
@media (max-width:640px) {
  .admin-page-awards .awards-admin-edition-select {
    align-items:stretch;
    flex-direction:column;
  }
  .admin-page-awards .awards-admin-edition-select .awards-custom-select {
    width:100%;
    max-width:none;
  }
  .admin-page-awards .awards-category-admin-bottom .awards-custom-select {
    width:136px;
  }
}

/* =========================================================
   V77 — AWARDS : CARTES CATALOGUE + AUTH TWITCH SÉPARÉE
   ========================================================= */

/* Sur Awards, le header affiche le compte de vote Twitch et jamais l'état
   de la session staff : les deux authentifications restent lisibles et séparées. */
.awards-header-auth {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:5px 11px 5px 7px;
  border:1px solid rgba(145,71,255,.26);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(145,71,255,.12),rgba(12,14,22,.92));
  color:#f4f1ff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.awards-header-auth:hover {
  transform:translateY(-1px);
  border-color:rgba(145,71,255,.52);
  background:linear-gradient(135deg,rgba(145,71,255,.18),rgba(14,16,25,.96));
}
.awards-header-twitch {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:8px;
  background:#9147ff;
  color:#fff;
  font-size:.72rem;
  font-weight:950;
  box-shadow:0 7px 18px rgba(145,71,255,.24);
}
.awards-header-auth-copy { min-width:0; display:grid; gap:1px; }
.awards-header-auth-copy small {
  color:#9e95b7;
  font-size:.49rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.1;
}
.awards-header-auth-copy strong {
  max-width:145px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:.68rem;
  line-height:1.2;
}
.awards-header-auth.is-connected {
  border-color:rgba(83,226,164,.22);
  background:linear-gradient(135deg,rgba(145,71,255,.11),rgba(42,179,119,.055));
}

.footer-awards-twitch-icon {
  display:grid!important;
  place-items:center;
  color:#fff!important;
  background:linear-gradient(145deg,#9147ff,#6f34ce)!important;
  border-color:rgba(170,119,255,.35)!important;
  font-size:.82rem;
  font-weight:950;
}
.footer-awards-voter-card { border-color:rgba(145,71,255,.16); }
.footer-awards-voter-card:hover { border-color:rgba(145,71,255,.34); }

.awards-switch-voter {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 10px;
  color:#9fa5b2;
  font-size:.68rem;
  font-weight:750;
}
.awards-switch-voter:hover { color:#fff; }

/* Les nominés reprennent le langage des cartes Série du catalogue :
   affiche verticale dominante + bandeau titre sombre en bas. */
.awards-page-v75 .awards-nominee-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.awards-page-v75 .awards-nominee-card,
.awards-page-v75 .awards-nominee-card:last-child:nth-child(odd) {
  width:auto;
  min-height:0;
  grid-column:auto;
  justify-self:stretch;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.085);
  border-radius:17px;
  background:#17121c;
  box-shadow:0 14px 38px rgba(0,0,0,.20);
  transition:transform .23s ease,border-color .23s ease,box-shadow .23s ease;
}
.awards-page-v75 .awards-nominee-card:hover {
  transform:translateY(-5px);
  border-color:color-mix(in srgb,var(--award-accent) 44%,rgba(255,255,255,.10));
  box-shadow:0 22px 54px rgba(0,0,0,.34);
}
.awards-page-v75 .awards-nominee-card.is-selected {
  border-color:color-mix(in srgb,var(--award-accent) 64%,rgba(255,255,255,.18));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--award-accent) 18%,transparent),0 20px 50px rgba(0,0,0,.30);
}
.awards-page-v75 .awards-nominee-visual {
  position:relative;
  width:100%;
  min-height:0;
  aspect-ratio:2 / 3;
  overflow:hidden;
  background:#0d1017;
}
.awards-page-v75 .awards-nominee-visual img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .38s ease,filter .38s ease;
}
.awards-page-v75 .awards-nominee-card:hover .awards-nominee-visual img { transform:scale(1.035); }
.awards-page-v75 .awards-nominee-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,6,11,.18) 0%,transparent 24%,transparent 72%,rgba(6,7,11,.22) 100%);
  pointer-events:none;
}
.awards-nominee-status {
  position:absolute;
  z-index:3;
  top:10px;
  left:10px;
  min-height:25px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:calc(100% - 20px);
  padding:0 9px;
  border:1px solid rgba(174,184,255,.22);
  border-radius:999px;
  background:rgba(25,29,49,.86);
  color:#e8eaff;
  box-shadow:0 8px 20px rgba(0,0,0,.25);
  backdrop-filter:blur(11px);
  font-size:.58rem;
  font-weight:850;
  white-space:nowrap;
}
.awards-nominee-status i {
  width:6px;
  height:6px;
  flex:0 0 auto;
  border-radius:50%;
  background:#aab5ff;
  box-shadow:0 0 0 3px rgba(170,181,255,.08);
}
.awards-nominee-status.is-selected {
  color:#dffff0;
  border-color:rgba(61,220,151,.30);
  background:rgba(13,52,41,.88);
}
.awards-nominee-status.is-selected i {
  background:#4be0a0;
  box-shadow:0 0 0 3px rgba(75,224,160,.10),0 0 14px rgba(75,224,160,.55);
}
.awards-page-v75 .awards-platform {
  top:10px;
  right:10px;
  left:auto;
  bottom:auto;
  max-width:48%;
  min-height:25px;
  display:inline-flex;
  align-items:center;
  padding:0 8px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  background:rgba(6,8,13,.78);
  color:#d4d8e2;
  font-size:.5rem;
  font-weight:800;
  backdrop-filter:blur(10px);
}
.awards-page-v75 .awards-nominee-body {
  min-width:0;
  min-height:74px;
  display:flex;
  flex-direction:column;
  padding:12px 13px 13px;
  border-top:1px solid rgba(255,255,255,.055);
  background:linear-gradient(135deg,rgba(123,92,255,.075),rgba(255,255,255,.018) 62%),#17131d;
}
.awards-page-v75 .awards-nominee-main { min-width:0; }
.awards-page-v75 .awards-nominee-title-row {
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
}
.awards-page-v75 .awards-nominee-body h3 {
  flex:1 1 auto;
  min-width:0;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#f5f5f8;
  font-size:.84rem;
  line-height:1.3;
  letter-spacing:-.025em;
}
/* Le descriptif reste dans le HTML pour l'accessibilité / les évolutions,
   mais n'alourdit pas la carte catalogue. */
.awards-page-v75 .awards-nominee-body p { display:none; }
.awards-page-v75 .awards-creator-badge {
  position:static;
  flex:0 0 auto;
  padding:4px 6px;
  border:1px solid rgba(255,197,85,.22);
  border-radius:999px;
  background:rgba(255,197,85,.09);
  color:#ffd987;
  font-size:.46rem;
  font-weight:850;
}
.awards-page-v75 .awards-result-block { margin-top:9px; }
.awards-page-v75 .awards-result-copy { margin-bottom:4px; }
.awards-page-v75 .awards-result-copy span { font-size:.49rem; }
.awards-page-v75 .awards-result-copy strong { font-size:.66rem; }
.awards-page-v75 .awards-result-votes { font-size:.48rem; }
.awards-page-v75 .awards-nominee-actions {
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  padding-top:0;
}
.awards-page-v75 .awards-nominee-actions form { flex:1 1 auto; min-width:0; }
.awards-page-v75 .awards-vote-button,
.awards-page-v75 .awards-vote-selected {
  width:100%;
  min-height:34px;
  padding:0 9px!important;
  border-radius:9px;
  font-size:.57rem!important;
  white-space:nowrap;
}
.awards-page-v75 .awards-game-link {
  flex:0 0 auto;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 5px;
  color:#9096a4;
  font-size:.54rem;
  white-space:nowrap;
}

@media (max-width:1220px) {
  .awards-page-v75 .awards-nominee-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:940px) {
  .awards-page-v75 .awards-nominee-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
}
@media (max-width:680px) {
  .awards-header-auth-copy { display:none; }
  .awards-header-auth { padding:5px; }
  .awards-page-v75 .awards-nominee-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .awards-page-v75 .awards-nominee-body { padding:10px 10px 11px; }
  .awards-page-v75 .awards-nominee-body h3 { font-size:.76rem; }
  .awards-page-v75 .awards-platform { display:none; }
  .awards-page-v75 .awards-nominee-actions { flex-direction:column; align-items:stretch; }
  .awards-page-v75 .awards-game-link { min-height:25px; }
}
@media (max-width:390px) {
  .awards-page-v75 .awards-nominee-grid { grid-template-columns:1fr; }
}

/* Le lien externe reste discret sur l'affiche : quand les votes sont fermés,
   le bandeau inférieur redevient aussi simple que les cartes du catalogue. */
.awards-page-v75 .awards-game-link-overlay {
  position:absolute;
  z-index:4;
  right:10px;
  bottom:10px;
  width:30px;
  min-height:30px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.13);
  border-radius:9px;
  background:rgba(6,8,13,.76);
  color:#e8ebf3;
  font-size:.72rem;
  backdrop-filter:blur(10px);
  opacity:.78;
  transition:opacity .18s ease,background .18s ease,border-color .18s ease,transform .18s ease;
}
.awards-page-v75 .awards-game-link-overlay:hover {
  opacity:1;
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--award-accent) 42%,rgba(255,255,255,.16));
  background:rgba(12,14,22,.92);
}

/* =========================================================
   V78 — COMPTE TWITCH PUBLIC + ACCÈS STAFF SÉPARÉ
   ========================================================= */
.public-account-login,
.public-account-trigger {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:5px 11px 5px 6px;
  border:1px solid rgba(145,71,255,.30);
  border-radius:13px;
  background:linear-gradient(135deg,rgba(145,71,255,.13),rgba(12,14,22,.92));
  color:#f7f5ff;
  box-shadow:0 12px 34px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.public-account-login:hover,
.public-account-trigger:hover,
.public-account-menu[open] .public-account-trigger {
  transform:translateY(-1px);
  border-color:rgba(145,71,255,.56);
  background:linear-gradient(135deg,rgba(145,71,255,.20),rgba(14,16,25,.97));
  box-shadow:0 14px 38px rgba(0,0,0,.28),0 0 0 1px rgba(145,71,255,.04) inset;
}
.public-account-twitch-icon,
.public-account-avatar {
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(145deg,#a35cff,#7b3fe4);
  box-shadow:0 8px 20px rgba(145,71,255,.22);
  font-size:.72rem;
  font-weight:950;
}
.public-account-avatar { border-radius:50%; background:linear-gradient(145deg,#9147ff,#6530c5); }
.public-account-avatar img { width:100%; height:100%; object-fit:cover; }
.public-account-avatar.is-large { width:44px; height:44px; flex-basis:44px; }
.public-account-login > span:last-child,
.public-account-trigger-copy { min-width:0; display:grid; gap:1px; line-height:1.08; }
.public-account-login small,
.public-account-trigger-copy small {
  color:#a59bbd;
  font-size:.49rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.public-account-login strong,
.public-account-trigger-copy strong {
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.69rem;
  font-weight:850;
}
.public-account-menu { position:relative; }
.public-account-menu > summary { list-style:none; cursor:pointer; }
.public-account-menu > summary::-webkit-details-marker { display:none; }
.public-account-chevron { width:16px; height:16px; margin-left:2px; fill:none; stroke:#9fa5b4; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .18s ease; }
.public-account-menu[open] .public-account-chevron { transform:rotate(180deg); }
.public-account-popover {
  position:absolute;
  z-index:120;
  top:calc(100% + 11px);
  right:0;
  width:min(330px,calc(100vw - 24px));
  padding:10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(13,15,23,.97);
  box-shadow:0 28px 80px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(24px) saturate(145%);
  transform-origin:top right;
  animation:publicAccountIn .16s ease both;
}
@keyframes publicAccountIn { from { opacity:0; transform:translateY(-5px) scale(.985); } to { opacity:1; transform:none; } }
.public-account-card {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:8px 8px 12px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.public-account-card > span:nth-child(2) { min-width:0; display:grid; gap:2px; }
.public-account-card strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.82rem; }
.public-account-card small { color:#8f97a8; font-size:.61rem; }
.public-account-card > i { width:8px; height:8px; border-radius:50%; background:#3ddc97; box-shadow:0 0 0 4px rgba(61,220,151,.09),0 0 16px rgba(61,220,151,.35); }
.public-account-links { display:grid; gap:3px; padding-top:7px; }
.public-account-links a {
  min-width:0;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:8px;
  border:1px solid transparent;
  border-radius:12px;
  color:#e8eaf1;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.public-account-links a:hover { background:rgba(255,255,255,.045); border-color:rgba(255,255,255,.065); color:#fff; }
.public-account-links a > span:nth-child(2) { min-width:0; display:grid; gap:1px; }
.public-account-links a strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.67rem; }
.public-account-links a small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#81899a; font-size:.54rem; }
.public-account-links a > b { color:#747d90; font-size:.69rem; font-weight:700; }
.public-account-link-icon {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.08);
  border-radius:9px;
  background:rgba(255,255,255,.035);
  color:#b9b2d8;
  font-size:.67rem;
  font-weight:900;
}
.public-account-link-icon.is-twitch { color:#fff; border-color:rgba(145,71,255,.22); background:rgba(145,71,255,.18); }
.public-account-link-icon.is-staff { position:relative; color:#9fe9c2; border-color:rgba(61,220,151,.15); background:rgba(61,220,151,.065); }
.public-account-link-icon.is-staff i { width:8px; height:8px; border-radius:50%; background:#3ddc97; box-shadow:0 0 12px rgba(61,220,151,.45); }
.public-account-separator { height:1px; margin:4px 7px; background:rgba(255,255,255,.065); }
.public-account-links .public-account-logout { color:#aeb4c0; }
.public-account-links .public-account-logout:hover { color:#ff9bad; border-color:rgba(255,61,102,.09); background:rgba(255,61,102,.045); }
.public-account-toast {
  position:fixed;
  z-index:80;
  top:86px;
  right:clamp(14px,4vw,64px);
  max-width:min(360px,calc(100vw - 28px));
  padding:11px 14px;
  border:1px solid rgba(61,220,151,.18);
  border-radius:12px;
  background:rgba(12,20,18,.94);
  color:#dfffee;
  box-shadow:0 18px 46px rgba(0,0,0,.34);
  backdrop-filter:blur(18px);
  font-size:.7rem;
  font-weight:750;
}
.public-account-toast.is-error { border-color:rgba(255,61,102,.22); background:rgba(28,13,18,.95); color:#ffc6d1; }

.footer-public-account-avatar {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 38px;
  overflow:hidden;
  border:1px solid rgba(145,71,255,.25);
  border-radius:11px;
  background:rgba(145,71,255,.13);
  color:#fff;
  font-size:.75rem;
}
.footer-public-account-avatar img { width:100%; height:100%; object-fit:cover; }
.footer-public-account-card { border-color:rgba(145,71,255,.15); }
.footer-public-account-card.is-connected { border-color:rgba(61,220,151,.13); }
.footer-account-links { display:flex; flex-wrap:wrap; gap:7px; margin-top:9px; }
.footer-account-links a {
  padding:6px 8px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:8px;
  color:#9aa2b2;
  background:rgba(255,255,255,.025);
  font-size:.56rem;
  font-weight:750;
}
.footer-account-links a:hover { color:#fff; border-color:rgba(123,92,255,.22); background:rgba(123,92,255,.07); }

.staff-login-page-v78 { padding:36px 20px; }
.staff-login-card-v78 { width:min(470px,100%); padding:32px; }
.staff-login-public-account {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  margin:22px 0 4px;
  padding:11px;
  border:1px solid rgba(145,71,255,.16);
  border-radius:15px;
  background:linear-gradient(135deg,rgba(145,71,255,.08),rgba(255,255,255,.02));
}
.staff-login-public-copy { min-width:0; display:grid; gap:1px; }
.staff-login-public-copy small { color:#a69bc0; font-size:.57rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.staff-login-public-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.78rem; }
.staff-login-public-copy em { color:#7d8597; font-size:.55rem; font-style:normal; line-height:1.35; }
.staff-login-public-ok { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; color:#8ff0bd; background:rgba(61,220,151,.08); font-size:.65rem; font-weight:950; }
.staff-login-card-v78 .login-kicker { margin-top:20px; }
.staff-login-card-v78 h1 { margin-top:6px; }
.staff-login-help-v78 { gap:8px; }

@media (max-width:900px) {
  .public-account-trigger-copy small { display:none; }
  .public-account-trigger-copy strong { max-width:100px; }
  .public-account-login > span:last-child small { display:none; }
}
@media (max-width:640px) {
  .public-account-login,
  .public-account-trigger { min-height:38px; padding:3px; border-radius:11px; }
  .public-account-avatar,
  .public-account-twitch-icon { width:31px; height:31px; flex-basis:31px; border-radius:9px; }
  .public-account-avatar { border-radius:50%; }
  .public-account-trigger-copy,
  .public-account-login > span:last-child,
  .public-account-chevron { display:none; }
  .public-account-popover { position:fixed; top:72px; right:10px; width:min(330px,calc(100vw - 20px)); }
  .public-account-toast { top:70px; right:10px; }
}

/* V85 — toast compte Twitch temporaire */
.public-account-toast {
  transition: opacity .24s ease, transform .24s ease, visibility .24s ease;
}
.public-account-toast.is-hiding {
  opacity:0;
  transform:translateY(-8px) scale(.985);
  visibility:hidden;
  pointer-events:none;
}

/* V85 — état du planning calculé automatiquement */
.live-status-control.is-automatic { min-width:190px; }
.live-auto-status {
  min-height:44px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 11px;
  border:1px solid rgba(145,71,255,.18);
  border-radius:10px;
  background:rgba(145,71,255,.055);
}
.live-auto-status-dot {
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#8d71ff;
  box-shadow:0 0 0 5px rgba(145,71,255,.08),0 0 16px rgba(145,71,255,.35);
}
.live-auto-status span:last-child { display:grid; gap:1px; min-width:0; }
.live-auto-status strong { font-size:.7rem; color:#fff; }
.live-auto-status small { font-size:.55rem; line-height:1.35; color:#8f97aa; }

/* V86 — Awards : résultats lisibles avec progression et palette du site. */
.admin-page-awards .awards-admin-result-card{
  position:relative;
  overflow:hidden;
  --awards-result-tone:var(--tone,#8a6cff);
  background:
    radial-gradient(circle at 100% 0,rgba(var(--tone-rgb,154,134,255),.075),transparent 38%),
    rgba(255,255,255,.018);
}
.admin-page-awards .awards-admin-result-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:linear-gradient(180deg,var(--awards-result-tone),transparent 82%);
  opacity:.85;
}
.admin-page-awards .awards-admin-result-card .awards-category-dot{
  --cat-color:var(--awards-result-tone);
}
.admin-page-awards .awards-result-ranking{
  gap:.62rem;
  margin:.8rem 0 .9rem;
}
.admin-page-awards .awards-result-row{
  --result-bar:#8a6cff;
  display:block;
  padding:.52rem .56rem .58rem;
  border:1px solid rgba(255,255,255,.045);
  border-radius:11px;
  background:rgba(255,255,255,.024);
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.admin-page-awards .awards-result-row:nth-child(6n+1){--result-bar:var(--awards-result-tone,var(--tone,#8a6cff))}
.admin-page-awards .awards-result-row:nth-child(6n+2){--result-bar:#55d6e7}
.admin-page-awards .awards-result-row:nth-child(6n+3){--result-bar:#ed7bc8}
.admin-page-awards .awards-result-row:nth-child(6n+4){--result-bar:#f0bd63}
.admin-page-awards .awards-result-row:nth-child(6n+5){--result-bar:#63d59a}
.admin-page-awards .awards-result-row:nth-child(6n+6){--result-bar:#6aa9ff}
.admin-page-awards .awards-result-row.is-leading{
  border-color:color-mix(in srgb,var(--result-bar) 27%,transparent);
  background:color-mix(in srgb,var(--result-bar) 6%,rgba(255,255,255,.025));
}
.admin-page-awards .awards-result-row-meta{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto auto;
  gap:.48rem;
  align-items:center;
  min-width:0;
}
.admin-page-awards .awards-result-row-meta b{
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  border-radius:7px;
  background:color-mix(in srgb,var(--result-bar) 16%,rgba(255,255,255,.045));
  border:1px solid color-mix(in srgb,var(--result-bar) 18%,transparent);
  color:#f5f3ff;
  font-size:.58rem;
}
.admin-page-awards .awards-result-row-meta span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.68rem;
  font-weight:700;
  color:#f3f2f7;
}
.admin-page-awards .awards-result-row-meta em{
  font-style:normal;
  font-size:.56rem;
  color:#777b89;
  white-space:nowrap;
}
.admin-page-awards .awards-result-row-meta strong{
  min-width:34px;
  text-align:right;
  font-size:.66rem;
  color:var(--result-bar);
}
.admin-page-awards .awards-result-progress{
  position:relative;
  height:7px;
  margin-top:.46rem;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px 1px rgba(0,0,0,.28);
}
.admin-page-awards .awards-result-progress::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.025),rgba(255,255,255,.08),rgba(255,255,255,.025));
  opacity:.45;
  pointer-events:none;
}
.admin-page-awards .awards-result-progress>span{
  display:block;
  width:var(--award-progress,0%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,color-mix(in srgb,var(--result-bar) 72%,#fff 4%),var(--result-bar));
  box-shadow:0 0 14px color-mix(in srgb,var(--result-bar) 34%,transparent);
  transition:width .45s cubic-bezier(.2,.8,.2,1);
}
.admin-page-awards .awards-admin-result-heading strong{
  color:#f7f6fb;
}
.admin-page-awards .awards-admin-result-heading small{
  color:color-mix(in srgb,var(--awards-result-tone) 60%,#777b89);
}
@media (max-width:560px){
  .admin-page-awards .awards-result-row-meta{grid-template-columns:24px minmax(0,1fr) auto}
  .admin-page-awards .awards-result-row-meta em{display:none}
}

/* V87 — Jeux à streamer : bibliothèque éditoriale + générateur de sondages */
.game-library-tabs {
  display:flex;
  gap:8px;
  margin:0 0 16px;
  padding:6px;
  width:max-content;
  max-width:100%;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:rgba(10,13,21,.86);
}
.game-library-tabs a {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 13px;
  border:1px solid transparent;
  border-radius:10px;
  color:#8e98ad;
  font-size:.72rem;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.game-library-tabs a span { color:#7b5cff; }
.game-library-tabs a b { padding:3px 6px; border-radius:999px; background:rgba(255,255,255,.055); color:#b8c0d1; font-size:.6rem; }
.game-library-tabs a:hover { color:#fff; background:rgba(255,255,255,.035); }
.game-library-tabs a.active { color:#fff; border-color:rgba(123,92,255,.28); background:linear-gradient(135deg,rgba(123,92,255,.16),rgba(32,217,255,.045)); }
.game-library-heading-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.game-library-heading-actions form { margin:0; }

.game-library-overview {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:18px 0 14px;
}
.game-library-overview > div {
  display:grid;
  gap:2px;
  min-height:78px;
  padding:14px 15px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(17,22,33,.96),rgba(10,13,20,.98));
}
.game-library-overview strong { font-size:1.45rem; letter-spacing:-.04em; }
.game-library-overview span { color:#758096; font-size:.67rem; }

.game-classifier {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(180px,.36fr);
  align-items:center;
  gap:13px;
  margin:0 0 16px;
  padding:12px 14px;
  overflow:hidden;
  border:1px solid rgba(32,217,255,.15);
  border-radius:14px;
  background:linear-gradient(120deg,rgba(32,217,255,.065),rgba(123,92,255,.055));
}
.game-classifier-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; color:#8eeeff; background:rgba(32,217,255,.09); box-shadow:0 0 24px rgba(32,217,255,.08); }
.game-classifier-copy { display:grid; gap:2px; }
.game-classifier-copy strong { font-size:.78rem; }
.game-classifier-copy span { color:#8190a8; font-size:.65rem; }
.game-classifier-progress { height:7px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.055); }
.game-classifier-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#20d9ff,#7b5cff,#ff4fb8); transition:width .28s ease; }
.game-classifier.is-done { border-color:rgba(46,211,167,.25); }
.game-classifier.is-error { border-color:rgba(255,79,120,.25); }

.game-library-filters-v87 { grid-template-columns:minmax(250px,1.35fr) minmax(180px,.8fr) minmax(160px,.7fr) 150px 160px auto auto; }
.game-profile-quickfilters { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0 18px; }
.game-profile-quickfilters a {
  --profile-tone:#7b5cff;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 9px;
  border:1px solid color-mix(in srgb,var(--profile-tone) 17%,rgba(255,255,255,.06));
  border-radius:999px;
  color:#9ba6ba;
  background:color-mix(in srgb,var(--profile-tone) 4%,#0b0f17);
  font-size:.64rem;
  font-weight:800;
  text-decoration:none;
}
.game-profile-quickfilters a span { color:var(--profile-tone); }
.game-profile-quickfilters a:hover,
.game-profile-quickfilters a.active { color:#fff; border-color:color-mix(in srgb,var(--profile-tone) 45%,transparent); background:color-mix(in srgb,var(--profile-tone) 11%,#0b0f17); }

.stream-game-grid-v87 .stream-game-card { position:relative; }
.stream-game-grid-v87 .stream-game-card.poll-disabled { opacity:.64; filter:saturate(.7); }
.game-poll-state {
  position:absolute;
  right:9px;
  top:9px;
  padding:5px 7px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(5,8,14,.78);
  color:#7d8799;
  font-size:.57rem;
  font-style:normal;
  font-weight:850;
  backdrop-filter:blur(8px);
}
.game-poll-state.enabled { color:#7cebc7; border-color:rgba(46,211,167,.22); background:rgba(8,37,31,.82); }
.game-card-profiles { display:flex; flex-wrap:wrap; gap:5px; min-height:22px; }
.game-card-profiles span {
  --profile-tone:#7b5cff;
  padding:4px 6px;
  border:1px solid color-mix(in srgb,var(--profile-tone) 22%,transparent);
  border-radius:7px;
  background:color-mix(in srgb,var(--profile-tone) 7%,transparent);
  color:color-mix(in srgb,var(--profile-tone) 72%,white);
  font-size:.55rem;
  font-weight:850;
}
.game-card-meta { display:flex; flex-wrap:wrap; gap:5px 9px; margin-top:2px; color:#68748a; font-size:.58rem; }

.game-editor-row-3 { display:grid; grid-template-columns:.72fr 1fr .72fr; gap:10px; }
.game-poll-settings {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 13px;
  border:1px solid rgba(46,211,167,.12);
  border-radius:13px;
  background:rgba(46,211,167,.035);
}
.game-poll-settings > label:last-child { display:flex; align-items:center; gap:10px; color:#8c98ad; font-size:.68rem; font-weight:750; }
.game-poll-settings select { min-width:130px; }
.game-switch { display:inline-flex; align-items:center; gap:9px; cursor:pointer; color:#c8d0df; font-size:.7rem; }
.game-switch input { position:absolute; opacity:0; pointer-events:none; }
.game-switch > span { position:relative; width:36px; height:20px; border-radius:999px; background:#161b26; border:1px solid rgba(255,255,255,.09); transition:.18s ease; }
.game-switch > span::after { content:""; position:absolute; top:3px; left:3px; width:12px; height:12px; border-radius:50%; background:#68748a; transition:.18s ease; }
.game-switch input:checked + span { border-color:rgba(46,211,167,.32); background:rgba(46,211,167,.12); }
.game-switch input:checked + span::after { left:19px; background:#55e5bb; box-shadow:0 0 12px rgba(46,211,167,.4); }
.game-switch.compact { font-size:.62rem; }

.game-profile-editor {
  padding:14px;
  border:1px solid rgba(123,92,255,.13);
  border-radius:14px;
  background:rgba(123,92,255,.025);
}
.game-profile-editor-head { display:flex; justify-content:space-between; gap:15px; align-items:flex-start; margin-bottom:10px; }
.game-profile-editor-head > div { display:grid; gap:3px; }
.game-profile-editor-head small { color:#6e7990; font-size:.62rem; }
.game-profile-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.game-profile-options label {
  --profile-tone:#7b5cff;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:42px;
  padding:8px 9px;
  border:1px solid color-mix(in srgb,var(--profile-tone) 14%,rgba(255,255,255,.05));
  border-radius:10px;
  background:color-mix(in srgb,var(--profile-tone) 3%,#0b0f17);
  cursor:pointer;
}
.game-profile-options input { accent-color:var(--profile-tone); }
.game-profile-options label > span { color:var(--profile-tone); }
.game-profile-options b { color:#8994a8; font-size:.59rem; line-height:1.15; }
.game-profile-options label:has(input:checked) { border-color:color-mix(in srgb,var(--profile-tone) 38%,transparent); background:color-mix(in srgb,var(--profile-tone) 9%,#0b0f17); }
.game-profile-options label:has(input:checked) b { color:#eef2f9; }
.game-profile-editor.is-auto .game-profile-options { opacity:.76; }
.steam-tags-preview { display:grid; gap:8px; padding:11px 12px; border:1px dashed rgba(255,255,255,.08); border-radius:12px; }
.steam-tags-preview > b { color:#78849a; font-size:.61rem; text-transform:uppercase; letter-spacing:.08em; }
.steam-tags-preview > div { display:flex; flex-wrap:wrap; gap:5px; }
.steam-tags-preview span { padding:4px 6px; border-radius:6px; background:rgba(255,255,255,.035); color:#8792a6; font-size:.57rem; }

.game-poll-generator,
.game-poll-result,
.game-poll-history { margin-bottom:16px; }
.game-poll-generator {
  background:radial-gradient(circle at 92% 0,rgba(123,92,255,.09),transparent 34%),linear-gradient(145deg,#0e121b,#0a0e15);
}
.game-poll-config { display:grid; grid-template-columns:minmax(260px,1fr) 170px auto; gap:12px; align-items:end; }
.game-poll-config .game-poll-exclusions { grid-column:1 / -1; }
.game-poll-exclusions { display:grid; gap:8px; padding:13px; border:1px solid rgba(255,255,255,.065); border-radius:13px; background:rgba(255,255,255,.018); }
.game-poll-exclusions > label { font-size:.67rem; font-weight:800; }
.game-poll-exclusions > div { display:flex; flex-wrap:wrap; gap:7px; }
.game-poll-exclusions > div label { cursor:pointer; }
.game-poll-exclusions > div input { position:absolute; opacity:0; }
.game-poll-exclusions > div span { display:block; padding:7px 9px; border:1px solid rgba(255,255,255,.07); border-radius:8px; color:#8994a8; background:#0a0e15; font-size:.63rem; font-weight:750; }
.game-poll-exclusions > div input:checked + span { color:#ff9bb0; border-color:rgba(255,79,120,.28); background:rgba(255,79,120,.07); }
.game-poll-exclusions small { color:#657086; font-size:.6rem; }

.game-poll-result-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:15px; }
.game-poll-result-head h2 { margin:3px 0 4px; }
.game-poll-result-head p { margin:0; color:#7c879c; font-size:.7rem; }
.game-poll-result-head > span { padding:7px 9px; border-radius:999px; color:#bfb3ff; background:rgba(123,92,255,.08); font-size:.62rem; font-weight:850; }
.game-poll-selection { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.game-poll-selection article {
  --profile-tone:#7b5cff;
  position:relative;
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  min-height:150px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--profile-tone) 18%,rgba(255,255,255,.06));
  border-radius:15px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--profile-tone) 4%,#0e121a),#090d14);
}
.game-poll-rank { position:absolute; left:7px; top:7px; z-index:2; display:grid; place-items:center; width:25px; height:25px; border-radius:8px; color:#fff; background:rgba(6,9,15,.82); border:1px solid color-mix(in srgb,var(--profile-tone) 38%,transparent); font-size:.64rem; font-weight:900; }
.game-poll-cover { position:relative; min-height:150px; overflow:hidden; background:#080b11; }
.game-poll-cover img { width:100%; height:100%; object-fit:cover; }
.game-poll-cover > span { display:grid; place-items:center; height:100%; font-size:2rem; }
.game-poll-cover b { position:absolute; left:7px; right:7px; bottom:7px; padding:5px 6px; overflow:hidden; border-radius:7px; color:#fff; background:rgba(6,9,15,.8); backdrop-filter:blur(8px); font-size:.51rem; white-space:nowrap; text-overflow:ellipsis; }
.game-poll-card-copy { display:flex; flex-direction:column; gap:7px; min-width:0; padding:13px 11px 48px; }
.game-poll-card-copy h3 { margin:0; font-size:.82rem; }
.game-poll-card-copy > div { display:flex; flex-wrap:wrap; gap:4px; }
.game-poll-card-copy > div span { padding:3px 5px; border-radius:6px; color:#aab3c3; background:rgba(255,255,255,.035); font-size:.5rem; }
.game-poll-card-copy small { color:#68748a; font-size:.55rem; line-height:1.45; }
.game-poll-selection article > form { position:absolute; right:10px; bottom:10px; margin:0; }
.game-poll-copybox { display:grid; grid-template-columns:minmax(180px,.6fr) minmax(280px,1fr) auto; align-items:center; gap:12px; margin-top:14px; padding:12px 13px; border:1px solid rgba(32,217,255,.1); border-radius:13px; background:rgba(32,217,255,.025); }
.game-poll-copybox > div { display:grid; gap:2px; }
.game-poll-copybox strong { font-size:.7rem; }
.game-poll-copybox span { color:#69758b; font-size:.59rem; }
.game-poll-copybox textarea { min-height:76px; resize:vertical; font-size:.66rem; }
.game-poll-actions { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:13px; }
.game-poll-actions form { margin:0; }

.game-poll-history-list { display:grid; gap:11px; }
.game-poll-history-list > article { padding:13px; border:1px solid rgba(255,255,255,.065); border-radius:15px; background:linear-gradient(145deg,#0e121a,#090d14); scroll-margin-top:20px; }
.game-poll-history-head { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:11px; }
.game-poll-history-head > div { display:grid; gap:2px; }
.game-poll-history-head strong { font-size:.8rem; }
.game-poll-history-head span,.game-poll-history-head em { color:#6d788d; font-size:.58rem; font-style:normal; }
.game-poll-history-head > b { padding:6px 8px; border-radius:8px; color:#ffe082; background:rgba(255,209,102,.07); font-size:.61rem; }
.game-poll-history-games { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; }
.game-poll-history-games form { margin:0; }
.game-poll-history-games button { display:grid; grid-template-columns:38px minmax(0,1fr); grid-template-rows:auto auto; width:100%; min-height:48px; padding:5px; text-align:left; border:1px solid rgba(255,255,255,.055); border-radius:9px; background:#090d14; color:#b7c0d0; cursor:pointer; }
.game-poll-history-games img { grid-row:1 / 3; width:34px; height:38px; object-fit:cover; border-radius:6px; }
.game-poll-history-games span { align-self:end; overflow:hidden; font-size:.56rem; font-weight:800; white-space:nowrap; text-overflow:ellipsis; }
.game-poll-history-games small { color:#606b7f; font-size:.48rem; }
.game-poll-history-games form.winner button { border-color:rgba(255,209,102,.32); background:rgba(255,209,102,.055); box-shadow:inset 0 0 0 1px rgba(255,209,102,.04); }
.game-poll-history-list > article.is-active-poll { border-color:rgba(123,92,255,.24); box-shadow:inset 0 0 0 1px rgba(123,92,255,.035); }
.game-poll-history-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.game-poll-history-actions > em.is-live { color:#83e7b4; }
.game-poll-history-actions > b { padding:6px 8px; border-radius:8px; color:#ffe082; background:rgba(255,209,102,.07); font-size:.61rem; }
.game-poll-history-manage { border-color:rgba(123,92,255,.22)!important; background:rgba(123,92,255,.08)!important; color:#c6bcff!important; }
.game-poll-history-game-static { display:grid; grid-template-columns:38px minmax(0,1fr); grid-template-rows:auto auto; width:100%; min-height:48px; padding:5px; text-align:left; border:1px solid rgba(255,255,255,.055); border-radius:9px; background:#090d14; color:#b7c0d0; }
.game-poll-history-game-static img { grid-row:1 / 3; width:34px; height:38px; object-fit:cover; border-radius:6px; }
.game-poll-history-game-static span { align-self:end; overflow:hidden; font-size:.56rem; font-weight:800; white-space:nowrap; text-overflow:ellipsis; }
.game-poll-history-game-static small { color:#606b7f; font-size:.48rem; }
.game-poll-actions-published { align-items:center; justify-content:space-between; }

@media (max-width:1450px) {
  .game-library-filters-v87 { grid-template-columns:minmax(230px,1fr) 180px 160px 150px 160px auto; }
  .game-library-filters-v87 > :last-child { grid-column:auto; }
  .game-profile-options { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .game-poll-selection { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .game-poll-history-games { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:980px) {
  .game-library-tabs { width:100%; overflow:auto; }
  .game-library-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .game-classifier { grid-template-columns:auto minmax(0,1fr); }
  .game-classifier-progress { grid-column:1 / -1; }
  .game-library-filters-v87 { grid-template-columns:1fr 1fr; }
  .game-library-filters-v87 .inspiration-search { grid-column:1 / -1; }
  .game-editor-row-3 { grid-template-columns:1fr; }
  .game-profile-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .game-poll-config { grid-template-columns:1fr 1fr; }
  .game-poll-config > button { grid-column:1 / -1; }
  .game-poll-copybox { grid-template-columns:1fr; }
}
@media (max-width:660px) {
  .game-library-overview { grid-template-columns:1fr 1fr; }
  .game-library-heading-actions { width:100%; }
  .game-library-heading-actions .button { flex:1; }
  .game-poll-settings { align-items:flex-start; flex-direction:column; }
  .game-profile-editor-head { flex-direction:column; }
  .game-profile-options { grid-template-columns:1fr; }
  .game-poll-selection { grid-template-columns:1fr; }
  .game-poll-history-games { grid-template-columns:1fr 1fr; }
  .game-poll-actions { align-items:stretch; flex-direction:column-reverse; }
  .game-poll-actions form,.game-poll-actions button { width:100%; }
}

/* V88 — Jeux à streamer : simplification complète, classification Steam seulement. */
.game-library-v88 .game-library-main{overflow:visible}
.game-library-metrics-v88{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:14px 0 16px;
}
.game-library-metrics-v88>a,.game-library-metrics-v88>div{
  position:relative;
  display:grid;
  gap:3px;
  min-height:92px;
  padding:14px 15px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.065);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(18,23,34,.94),rgba(9,13,20,.94));
  color:#fff;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.game-library-metrics-v88>a::before,.game-library-metrics-v88>div::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--metric-tone,#7b5cff);
}
.game-library-metrics-v88>a:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--metric-tone,#7b5cff) 35%,transparent)}
.game-library-metrics-v88>a.active{border-color:color-mix(in srgb,var(--metric-tone,#7b5cff) 38%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--metric-tone,#7b5cff) 8%,#121722),#090d14)}
.game-library-metrics-v88 .is-total{--metric-tone:#7b5cff}
.game-library-metrics-v88 .is-eligible{--metric-tone:#20d9ff}
.game-library-metrics-v88 .is-new{--metric-tone:#ff69c7}
.game-library-metrics-v88 .is-cooldown{--metric-tone:#ff9b45}
.game-library-metrics-v88 .is-priority{--metric-tone:#ffd166}
.game-library-metrics-v88 strong{font-size:1.48rem;line-height:1;letter-spacing:-.045em}
.game-library-metrics-v88 span{font-size:.69rem;font-weight:850;color:#eef1f8}
.game-library-metrics-v88 small{margin-top:auto;font-size:.55rem;line-height:1.35;color:#707b90}
.game-library-filters-v88{grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(150px,.72fr)) auto auto}
.game-profile-quickfilters-v88{margin-top:10px;margin-bottom:16px}
.stream-game-grid-v88{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.game-card-v88{min-width:0}
.game-card-v88 .stream-game-cover{aspect-ratio:3/4.15;min-height:0}
.game-card-v88 .stream-game-cover>b{display:none}
.game-card-v88 .game-poll-state{left:8px;right:auto;top:8px;bottom:auto;max-width:calc(100% - 16px)}
.game-card-v88 .stream-game-copy{padding-bottom:9px}
.game-card-v88 .stream-game-copy h3{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-card-v88 .game-card-profiles{min-height:24px}
.game-card-v88 .game-card-profiles span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-card-v88 .game-card-meta{gap:5px 8px}
.game-card-v88 .game-card-meta span{font-size:.5rem}
.game-card-v88 .game-card-meta .is-fresh{color:#ff8fd0}
.game-card-v88 .game-card-meta .is-cooldown{color:#f6ad61}
.game-card-v88 .stream-game-actions-minimal{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 10px 10px}
.game-card-v88 .stream-game-actions-minimal>.small-button{width:100%;justify-content:center}
.game-card-v88 .game-card-poll-toggle{grid-column:1/-1;margin:0}
.game-card-v88 .game-card-poll-toggle button{width:100%;justify-content:center;color:#7d8799}
.game-card-v88.poll-disabled{opacity:.68}
.game-card-v88.poll-disabled:hover{opacity:.9}
.game-editor-v88 .game-editor-row-3{grid-template-columns:1.25fr .75fr .75fr}
.game-poll-settings-v88{display:grid;gap:5px;align-items:start}
.game-poll-settings-v88 small{padding-left:43px;color:#69758b;font-size:.58rem;line-height:1.45}
.game-auto-classification{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid rgba(32,217,255,.11);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(32,217,255,.035),rgba(123,92,255,.025));
}
.game-auto-classification-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.game-auto-classification-head>div{display:grid;gap:3px}
.game-auto-classification-head strong{font-size:.74rem}
.game-auto-badge{padding:5px 7px;border:1px solid rgba(32,217,255,.2);border-radius:7px;color:#69e9ff;background:rgba(32,217,255,.06);font-size:.49rem;font-weight:900;letter-spacing:.1em}
.game-auto-profile-list{display:flex;flex-wrap:wrap;gap:7px}
.game-auto-profile-list>span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--profile-tone,#7b5cff) 28%,transparent);border-radius:9px;color:color-mix(in srgb,var(--profile-tone,#7b5cff) 75%,#fff 18%);background:color-mix(in srgb,var(--profile-tone,#7b5cff) 7%,#0a0e15);font-size:.61rem;font-weight:800}
.game-auto-profile-list>span i{font-style:normal;color:var(--profile-tone,#7b5cff)}
.game-auto-profile-list>em{font-style:normal;color:#69758b;font-size:.62rem}
.steam-tags-preview-v88{margin-top:2px;padding-top:9px;border-top:1px solid rgba(255,255,255,.055)}
.steam-tags-preview-v88 summary{cursor:pointer;color:#7a8496;font-size:.58rem;font-weight:800}
.steam-tags-preview-v88>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.steam-tags-preview-v88>div span{padding:4px 6px;border-radius:7px;background:rgba(255,255,255,.035);color:#747e90;font-size:.51rem}
.game-poll-generator-v88 .section-heading p{max-width:780px}
.game-poll-selection-v88{grid-template-columns:repeat(3,minmax(0,1fr))}
.game-poll-selection-v88 .game-poll-cover{aspect-ratio:16/9;min-height:0}
.game-poll-selection-v88 .game-poll-card-copy{padding-bottom:50px}

/* V88 — Awards : le choix personnel n'utilise plus de menu déroulant. */
.admin-page-awards .awards-admin-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-page-awards .awards-admin-result-card{overflow:hidden;padding:13px}
.admin-page-awards .awards-creator-pick-visual{display:grid;gap:9px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.055)}
.admin-page-awards .awards-creator-pick-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.admin-page-awards .awards-creator-pick-head>div{display:grid;gap:2px}
.admin-page-awards .awards-creator-pick-head label{font-size:.63rem;font-weight:850;color:#f0eef7}
.admin-page-awards .awards-creator-pick-head small{font-size:.54rem;color:#707583}
.admin-page-awards .awards-creator-pick-head>span{padding:5px 7px;border-radius:7px;background:rgba(99,213,154,.07);border:1px solid rgba(99,213,154,.18);color:#7ce8b0;font-size:.5rem;font-weight:850;white-space:nowrap}
.admin-page-awards .awards-creator-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.admin-page-awards .awards-creator-choice{
  --choice-tone:#8a6cff;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:8px;
  align-items:center;
  min-height:51px;
  padding:8px 9px;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.055);
  border-radius:10px;
  background:#0b0f16;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.admin-page-awards .awards-creator-choice:nth-child(6n+2){--choice-tone:var(--awards-result-tone,#8a6cff)}
.admin-page-awards .awards-creator-choice:nth-child(6n+3){--choice-tone:#55d6e7}
.admin-page-awards .awards-creator-choice:nth-child(6n+4){--choice-tone:#ed7bc8}
.admin-page-awards .awards-creator-choice:nth-child(6n+5){--choice-tone:#f0bd63}
.admin-page-awards .awards-creator-choice:nth-child(6n+6){--choice-tone:#63d59a}
.admin-page-awards .awards-creator-choice:nth-child(6n+7){--choice-tone:#6aa9ff}
.admin-page-awards .awards-creator-choice:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--choice-tone) 30%,transparent)}
.admin-page-awards .awards-creator-choice input{position:absolute;opacity:0;pointer-events:none}
.admin-page-awards .awards-creator-choice>i{display:grid;place-items:center;width:16px;height:16px;border:1px solid color-mix(in srgb,var(--choice-tone) 40%,#4a4f5c);border-radius:50%;background:#090d13}
.admin-page-awards .awards-creator-choice>i::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--choice-tone);transform:scale(0);transition:transform .15s ease;box-shadow:0 0 10px color-mix(in srgb,var(--choice-tone) 55%,transparent)}
.admin-page-awards .awards-creator-choice input:checked+i::after{transform:scale(1)}
.admin-page-awards .awards-creator-choice:has(input:checked){border-color:color-mix(in srgb,var(--choice-tone) 38%,transparent);background:color-mix(in srgb,var(--choice-tone) 7%,#0b0f16)}
.admin-page-awards .awards-creator-choice>span{display:grid;gap:2px;min-width:0}
.admin-page-awards .awards-creator-choice b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;color:#eeedf3}
.admin-page-awards .awards-creator-choice small{font-size:.5rem;color:#6f7481}
.admin-page-awards .awards-creator-choice.is-empty{--choice-tone:#717887;grid-column:1/-1;min-height:43px}
.admin-page-awards .awards-creator-pick-submit{width:100%;min-height:38px;justify-content:center;font-size:.62rem!important}

@media (max-width:1450px){
  .stream-game-grid-v88{grid-template-columns:repeat(4,minmax(0,1fr))}
  .game-library-filters-v88{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(150px,.8fr));}
  .game-library-filters-v88 select:nth-of-type(3),.game-library-filters-v88 select:nth-of-type(4){grid-row:2}
}
@media (max-width:1120px){
  .game-library-metrics-v88{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stream-game-grid-v88{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-page-awards .awards-admin-results-grid{grid-template-columns:1fr}
}
@media (max-width:780px){
  .game-library-metrics-v88{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stream-game-grid-v88{grid-template-columns:repeat(2,minmax(0,1fr))}
  .game-library-filters-v88{grid-template-columns:1fr 1fr}
  .game-library-filters-v88 .inspiration-search{grid-column:1/-1}
  .game-editor-v88 .game-editor-row-3{grid-template-columns:1fr}
  .game-poll-selection-v88{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-page-awards .awards-creator-choice-grid{grid-template-columns:1fr}
  .admin-page-awards .awards-creator-choice.is-empty{grid-column:auto}
}
@media (max-width:520px){
  .game-library-metrics-v88{grid-template-columns:1fr 1fr}
  .game-library-metrics-v88>a,.game-library-metrics-v88>div{min-height:80px;padding:12px}
  .stream-game-grid-v88{grid-template-columns:1fr 1fr;gap:8px}
  .game-card-v88 .stream-game-actions-minimal{grid-template-columns:1fr}
  .game-card-v88 .game-card-poll-toggle{grid-column:auto}
  .game-library-filters-v88{grid-template-columns:1fr}
  .game-library-filters-v88 .inspiration-search{grid-column:auto}
  .game-poll-selection-v88{grid-template-columns:1fr}
}

/* ========================================================================== 
   V89 — Bibliothèque de stream : cartes paysage lisibles + actions sans saut
   ========================================================================== */
.stream-game-grid-v89{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.game-card-v89{
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(155deg,#10151f,#090d14 68%);
}
.game-card-v89 .stream-game-cover{
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  aspect-ratio:16/9;
  min-height:0;
  overflow:hidden;
  background:#090d14;
}
.game-card-v89 .stream-game-cover-backdrop{
  position:absolute;
  z-index:0;
  inset:-20px;
  background-position:center;
  background-size:cover;
  filter:blur(20px) saturate(.85);
  opacity:.32;
  transform:scale(1.08);
}
.game-card-v89 .stream-game-cover::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(4,7,12,.02) 55%,rgba(4,7,12,.38));
}
.game-card-v89 .stream-game-cover img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.game-card-v89 .stream-game-cover-empty{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  font-size:2.5rem;
  background:radial-gradient(circle at 50% 40%,rgba(123,92,255,.13),transparent 58%);
}
.game-card-v89 .game-poll-state{
  z-index:4;
  left:10px;
  top:10px;
  right:auto;
  bottom:auto;
  max-width:calc(100% - 20px);
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}
.game-card-v89 .stream-game-copy{
  gap:9px;
  padding:14px 14px 10px;
}
.game-card-v89 .stream-game-copy h3{
  font-size:.9rem;
  line-height:1.25;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.game-card-v89 .game-card-profiles{
  min-height:0;
  gap:6px;
}
.game-card-v89 .game-card-profiles span{
  max-width:none;
  overflow:visible;
  white-space:normal;
  text-overflow:clip;
  line-height:1.2;
}
.game-card-v89 .game-card-meta{
  padding-top:2px;
}
.game-card-v89 .game-card-meta span{
  font-size:.55rem;
}
.game-card-v89 .stream-game-actions-minimal{
  gap:7px;
  padding:2px 14px 14px;
}
.game-card-v89 .game-card-poll-toggle button{
  transition:border-color .16s ease,background .16s ease,color .16s ease,opacity .16s ease;
}
.game-card-v89 .game-card-poll-toggle button[aria-busy="true"]{
  opacity:.55;
  cursor:wait;
}
.game-card-v89.poll-disabled{
  opacity:.72;
}
.game-card-v89.poll-disabled .stream-game-cover img{
  filter:saturate(.72);
}
.game-card-v89.is-toggle-error{
  animation:v89-card-error .28s ease;
}
@keyframes v89-card-error{
  0%,100%{transform:translateX(0)}
  35%{transform:translateX(-4px)}
  70%{transform:translateX(4px)}
}
.admin-page-awards .awards-game-card-form .media-picker-field{
  margin:0;
}
.admin-page-awards .awards-game-card-form .media-field-layout{
  grid-template-columns:84px minmax(0,1fr);
}
.admin-page-awards .awards-game-card-form .media-field-preview{
  min-height:76px;
}

@media (max-width:1500px){
  .stream-game-grid-v89{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1080px){
  .stream-game-grid-v89{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  .stream-game-grid-v89{grid-template-columns:1fr}
  .game-card-v89 .stream-game-cover{aspect-ratio:16/9}
  .admin-page-awards .awards-game-card-form .media-field-layout{grid-template-columns:1fr}
  .admin-page-awards .awards-game-card-form .media-field-preview{min-height:130px}
}

/* ========================================================================== 
   V90 — Bibliothèque de stream compacte + gestion des sondages séparée
   ========================================================================== */
.game-poll-manage-button.active{
  border-color:rgba(75,225,171,.35);
  background:rgba(32,180,127,.10);
  color:#7cf0c1;
}
.game-poll-manage-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid rgba(75,225,171,.20);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(35,190,134,.08),rgba(17,24,36,.82));
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.game-poll-manage-strip>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}
.game-poll-manage-strip>div>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(69,223,166,.12);color:#62e8b2}
.game-poll-manage-strip strong{font-size:.78rem;color:#f2f6fb}
.game-poll-manage-strip small{font-size:.58rem;color:#8190a7}
.game-poll-manage-strip>b{white-space:nowrap;font-size:.65rem;color:#7ceabe;padding:7px 10px;border-radius:999px;background:rgba(39,199,143,.08)}
.game-poll-manage-strip.is-updated{border-color:rgba(89,241,182,.48);box-shadow:0 0 0 3px rgba(50,210,153,.06)}

.stream-game-grid-v90{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.game-card-v90{
  min-width:0;
  border-radius:14px;
  background:#0d121b;
  border:1px solid rgba(139,154,181,.13);
  overflow:hidden;
  opacity:1;
  filter:none;
}
.game-card-v90:hover{
  border-color:rgba(123,92,255,.34);
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(0,0,0,.22);
}
.game-card-v90 .stream-game-cover{
  aspect-ratio:2/3;
  min-height:0;
  background:#070b12;
  overflow:hidden;
}
.game-card-v90 .stream-game-cover::after,
.game-card-v90 .stream-game-cover-backdrop{display:none}
.game-card-v90 .stream-game-cover img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.game-card-v90 .stream-game-cover-empty{font-size:2rem;background:linear-gradient(145deg,#161b27,#0b0f17)}
.game-card-v90 .stream-game-copy{
  padding:10px 10px 8px;
  gap:7px;
  min-height:84px;
}
.game-card-v90 .stream-game-copy h3{
  margin:0;
  font-size:.72rem;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.game-card-v90 .game-card-profiles{gap:4px;min-height:20px;overflow:hidden}
.game-card-v90 .game-card-profiles span{
  padding:3px 6px;
  font-size:.48rem;
  line-height:1.1;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.game-card-v90 .game-card-meta{gap:5px;font-size:.48rem;min-height:16px}
.game-card-v90 .game-card-meta span{font-size:.48rem}
.game-card-v90 .stream-game-actions-minimal{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  padding:0 10px 10px;
}
.game-card-v90 .stream-game-actions-minimal>.small-button,
.game-card-v90 .stream-game-actions-minimal .game-card-poll-toggle button{
  min-height:32px;
  width:100%;
  justify-content:center;
  padding:6px 7px;
  font-size:.55rem;
}
.game-card-v90 .game-card-poll-toggle{grid-column:1/-1;margin:0}
.game-card-v90 .game-card-poll-toggle .is-disable{border-color:rgba(255,92,122,.22);color:#ff879d;background:rgba(255,68,101,.05)}
.game-card-v90 .game-card-poll-toggle .is-enable{border-color:rgba(76,224,166,.22);color:#70eab8;background:rgba(42,197,140,.06)}
.game-card-v90 .game-poll-state{
  left:7px;
  top:7px;
  max-width:calc(100% - 14px);
  padding:5px 7px;
  font-size:.48rem;
  backdrop-filter:blur(10px);
}
.stream-game-grid-v90:not(.poll-management-mode) .game-card-v90{
  opacity:1!important;
  filter:none!important;
}
.stream-game-grid-v90.poll-management-mode .game-card-v90.poll-disabled{
  opacity:.55;
  filter:saturate(.55);
}
.stream-game-grid-v90.poll-management-mode .game-card-v90.poll-disabled:hover{opacity:.78}

/* Awards : l'éditeur d'un nominé s'ouvre en panneau modal au lieu d'étirer une colonne. */
.admin-page-awards .awards-admin-game-card>details[open]{
  position:fixed;
  z-index:10050;
  inset:0;
  width:auto;
  height:auto;
  padding:5vh 18px 32px;
  overflow:auto;
  display:grid;
  grid-template-columns:minmax(0,720px);
  align-content:start;
  justify-content:center;
  background:rgba(3,6,12,.86);
  backdrop-filter:blur(12px);
}
.admin-page-awards .awards-admin-game-card>details[open]>summary{
  position:relative;
  z-index:1;
  padding:14px 16px;
  border:1px solid rgba(128,108,255,.24);
  border-bottom:0;
  border-radius:18px 18px 0 0;
  background:#121722;
  box-shadow:0 -18px 55px rgba(0,0,0,.38);
}
.admin-page-awards .awards-admin-game-card>details[open]>summary>span{font-size:0}
.admin-page-awards .awards-admin-game-card>details[open]>summary>span::after{content:"Fermer ×";font-size:.65rem;color:#b7acd9}
.admin-page-awards .awards-admin-game-card>details[open]>.awards-game-card-form{
  padding:16px;
  border:1px solid rgba(128,108,255,.24);
  border-top:1px solid rgba(255,255,255,.06);
  background:#0d121b;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.admin-page-awards .awards-admin-game-card>details[open]>.awards-game-card-form>.form-group,
.admin-page-awards .awards-admin-game-card>details[open]>.awards-game-card-form>.media-picker-field,
.admin-page-awards .awards-admin-game-card>details[open]>.awards-game-card-form>.awards-category-checks,
.admin-page-awards .awards-admin-game-card>details[open]>.awards-game-card-form>button{
  grid-column:1/-1;
}
.admin-page-awards .awards-admin-game-card>details[open]>.awards-game-card-form>.form-grid{grid-column:1/-1}
.admin-page-awards .awards-admin-game-card>details[open]>.danger-zone-inline{
  padding:10px 16px 16px;
  border:1px solid rgba(128,108,255,.24);
  border-top:0;
  border-radius:0 0 18px 18px;
  background:#0d121b;
}

@media (min-width:1900px){.stream-game-grid-v90{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media (min-width:1650px) and (max-width:1899px){.stream-game-grid-v90{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media (max-width:1400px){.stream-game-grid-v90{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:1160px){.stream-game-grid-v90{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.stream-game-grid-v90{grid-template-columns:repeat(3,minmax(0,1fr))}.game-poll-manage-strip{align-items:flex-start;flex-direction:column}}
@media (max-width:640px){
  .stream-game-grid-v90{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .game-card-v90 .stream-game-actions-minimal{grid-template-columns:1fr}
  .game-card-v90 .game-card-poll-toggle{grid-column:auto}
  .admin-page-awards .awards-admin-game-card>details[open]{padding:12px 8px}
  .admin-page-awards .awards-admin-game-card>details[open]>.awards-game-card-form{grid-template-columns:1fr}
}
.game-card-v90 .stream-game-cover img.is-fallback-wide{object-fit:contain;background:#090d14}

/* ========================================================================== 
   V91 — Bibliothèque Steam horizontale + vrai mode gestion des sondages
   ========================================================================== */
.game-poll-manage-button{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:6px 9px 6px 7px;
  border:1px solid rgba(133,110,255,.24);
  border-radius:13px;
  color:#edf0f8;
  text-decoration:none;
  background:linear-gradient(145deg,rgba(123,92,255,.09),rgba(16,22,33,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.game-poll-manage-button:hover{
  transform:translateY(-1px);
  border-color:rgba(145,123,255,.48);
  box-shadow:0 10px 24px rgba(0,0,0,.18),0 0 0 3px rgba(123,92,255,.055);
}
.game-poll-manage-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  color:#b9aaff;
  background:rgba(123,92,255,.12);
  border:1px solid rgba(138,116,255,.18);
  font-size:.8rem;
}
.game-poll-manage-copy{display:flex;min-width:0;flex-direction:column;line-height:1.1}
.game-poll-manage-copy strong{font-size:.63rem;font-weight:850;color:#f4f5fb}
.game-poll-manage-copy small{margin-top:4px;font-size:.49rem;color:#7d879a;font-weight:650}
.game-poll-manage-status{
  min-width:38px;
  padding:5px 7px;
  border-radius:999px;
  text-align:center;
  font-size:.45rem;
  font-weight:950;
  letter-spacing:.08em;
  color:#968da9;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.035);
}
.game-poll-manage-button.active{
  border-color:rgba(72,231,171,.42);
  color:#eafff7;
  background:linear-gradient(145deg,rgba(28,196,136,.17),rgba(9,35,31,.92));
  box-shadow:0 0 0 3px rgba(43,214,152,.055),0 12px 30px rgba(0,0,0,.18);
}
.game-poll-manage-button.active:hover{border-color:rgba(91,245,190,.62);box-shadow:0 0 0 4px rgba(43,214,152,.07),0 14px 30px rgba(0,0,0,.22)}
.game-poll-manage-button.active .game-poll-manage-icon{
  color:#79f2c2;
  border-color:rgba(73,231,171,.28);
  background:rgba(43,214,152,.13);
}
.game-poll-manage-button.active .game-poll-manage-copy small{color:#79bca5}
.game-poll-manage-button.active .game-poll-manage-status{
  color:#89f4ca;
  border-color:rgba(73,231,171,.26);
  background:rgba(43,214,152,.11);
  box-shadow:0 0 18px rgba(43,214,152,.08);
}

/* On garde exactement la densité de V90, mais avec les capsules horizontales Steam. */
.game-card-v90 .stream-game-cover{
  aspect-ratio:460/215;
  min-height:0;
  background:#070b12;
  overflow:hidden;
}
.game-card-v90 .stream-game-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.game-card-v90 .stream-game-cover img.is-fallback-wide{
  object-fit:contain;
  background:#070b12;
}
.game-card-v90 .stream-game-copy{
  min-height:78px;
  padding:9px 9px 7px;
}
.game-card-v90 .stream-game-actions-minimal{padding:0 9px 9px}

@media (max-width:640px){
  .game-poll-manage-button{width:100%;grid-template-columns:32px minmax(0,1fr) auto}
}

/* ========================================================================== 
   V92 — Awards admin : nominations verticales, éditeur modal fiable, résultats en onglets
   ========================================================================== */
.admin-page-awards .awards-admin-game-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:11px;
  align-items:start;
}
.admin-page-awards .awards-admin-game-card{
  overflow:hidden;
  border-radius:14px;
  background:linear-gradient(155deg,#10141d,#0a0e15 70%);
  border-color:rgba(150,160,184,.12);
}
.admin-page-awards .awards-admin-game-cover{
  aspect-ratio:2/3;
  min-height:0;
  background:#080b11;
}
.admin-page-awards .awards-admin-game-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.admin-page-awards .awards-admin-game-cover>b{
  top:7px;
  right:7px;
  max-width:calc(100% - 14px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:4px 6px;
  background:rgba(5,8,14,.72);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}
.admin-page-awards .awards-admin-game-card-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:9px 9px 10px;
}
.admin-page-awards .awards-admin-game-card-footer>div{min-width:0;display:grid;gap:2px}
.admin-page-awards .awards-admin-game-card-footer strong,
.admin-page-awards .awards-admin-game-card-footer small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-page-awards .awards-admin-game-card-footer strong{font-size:.67rem;color:#f1f2f6}
.admin-page-awards .awards-admin-game-card-footer small{font-size:.5rem;color:#6f7787}
.admin-page-awards .awards-game-edit-button{
  min-height:28px;
  padding:0 8px;
  border:1px solid rgba(131,103,255,.22);
  border-radius:8px;
  background:rgba(123,92,255,.07);
  color:#b9aaff;
  font-size:.53rem;
  font-weight:850;
  cursor:pointer;
}
.admin-page-awards .awards-game-edit-button:hover{border-color:rgba(131,103,255,.42);background:rgba(123,92,255,.13);color:#fff}

html.awards-dialog-open{overflow:hidden}
.admin-page-awards .awards-game-dialog{
  width:min(920px,calc(100vw - 30px));
  max-width:none;
  max-height:calc(100dvh - 30px);
  margin:auto;
  padding:0;
  border:0;
  border-radius:20px;
  color:#eef1f7;
  background:transparent;
  box-shadow:0 32px 90px rgba(0,0,0,.62);
  overflow:hidden;
}
.admin-page-awards .awards-game-dialog[open]{display:block}
.admin-page-awards .awards-game-dialog::backdrop{
  background:rgba(3,6,11,.82);
  backdrop-filter:blur(12px);
}
.admin-page-awards .awards-game-dialog-shell{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  max-height:calc(100dvh - 30px);
  border:1px solid rgba(137,113,255,.24);
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(155deg,#121823,#0b1018 72%);
}
.admin-page-awards .awards-game-dialog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 17px;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.018);
}
.admin-page-awards .awards-game-dialog-head>div{display:grid;gap:3px;min-width:0}
.admin-page-awards .awards-game-dialog-head h3{margin:0;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-page-awards .awards-game-dialog-close{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  background:#0b0f17;
  color:#aab0bf;
  font-size:1.1rem;
  cursor:pointer;
}
.admin-page-awards .awards-game-dialog-close:hover{color:#fff;border-color:rgba(255,255,255,.2)}
.admin-page-awards .awards-game-dialog-body{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:16px;
  min-height:0;
  padding:16px;
  overflow:auto;
}
.admin-page-awards .awards-game-dialog-preview{display:grid;align-content:start;gap:9px;position:sticky;top:0}
.admin-page-awards .awards-game-dialog-poster{
  aspect-ratio:2/3;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:#080c12;
}
.admin-page-awards .awards-game-dialog-poster img{width:100%;height:100%;object-fit:cover;display:block}
.admin-page-awards .awards-game-dialog-poster span{display:grid;place-items:center;width:100%;height:100%;font-size:2rem}
.admin-page-awards .awards-game-dialog-preview>div:last-child{display:grid;gap:2px;padding:0 2px}
.admin-page-awards .awards-game-dialog-preview strong{font-size:.72rem;color:#f4f3f8}
.admin-page-awards .awards-game-dialog-preview small{font-size:.55rem;color:#70798b}
.admin-page-awards .awards-game-dialog-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  padding:0;
  border:0;
}
.admin-page-awards .awards-game-dialog-form>.form-group,
.admin-page-awards .awards-game-dialog-form>.media-picker-field,
.admin-page-awards .awards-game-dialog-form>.awards-category-checks,
.admin-page-awards .awards-game-dialog-form>.awards-game-dialog-actions{grid-column:1/-1}
.admin-page-awards .awards-game-dialog-form>.form-grid{grid-column:1/-1}
.admin-page-awards .awards-game-dialog-form .media-field-layout{grid-template-columns:100px minmax(0,1fr)}
.admin-page-awards .awards-game-dialog-form .media-field-preview{min-height:92px}
.admin-page-awards .awards-game-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:3px}
.admin-page-awards .awards-game-dialog-danger{
  display:flex;
  justify-content:flex-start;
  padding:11px 16px 14px;
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(255,70,94,.018);
}

.admin-page-awards .awards-results-panel-v92{overflow:hidden}
.admin-page-awards .awards-results-heading-v92{margin-bottom:10px}
.admin-page-awards .awards-results-tabs-v92{
  display:flex;
  gap:7px;
  margin:0 -2px 11px;
  padding:2px 2px 7px;
  overflow-x:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(123,92,255,.35) transparent;
}
.admin-page-awards .awards-results-tab-v92{
  --awards-result-tone:var(--tone,#8a6cff);
  display:grid;
  grid-template-columns:8px minmax(112px,1fr);
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  min-width:150px;
  max-width:205px;
  min-height:52px;
  padding:8px 10px;
  text-align:left;
  border:1px solid rgba(255,255,255,.06);
  border-radius:11px;
  background:#0b1017;
  color:#8f97a6;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;
}
.admin-page-awards .awards-results-tab-v92:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--awards-result-tone) 25%,transparent);color:#daddE6}
.admin-page-awards .awards-results-tab-v92.is-active{
  border-color:color-mix(in srgb,var(--awards-result-tone) 38%,transparent);
  background:color-mix(in srgb,var(--awards-result-tone) 8%,#0b1017);
  color:#fff;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--awards-result-tone) 7%,transparent);
}
.admin-page-awards .awards-results-tab-v92 .awards-category-dot{width:7px;height:7px;--cat-color:var(--awards-result-tone)}
.admin-page-awards .awards-results-tab-v92>span:last-child{display:grid;gap:2px;min-width:0}
.admin-page-awards .awards-results-tab-v92 strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem}
.admin-page-awards .awards-results-tab-v92 small{font-size:.49rem;color:#6e7687;white-space:nowrap}
.admin-page-awards .awards-results-tab-v92.is-active small{color:color-mix(in srgb,var(--awards-result-tone) 50%,#8992a3)}
.admin-page-awards .awards-results-stage-v92{min-height:260px}
.admin-page-awards .awards-admin-result-card-v92{
  display:none;
  padding:14px;
  border-radius:14px;
}
.admin-page-awards .awards-admin-result-card-v92.is-active{display:block}
.admin-page-awards .awards-admin-result-card-v92[hidden]{display:none!important}
.admin-page-awards .awards-admin-result-heading-v92{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.055)}
.admin-page-awards .awards-admin-result-heading-v92>div:nth-child(2){min-width:0}
.admin-page-awards .awards-admin-result-heading-v92 strong{display:block;font-size:.82rem}
.admin-page-awards .awards-admin-result-heading-v92 small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.53rem}
.admin-page-awards .awards-result-category-total-v92{display:flex!important;align-items:baseline;gap:4px;white-space:nowrap}
.admin-page-awards .awards-result-category-total-v92 b{font-size:1rem;color:#f5f4fa}
.admin-page-awards .awards-result-category-total-v92 span{font-size:.51rem;color:#737b89}
.admin-page-awards .awards-result-layout-v92{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:14px;
  align-items:start;
  padding-top:12px;
}
.admin-page-awards .awards-result-column-head-v92{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px}
.admin-page-awards .awards-result-column-head-v92 strong{font-size:.65rem;color:#ebeaf0}
.admin-page-awards .awards-result-column-head-v92 span{font-size:.5rem;color:#697180}
.admin-page-awards .awards-result-community-v92 .awards-result-ranking{margin:0;gap:6px}
.admin-page-awards .awards-creator-pick-v92{margin:0;padding:11px;border:1px solid rgba(255,255,255,.055);border-radius:12px;background:rgba(255,255,255,.016)}
.admin-page-awards .awards-creator-pick-v92 .awards-creator-choice-grid{grid-template-columns:1fr 1fr;gap:6px}
.admin-page-awards .awards-creator-pick-v92 .awards-creator-choice{min-height:45px;padding:7px 8px}
.admin-page-awards .awards-creator-pick-v92 .awards-creator-choice.is-empty{grid-column:1/-1;min-height:39px}
.admin-page-awards .awards-creator-pick-v92 .awards-creator-pick-submit{min-height:34px}
.admin-page-awards .awards-result-empty-v92{display:grid;place-items:center;align-content:center;min-height:210px;text-align:center;color:#747c8b}
.admin-page-awards .awards-result-empty-v92>span{font-size:1.5rem;color:var(--awards-result-tone,#8a6cff)}
.admin-page-awards .awards-result-empty-v92 strong{margin-top:7px;font-size:.72rem;color:#d8dbe4}
.admin-page-awards .awards-result-empty-v92 p{max-width:360px;margin:4px 0 0;font-size:.56rem;line-height:1.45}
.admin-page-awards .awards-results-panel-v92 .awards-reset-votes{margin-top:10px}

@media (max-width:1350px){
  .admin-page-awards .awards-admin-game-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:1080px){
  .admin-page-awards .awards-admin-game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .admin-page-awards .awards-result-layout-v92{grid-template-columns:1fr}
  .admin-page-awards .awards-game-dialog-body{grid-template-columns:155px minmax(0,1fr)}
}
@media (max-width:760px){
  .admin-page-awards .awards-admin-game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-page-awards .awards-game-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
  .admin-page-awards .awards-game-dialog-shell{max-height:calc(100dvh - 16px)}
  .admin-page-awards .awards-game-dialog-body{grid-template-columns:1fr}
  .admin-page-awards .awards-game-dialog-preview{position:static;grid-template-columns:92px minmax(0,1fr);align-items:center}
  .admin-page-awards .awards-game-dialog-poster{width:92px}
  .admin-page-awards .awards-game-dialog-form{grid-template-columns:1fr}
  .admin-page-awards .awards-game-dialog-form .media-field-layout{grid-template-columns:1fr}
  .admin-page-awards .awards-creator-pick-v92 .awards-creator-choice-grid{grid-template-columns:1fr}
  .admin-page-awards .awards-creator-pick-v92 .awards-creator-choice.is-empty{grid-column:auto}
}
@media (max-width:520px){
  .admin-page-awards .awards-admin-game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .admin-page-awards .awards-admin-game-card-footer{grid-template-columns:1fr;padding:8px}
  .admin-page-awards .awards-game-edit-button{width:100%}
  .admin-page-awards .awards-results-tab-v92{min-width:140px}
}

/* ========================================================================== 
   V93 — Awards : la bibliothèque média passe réellement au-dessus de l'éditeur
   ========================================================================== */
html.awards-dialog-open { overflow:hidden; }
.admin-page-awards .awards-game-dialog[hidden] { display:none !important; }
.admin-page-awards .awards-game-dialog {
  position:fixed;
  z-index:520;
  inset:0;
  width:auto;
  max-width:none;
  max-height:none;
  margin:0;
  padding:15px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .14s ease,visibility 0s linear .14s;
}
.admin-page-awards .awards-game-dialog.is-open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .14s ease;
}
.admin-page-awards .awards-game-dialog-backdrop {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:rgba(3,6,11,.82);
  backdrop-filter:blur(12px);
  cursor:default;
}
.admin-page-awards .awards-game-dialog-shell {
  position:relative;
  z-index:1;
  width:min(920px,calc(100vw - 30px));
  max-height:calc(100dvh - 30px);
  box-shadow:0 32px 90px rgba(0,0,0,.62);
  transform:translateY(8px) scale(.992);
  transition:transform .14s ease;
}
.admin-page-awards .awards-game-dialog.is-open .awards-game-dialog-shell {
  transform:none;
}
/* L'ancienne règle ::backdrop ne sert plus : l'éditeur n'utilise volontairement
   plus le top-layer natif des <dialog>, afin que le sélecteur média puisse le recouvrir. */
.admin-page-awards .awards-game-dialog::backdrop { display:none; }

/* La bibliothèque d'images est le niveau supérieur de l'interface. */
.admin-page-awards .media-modal { z-index:900; }
.admin-page-awards .media-modal-backdrop { background:rgba(2,3,7,.90); }
.admin-page-awards .media-modal-dialog {
  box-shadow:0 42px 130px rgba(0,0,0,.76),0 0 0 1px rgba(255,255,255,.02);
}


/* V94 — Agenda : duplication rapide, Alt + glisser et menu contextuel */
.workspace-agenda-shortcuts {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin:9px 0 12px;
  color:#8c96a9;
  font-size:.62rem;
  font-weight:800;
}
.workspace-agenda-shortcuts span {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:5px 9px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.workspace-agenda-shortcuts kbd {
  display:inline-grid;
  place-items:center;
  min-width:25px;
  min-height:20px;
  padding:2px 6px;
  border:1px solid rgba(156,132,255,.34);
  border-bottom-color:rgba(156,132,255,.18);
  border-radius:6px;
  background:rgba(123,92,255,.13);
  color:#d7ceff;
  font:900 .57rem/1 system-ui,sans-serif;
  letter-spacing:.035em;
  box-shadow:0 2px 0 rgba(48,34,92,.65);
}
.creator-workspace-agenda.is-copy-mode .workspace-agenda-shortcuts span:nth-child(2) {
  border-color:rgba(46,211,167,.42);
  background:rgba(46,211,167,.1);
  color:#9af1d4;
}
.workspace-day.is-copy-target,
.workspace-month-day.is-copy-target {
  outline:2px solid rgba(46,211,167,.78);
  outline-offset:-2px;
  border-color:rgba(46,211,167,.62) !important;
  background:linear-gradient(145deg,rgba(20,72,58,.31),rgba(24,34,51,.92)) !important;
  box-shadow:inset 0 0 0 1px rgba(46,211,167,.12),0 0 26px rgba(46,211,167,.08);
}
.workspace-agenda-card.is-copy-dragging,
.workspace-month-chip.is-copy-dragging,
.workspace-unscheduled-item.is-copy-dragging {
  opacity:.72 !important;
  transform:scale(.985);
  box-shadow:0 0 0 2px rgba(46,211,167,.45),0 12px 28px rgba(0,0,0,.34);
}
.workspace-agenda-card.is-copy-dragging::after,
.workspace-month-chip.is-copy-dragging::after,
.workspace-unscheduled-item.is-copy-dragging::after {
  content:"COPIE";
  position:absolute;
  top:5px;
  right:5px;
  z-index:3;
  padding:3px 5px;
  border:1px solid rgba(46,211,167,.45);
  border-radius:5px;
  background:rgba(9,30,25,.92);
  color:#87edca;
  font-size:.46rem;
  font-weight:950;
  letter-spacing:.08em;
  pointer-events:none;
}
.workspace-month-chip,
.workspace-unscheduled-item { position:relative; }
.workspace-drag-status.is-copying { color:#7be6c1; }
.workspace-agenda-context-menu {
  position:fixed;
  z-index:10050;
  width:min(285px,calc(100vw - 20px));
  padding:7px;
  border:1px solid rgba(140,117,255,.28);
  border-radius:14px;
  background:
    radial-gradient(circle at 100% 0,rgba(123,92,255,.14),transparent 43%),
    linear-gradient(180deg,rgba(21,23,32,.99),rgba(11,13,19,.99));
  box-shadow:0 24px 65px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(18px);
  transform-origin:top left;
  animation:workspace-context-in .13s ease-out both;
}
.workspace-agenda-context-menu[hidden] { display:none !important; }
@keyframes workspace-context-in {
  from { opacity:0; transform:translateY(-3px) scale(.975); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
.workspace-context-title {
  overflow:hidden;
  padding:7px 9px 8px;
  color:#eef1f7;
  font-size:.68rem;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.workspace-agenda-context-menu button {
  display:grid;
  grid-template-columns:32px 1fr;
  align-items:center;
  gap:9px;
  width:100%;
  padding:9px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#d8deea;
  text-align:left;
  cursor:pointer;
}
.workspace-agenda-context-menu button:hover,
.workspace-agenda-context-menu button:focus-visible {
  outline:none;
  background:linear-gradient(90deg,rgba(123,92,255,.17),rgba(46,211,167,.07));
}
.workspace-agenda-context-menu button > span {
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border:1px solid rgba(123,92,255,.25);
  border-radius:9px;
  background:rgba(123,92,255,.1);
  color:#cfc3ff;
  font-size:.85rem;
  font-weight:900;
}
.workspace-agenda-context-menu button div {
  display:grid;
  gap:2px;
  min-width:0;
}
.workspace-agenda-context-menu button strong {
  color:#f3f5f9;
  font-size:.68rem;
}
.workspace-agenda-context-menu button small {
  color:#737e92;
  font-size:.56rem;
}
@media (max-width:720px) {
  .workspace-agenda-shortcuts { gap:5px; }
  .workspace-agenda-shortcuts span { padding:4px 7px; font-size:.56rem; }
}

/* V99 — personnalisation publique liée au compte Twitch */
.personalized-section {
  position:relative;
  margin-top:clamp(28px,4vw,54px);
  padding:clamp(18px,2vw,26px) 0 4px;
}
.personalized-section::before {
  content:"";
  position:absolute;
  inset:0 -18px auto;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(123,92,255,.34),rgba(42,220,231,.2),transparent);
  pointer-events:none;
}
.personalized-heading { align-items:flex-end; gap:18px; }
.personalized-heading-actions { display:flex; align-items:center; gap:12px; }
.personalized-eyebrow {
  display:block;
  margin-bottom:5px;
  color:#9e8aff;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.15em;
}
.personalized-recommendations .personalized-eyebrow { color:#58dbe8; }
.personalized-favorites .personalized-eyebrow { color:#ff72b9; }
.viewer-genre-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.viewer-genre-chips span {
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 9px;
  border:1px solid rgba(91,212,224,.19);
  border-radius:999px;
  background:rgba(40,181,196,.08);
  color:#b7edf1;
  font-size:.61rem;
  font-weight:800;
}
.personalized-progress-card .release-card-visual { position:relative; }
.viewer-progress-track,
.viewer-episode-progress {
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;
  height:5px;
  overflow:hidden;
  background:rgba(255,255,255,.12);
}
.viewer-progress-track i,
.viewer-episode-progress i {
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#7654ff,#4d78ff,#42d6db);
  box-shadow:0 0 14px rgba(91,101,255,.55);
}
.viewer-progress-copy {
  margin-top:auto;
  color:#a9b1c4;
  font-size:.68rem;
  font-weight:750;
}
.personalized-poster-rail { align-items:stretch; }
.personal-series-card {
  position:relative;
  min-width:0;
  scroll-snap-align:start;
  transition:opacity .2s ease, transform .2s ease;
}
.personal-series-card.is-removing { opacity:0; transform:scale(.96); }
.personal-series-card > .series-poster-card { display:block; height:100%; }
.viewer-poster-title { min-height:72px; align-items:flex-start; }
.viewer-poster-title > div { min-width:0; width:100%; }
.viewer-poster-title h3 { margin-bottom:5px; }
.viewer-poster-title small {
  display:block;
  overflow:hidden;
  color:#8d93a5;
  font-size:.57rem;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.viewer-favorite-fab {
  position:absolute;
  z-index:8;
  top:9px;
  right:9px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid rgba(255,255,255,.15);
  border-radius:12px;
  color:#fff;
  background:rgba(7,9,15,.78);
  backdrop-filter:blur(12px);
  box-shadow:0 8px 22px rgba(0,0,0,.34);
  cursor:pointer;
  transition:transform .18s,border-color .18s,background .18s,color .18s;
}
.viewer-favorite-fab:hover { transform:scale(1.06); border-color:rgba(255,113,185,.5); }
.viewer-favorite-fab span { font-size:1.02rem; line-height:1; }
.viewer-favorite-fab.is-active {
  color:#ff72b9;
  border-color:rgba(255,98,175,.38);
  background:rgba(80,20,54,.76);
}
.viewer-favorite-fab:disabled { opacity:.55; cursor:wait; }
.viewer-action-toast {
  position:fixed;
  z-index:10020;
  left:50%;
  bottom:28px;
  transform:translate(-50%,18px);
  padding:11px 16px;
  border:1px solid rgba(123,92,255,.35);
  border-radius:12px;
  color:#f4f2ff;
  background:rgba(11,13,21,.95);
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s,transform .2s;
  font-size:.76rem;
  font-weight:750;
}
.viewer-action-toast.is-visible { opacity:1; transform:translate(-50%,0); }

.series-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:16px; }
.series-hero-actions > .button,
.series-hero-actions > .scheduled-release-pill { margin-top:0; }
.viewer-favorite-button {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.14);
  color:#f5f4fa;
  background:rgba(10,12,20,.56);
  backdrop-filter:blur(12px);
}
.viewer-favorite-button span { color:#ff7aba; font-size:1.05rem; }
.viewer-favorite-button strong { font:inherit; font-weight:800; }
.viewer-favorite-button.is-active { border-color:rgba(255,103,179,.35); background:rgba(72,18,50,.38); }
.episode-thumb { position:relative; }
.viewer-episode-progress { height:4px; }
.episode-item.has-viewer-progress .episode-number { color:#aa9dff; }

.viewer-resume-notice {
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 14px;
  padding:10px 13px;
  border:1px solid rgba(123,92,255,.22);
  border-radius:13px;
  background:linear-gradient(90deg,rgba(123,92,255,.11),rgba(52,189,205,.05));
}
.viewer-resume-notice > span { display:grid; place-items:center; width:31px; height:31px; border-radius:10px; background:rgba(123,92,255,.14); color:#b6a9ff; }
.viewer-resume-notice strong,.viewer-resume-notice small { display:block; }
.viewer-resume-notice strong { font-size:.73rem; }
.viewer-resume-notice small { margin-top:2px; color:#9299aa; font-size:.64rem; }

.catalogue-poster-card-shell { position:relative; min-width:0; }
.catalogue-poster-card-shell .catalogue-poster-card { display:block; height:100%; }
.catalogue-favorite-fab { top:8px; right:8px; width:32px; height:32px; }

.public-account-link-icon.is-library { color:#ff7abc; background:rgba(255,89,170,.1); }

.viewer-library-hero {
  width:min(1380px,calc(100% - 44px));
  margin:118px auto 14px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:30px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  background:radial-gradient(circle at 9% 20%,rgba(123,92,255,.15),transparent 34%),radial-gradient(circle at 90% 80%,rgba(42,205,221,.08),transparent 32%),#0d1018;
  box-shadow:0 24px 75px rgba(0,0,0,.3);
}
.viewer-library-profile { display:flex; align-items:center; gap:16px; min-width:0; }
.viewer-library-profile h1 { margin:2px 0 7px; color:#fff; font-size:clamp(1.65rem,3vw,2.7rem); letter-spacing:-.055em; }
.viewer-library-profile p { margin:0; color:#9ea5b6; }
.viewer-library-tastes { min-width:min(380px,36%); }
.viewer-library-tastes > small { display:block; margin-bottom:6px; color:#828a9d; font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.viewer-library-shell { padding-top:8px; }
.viewer-empty-personal {
  display:flex;
  align-items:center;
  gap:14px;
  padding:22px;
  border:1px dashed rgba(255,255,255,.11);
  border-radius:16px;
  background:rgba(255,255,255,.018);
}
.viewer-empty-personal > span { display:grid; place-items:center; width:43px; height:43px; border-radius:13px; color:#a697ff; background:rgba(123,92,255,.1); font-size:1.05rem; }
.viewer-empty-personal strong { display:block; color:#f1f2f6; font-size:.82rem; }
.viewer-empty-personal p { margin:4px 0 0; color:#858c9e; font-size:.7rem; }

@media (max-width:760px) {
  .personalized-heading { align-items:flex-start; }
  .personalized-heading-actions { width:100%; justify-content:space-between; }
  .viewer-library-hero { width:calc(100% - 24px); margin-top:94px; padding:20px; align-items:flex-start; flex-direction:column; }
  .viewer-library-tastes { min-width:0; width:100%; }
  .series-hero-actions { align-items:stretch; }
  .viewer-favorite-button { width:100%; justify-content:center; }
}

/* V100 — compte Leonnecorp unifié : Twitch + YouTube / Google */
.public-account-twitch-icon.is-unified,
.public-account-link-icon.is-account {
  color:#d9d1ff;
  border-color:rgba(133,103,255,.28);
  background:linear-gradient(145deg,rgba(123,92,255,.19),rgba(57,198,216,.08));
}
.public-account-link-icon.is-youtube { color:#ff7d86; background:rgba(255,72,83,.11); }

.account-auth-page {
  min-height:calc(100vh - 160px);
  display:grid;
  place-items:center;
  padding:130px 22px 70px;
  background:
    radial-gradient(circle at 20% 15%,rgba(123,92,255,.13),transparent 32%),
    radial-gradient(circle at 80% 65%,rgba(44,203,220,.08),transparent 30%);
}
.account-auth-card {
  width:min(690px,100%);
  padding:clamp(25px,4vw,42px);
  border:1px solid rgba(255,255,255,.09);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(18,21,32,.97),rgba(9,11,18,.98));
  box-shadow:0 35px 100px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.035);
}
.account-auth-heading h1 { margin:7px 0 10px; color:#fff; font-size:clamp(2rem,5vw,3.8rem); letter-spacing:-.065em; }
.account-auth-heading p { max-width:580px; margin:0; color:#969daf; line-height:1.65; }
.account-provider-stack { display:grid; gap:11px; margin-top:28px; }
.account-provider-button {
  display:grid;
  grid-template-columns:48px 1fr auto;
  align-items:center;
  gap:14px;
  min-height:76px;
  padding:12px 15px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:17px;
  color:#fff;
  background:rgba(255,255,255,.025);
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.account-provider-button:hover { transform:translateY(-2px); border-color:rgba(144,119,255,.34); background:rgba(123,92,255,.07); }
.account-provider-button.is-youtube:hover { border-color:rgba(255,86,98,.34); background:rgba(255,61,78,.055); }
.account-provider-button.is-disabled { opacity:.48; cursor:not-allowed; }
.account-provider-icon {
  display:grid;
  place-items:center;
  width:46px;height:46px;
  border-radius:14px;
  font-size:1.05rem;font-weight:950;
  background:rgba(255,255,255,.055);
}
.account-provider-button.is-twitch .account-provider-icon { color:#c8b8ff; background:rgba(145,94,255,.16); }
.account-provider-button.is-youtube .account-provider-icon { color:#ff8189; background:rgba(255,67,79,.14); }
.account-provider-button strong,.account-provider-button small { display:block; }
.account-provider-button strong { font-size:.86rem; }
.account-provider-button small { margin-top:4px; color:#8992a5; font-size:.67rem; }
.account-provider-button b { color:#828ba0; font-size:1.2rem; }
.account-auth-note {
  display:flex; gap:10px; align-items:flex-start;
  margin-top:22px; padding:13px 15px;
  border:1px solid rgba(80,211,188,.14); border-radius:14px;
  background:rgba(48,174,148,.045);
}
.account-auth-note p { margin:0; color:#8792a2; font-size:.68rem; line-height:1.55; }
.account-auth-message { margin:18px 0 0; padding:11px 13px; border-radius:12px; font-size:.71rem; font-weight:750; }
.account-auth-message.is-success { color:#baf4df; border:1px solid rgba(54,210,161,.25); background:rgba(30,145,110,.1); }
.account-auth-message.is-error { color:#ffc3cc; border:1px solid rgba(255,98,121,.25); background:rgba(181,49,70,.1); }

.viewer-account-page {
  width:min(1220px,calc(100% - 44px));
  margin:118px auto 70px;
}
.viewer-account-hero {
  display:flex; align-items:center; gap:18px;
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  background:radial-gradient(circle at 5% 30%,rgba(123,92,255,.16),transparent 35%),linear-gradient(180deg,#11141e,#0a0d14);
}
.public-account-avatar.is-xl { width:84px; height:84px; min-width:84px; border-radius:24px; font-size:1.8rem; }
.public-account-avatar.is-xl img { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.viewer-account-hero h1 { margin:3px 0 7px; color:#fff; font-size:clamp(1.7rem,4vw,3rem); letter-spacing:-.055em; }
.viewer-account-hero p { margin:0; color:#929aab; }
.viewer-account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }
.viewer-account-panel {
  padding:20px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(18,21,31,.92),rgba(10,12,18,.94));
}
.viewer-account-panel.is-wide { grid-column:1/-1; }
.viewer-account-panel-head { display:flex; justify-content:space-between; gap:16px; margin-bottom:15px; }
.viewer-account-panel-head span { color:#9d8bff; font-size:.56rem; font-weight:900; letter-spacing:.14em; }
.viewer-account-panel-head h2 { margin:4px 0 0; color:#f5f6fa; font-size:1rem; }
.viewer-account-panel-head > small { max-width:245px; color:#778094; font-size:.62rem; line-height:1.45; text-align:right; }
.linked-provider-list { display:grid; gap:9px; }
.linked-provider {
  display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:11px;
  min-height:62px; padding:9px 11px;
  border:1px solid rgba(255,255,255,.07); border-radius:14px;
  color:#e9ebf1; background:rgba(255,255,255,.022); text-decoration:none;
}
.linked-provider.is-missing:hover { border-color:rgba(123,92,255,.34); background:rgba(123,92,255,.06); }
.linked-provider-icon { display:grid; place-items:center; width:40px;height:40px;border-radius:12px;font-weight:950;background:rgba(255,255,255,.05); }
.linked-provider-icon.is-twitch { color:#c7b6ff;background:rgba(145,94,255,.14); }
.linked-provider-icon.is-google { color:#ff8b92;background:rgba(255,70,83,.12); }
.linked-provider strong,.linked-provider small { display:block; }
.linked-provider strong { font-size:.75rem; }
.linked-provider small { margin-top:3px; color:#7f889a; font-size:.61rem; }
.linked-provider-state { color:#7ce1bd; font-size:.58rem; font-weight:900; }
.linked-provider > b { color:#b2a4ff; font-size:1.05rem; }
.preferred-provider-form { display:grid; gap:8px; }
.preferred-provider-choice {
  display:grid; grid-template-columns:18px 1fr auto; align-items:center; gap:10px;
  padding:11px 12px; border:1px solid rgba(255,255,255,.07); border-radius:13px;
  color:#818a9d; background:rgba(255,255,255,.018); cursor:pointer;
}
.preferred-provider-choice.is-active { border-color:rgba(123,92,255,.3); background:rgba(123,92,255,.07); color:#c8bfff; }
.preferred-provider-choice strong { color:#eef0f5; font-size:.7rem; }
.account-security-row { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:15px; }
.account-security-row strong { color:#f0f2f7; font-size:.8rem; }
.account-security-row p { margin:4px 0 0; color:#7f8898; font-size:.66rem; line-height:1.5; }
.account-security-badge { padding:6px 9px; border:1px solid rgba(54,210,161,.26); border-radius:999px; color:#86e6c4; background:rgba(54,210,161,.08); font-size:.53rem; font-weight:950; letter-spacing:.08em; }

.account-provider-settings-section code { color:#c8bcff; word-break:break-all; }

@media (max-width:780px) {
  .viewer-account-page { width:calc(100% - 24px); margin-top:94px; }
  .viewer-account-hero { align-items:flex-start; padding:20px; }
  .public-account-avatar.is-xl { width:62px; height:62px; min-width:62px; border-radius:18px; }
  .viewer-account-grid { grid-template-columns:1fr; }
  .viewer-account-panel.is-wide { grid-column:auto; }
  .viewer-account-panel-head { flex-direction:column; }
  .viewer-account-panel-head > small { max-width:none; text-align:left; }
  .account-security-row { align-items:flex-start; flex-direction:column; }
}

/* V101 — Google public, confidentialité et comptes durables */
.settings-note.is-success { border-left-color:rgba(54,210,161,.72); background:rgba(54,210,161,.065); }
.settings-note.is-success strong { color:#9aebcf; }
.settings-note.is-warning { border-left-color:rgba(255,181,71,.72); background:rgba(255,181,71,.055); }
.settings-note.is-warning strong { color:#ffd18d; }
.oauth-production-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:14px; }
.oauth-production-grid .settings-note { margin-top:0; min-width:0; }
.oauth-production-checklist { display:grid; gap:7px; margin-top:15px; padding:15px 16px; border:1px solid rgba(123,92,255,.18); border-radius:14px; background:rgba(123,92,255,.045); }
.oauth-production-checklist > strong { color:#ece9ff; font-size:.8rem; }
.oauth-production-checklist > span { color:#939aac; font-size:.68rem; line-height:1.55; }
.oauth-production-checklist code,.google-youtube-advanced-toggle code { color:#c9c0ff; }
.google-youtube-advanced-toggle { margin-top:15px; }

.account-auth-legal { margin:16px 0 0; color:#747d90; font-size:.62rem; line-height:1.55; text-align:center; }
.account-auth-legal a { color:#a99cff; text-decoration:none; }
.account-auth-legal a:hover { text-decoration:underline; }
.viewer-youtube-upgrade { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:10px; margin-top:11px; padding:10px 12px; border:1px solid rgba(255,85,96,.13); border-radius:13px; color:#eef0f4; background:rgba(255,70,82,.035); text-decoration:none; }
.viewer-youtube-upgrade:hover { border-color:rgba(255,85,96,.28); background:rgba(255,70,82,.065); }
.viewer-youtube-upgrade > span { display:grid; place-items:center; width:36px; height:36px; border-radius:11px; color:#ff858e; background:rgba(255,70,82,.11); }
.viewer-youtube-upgrade strong,.viewer-youtube-upgrade small { display:block; }
.viewer-youtube-upgrade strong { font-size:.7rem; }
.viewer-youtube-upgrade small { margin-top:3px; color:#7f8798; font-size:.59rem; line-height:1.4; }
.viewer-youtube-upgrade b { color:#ff9ca3; }
.account-danger-panel { border-color:rgba(255,72,97,.12); }
.account-danger-copy { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:14px; }
.account-danger-copy p { max-width:760px; margin:0; color:#81899a; font-size:.67rem; line-height:1.55; }
.account-danger-copy a { white-space:nowrap; color:#ff96a5; font-size:.64rem; text-decoration:none; }
.account-delete-form { display:grid; grid-template-columns:minmax(220px,1fr) auto; align-items:end; gap:12px; }
.account-delete-form label { color:#8a92a3; font-size:.64rem; }
.account-delete-form label strong { color:#ff879b; }
.account-delete-form input { width:100%; margin-top:6px; }

.footer-legal-links { display:flex; align-items:center; justify-content:center; gap:14px; }
.footer-legal-links a { color:#7f8798; font-size:.65rem; text-decoration:none; }
.footer-legal-links a:hover { color:#c7bcff; }

.legal-page { width:min(1120px,calc(100% - 44px)); margin:118px auto 80px; }
.legal-hero { padding:30px 32px; border:1px solid rgba(255,255,255,.085); border-radius:24px; background:radial-gradient(circle at 9% 18%,rgba(123,92,255,.15),transparent 35%),linear-gradient(180deg,#11141e,#0a0d14); box-shadow:0 24px 70px rgba(0,0,0,.25); }
.legal-hero h1 { margin:7px 0 10px; color:#fff; font-size:clamp(2rem,5vw,3.6rem); letter-spacing:-.06em; }
.legal-hero p { max-width:800px; margin:0; color:#9aa1b2; line-height:1.65; }
.legal-hero small { display:block; margin-top:15px; color:#737c8f; font-size:.65rem; }
.legal-content { display:grid; gap:12px; margin-top:16px; }
.legal-content section,.legal-callout { padding:20px 22px; border:1px solid rgba(255,255,255,.075); border-radius:18px; background:rgba(15,18,27,.82); }
.legal-content h2 { margin:0 0 9px; color:#f1f2f6; font-size:.95rem; }
.legal-content p { margin:0; color:#8f97a9; font-size:.74rem; line-height:1.72; }
.legal-content p + p { margin-top:10px; }
.legal-content a { color:#aa9dff; }
.legal-content code { color:#c9c0ff; }
.legal-callout { border-color:rgba(123,92,255,.18); background:rgba(123,92,255,.055); }
.legal-callout strong { display:block; margin-bottom:7px; color:#d8d1ff; font-size:.75rem; }

@media (max-width:780px) {
  .oauth-production-grid { grid-template-columns:1fr; }
  .account-danger-copy { flex-direction:column; }
  .account-delete-form { grid-template-columns:1fr; }
  .footer-legal-links { order:3; width:100%; }
  .legal-page { width:calc(100% - 24px); margin-top:94px; }
  .legal-hero { padding:22px 20px; }
  .legal-content section,.legal-callout { padding:18px; }
}

/* =========================================================
   V102 — Sondages communautaires Leonnecorp
   ========================================================= */
.main-nav .nav-poll-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#dffaff;
  opacity:1;
}
.main-nav .nav-poll-link span {
  color:var(--accent-2);
  font-size:.62rem;
  filter:drop-shadow(0 0 7px rgba(32,217,255,.8));
  animation:pulse 1.6s infinite;
}

.home-poll-feature-v102 { margin-top:8px; }
.home-poll-card-v102 {
  position:relative;
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.1fr) auto;
  min-height:250px;
  overflow:hidden;
  border:1px solid rgba(102,190,255,.18);
  border-radius:24px;
  background:
    radial-gradient(circle at 13% 20%,rgba(32,217,255,.12),transparent 34%),
    radial-gradient(circle at 72% 8%,rgba(123,92,255,.16),transparent 36%),
    linear-gradient(135deg,rgba(15,19,30,.98),rgba(9,11,18,.98));
  box-shadow:0 24px 70px rgba(0,0,0,.3);
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.home-poll-card-v102:hover { transform:translateY(-3px); border-color:rgba(74,220,255,.32); box-shadow:0 30px 80px rgba(0,0,0,.4); }
.home-poll-visuals-v102 { display:grid; grid-template-columns:repeat(2,1fr); gap:5px; padding:7px; min-height:250px; }
.home-poll-visual-v102 { position:relative; min-height:118px; overflow:hidden; border-radius:13px; background:#111622; }
.home-poll-visual-v102::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,7,12,.54),transparent 55%); }
.home-poll-visual-v102 img { width:100%; height:100%; object-fit:cover; }
.home-poll-visual-v102 > span { display:grid; place-items:center; height:100%; font-size:2rem; }
.home-poll-visual-v102 b { position:absolute; z-index:2; left:10px; bottom:8px; display:grid; place-items:center; width:24px; height:24px; border:1px solid rgba(255,255,255,.18); border-radius:8px; background:rgba(6,8,13,.72); font-size:.65rem; }
.home-poll-copy-v102 { align-self:center; padding:32px clamp(24px,3vw,48px); }
.home-poll-copy-v102 > span { display:flex; align-items:center; gap:9px; color:#9defff; font-size:.68rem; font-weight:800; letter-spacing:.12em; }
.home-poll-copy-v102 > span i { width:8px; height:8px; border-radius:50%; background:var(--accent-2); box-shadow:0 0 0 6px rgba(32,217,255,.09); }
.home-poll-copy-v102 h2 { margin:10px 0 9px; font-size:clamp(1.6rem,2.7vw,2.65rem); letter-spacing:-.055em; }
.home-poll-copy-v102 p { max-width:700px; margin:0; color:#9da6b9; line-height:1.6; font-size:.82rem; }
.home-poll-copy-v102 > div { display:flex; flex-wrap:wrap; gap:8px; margin-top:17px; }
.home-poll-copy-v102 > div b { padding:7px 10px; border:1px solid rgba(255,255,255,.08); border-radius:999px; background:rgba(255,255,255,.035); color:#bec6d5; font-size:.63rem; }
.home-poll-cta-v102 { align-self:stretch; display:flex; min-width:210px; flex-direction:column; justify-content:center; align-items:flex-end; padding:30px 30px 30px 12px; text-align:right; }
.home-poll-cta-v102 small { color:#768197; font-size:.57rem; font-weight:800; letter-spacing:.12em; }
.home-poll-cta-v102 strong { margin-top:7px; color:#fff; font-size:.85rem; }
.home-poll-cta-v102 strong span { margin-left:7px; color:var(--accent-2); }

.poll-page-v102 { padding-top:0; }
.poll-hero-v102 { position:relative; min-height:520px; display:flex; align-items:end; overflow:hidden; border-bottom:1px solid rgba(255,255,255,.07); }
.poll-hero-v102::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 18% 22%,rgba(123,92,255,.24),transparent 31%),radial-gradient(circle at 82% 16%,rgba(32,217,255,.13),transparent 32%),linear-gradient(180deg,#090b12 0%,#070910 100%); }
.poll-hero-backdrop-v102 { position:absolute; inset:0 0 0 48%; background-size:cover; background-position:center; opacity:.26; filter:saturate(.75); mask-image:linear-gradient(90deg,transparent,#000 35%); }
.poll-hero-v102::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,var(--bg) 0%,transparent 45%),linear-gradient(90deg,rgba(6,7,11,.95) 0%,rgba(6,7,11,.62) 52%,rgba(6,7,11,.18) 100%); pointer-events:none; }
.poll-hero-inner-v102 { position:relative; z-index:2; width:100%; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,360px); gap:42px; align-items:end; padding-top:150px; padding-bottom:70px; }
.poll-hero-copy-v102 { max-width:900px; }
.poll-kicker-v102 { display:inline-flex; align-items:center; gap:10px; color:#a8f2ff; font-size:.68rem; font-weight:800; letter-spacing:.15em; }
.poll-kicker-v102 i { width:9px; height:9px; border-radius:50%; background:var(--accent-2); box-shadow:0 0 0 7px rgba(32,217,255,.09); }
.poll-hero-copy-v102 h1,.poll-empty-v102 h1 { margin:14px 0 16px; max-width:900px; font-size:clamp(2.7rem,6vw,5.8rem); line-height:.95; letter-spacing:-.07em; }
.poll-hero-copy-v102 > p { max-width:760px; margin:0; color:#b4bccb; font-size:clamp(.92rem,1.4vw,1.08rem); line-height:1.7; }
.poll-hero-meta-v102 { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.poll-hero-meta-v102 span { padding:9px 12px; border:1px solid rgba(255,255,255,.09); border-radius:12px; background:rgba(255,255,255,.045); color:#8f99ac; font-size:.67rem; }
.poll-hero-meta-v102 strong { color:#edf1f8; }
.poll-rules-v102 { padding:21px; border:1px solid rgba(123,92,255,.22); border-radius:18px; background:rgba(11,14,22,.72); backdrop-filter:blur(14px); }
.poll-rules-v102 span { color:#9486ed; font-size:.57rem; font-weight:800; letter-spacing:.13em; }
.poll-rules-v102 strong { display:block; margin:7px 0 6px; font-size:.9rem; }
.poll-rules-v102 p { margin:0; color:#818b9e; font-size:.68rem; line-height:1.55; }
.poll-content-v102 { padding-top:42px; }
.poll-notice-v102 { margin-bottom:18px; padding:13px 16px; border:1px solid rgba(255,255,255,.09); border-radius:13px; background:rgba(255,255,255,.04); font-size:.72rem; }
.poll-notice-v102.success { border-color:rgba(61,220,151,.2); background:rgba(61,220,151,.07); color:#9cf0ca; }
.poll-notice-v102.error { border-color:rgba(255,61,102,.2); background:rgba(255,61,102,.07); color:#ffb0c0; }
.poll-login-card-v102,.poll-voted-card-v102 { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:34px; padding:20px 22px; border:1px solid rgba(123,92,255,.17); border-radius:18px; background:linear-gradient(115deg,rgba(123,92,255,.075),rgba(32,217,255,.025)); }
.poll-login-card-v102 span,.poll-voted-card-v102 span { color:#8e82e8; font-size:.57rem; font-weight:800; letter-spacing:.12em; }
.poll-login-card-v102 h2,.poll-voted-card-v102 h2 { margin:4px 0; font-size:1.08rem; }
.poll-login-card-v102 p,.poll-voted-card-v102 p { margin:0; color:#8993a6; font-size:.7rem; line-height:1.5; }
.poll-voted-card-v102 { justify-content:flex-start; border-color:rgba(61,220,151,.16); background:rgba(61,220,151,.055); }
.poll-voted-icon-v102 { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:50%; background:rgba(61,220,151,.12); color:#68e7ac; font-size:1.1rem; font-weight:900; }
.poll-options-section-v102 { margin-top:18px; }
.poll-options-grid-v102 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.poll-option-card-v102 { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.085); border-radius:18px; background:linear-gradient(180deg,rgba(18,22,32,.98),rgba(10,13,20,.98)); box-shadow:0 14px 38px rgba(0,0,0,.18); }
.poll-option-card-v102.is-selected { border-color:rgba(61,220,151,.34); box-shadow:0 0 0 1px rgba(61,220,151,.08),0 18px 42px rgba(0,0,0,.23); }
.poll-option-card-v102.is-winner { border-color:rgba(255,206,87,.38); }
.poll-option-visual-v102 { position:relative; aspect-ratio:16/9; overflow:hidden; background:#0d111a; }
.poll-option-visual-v102::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,10,16,.65),transparent 58%); }
.poll-option-visual-v102 img { width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.poll-option-card-v102:hover .poll-option-visual-v102 img { transform:scale(1.025); }
.poll-option-placeholder-v102 { display:grid; place-items:center; height:100%; font-size:3rem; }
.poll-option-number-v102 { position:absolute; z-index:2; left:12px; bottom:11px; display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.14); border-radius:10px; background:rgba(6,8,13,.72); font-size:.7rem; font-weight:900; }
.poll-choice-badge-v102,.poll-winner-badge-v102 { position:absolute; z-index:2; top:11px; right:11px; padding:7px 9px; border-radius:999px; background:rgba(61,220,151,.9); color:#07130d; font-size:.55rem; font-weight:900; letter-spacing:.08em; }
.poll-winner-badge-v102 { background:#f2cc62; color:#161105; }
.poll-option-body-v102 { padding:17px; }
.poll-option-body-v102 h3 { margin:0; font-size:1rem; letter-spacing:-.025em; }
.poll-option-body-v102 p { min-height:42px; margin:7px 0 13px; color:#7f899b; font-size:.65rem; line-height:1.55; }
.poll-result-line-v102 { position:relative; height:5px; margin-top:16px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.07); }
.poll-result-line-v102 span { display:block; width:var(--poll-progress); height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),var(--accent-2)); transition:width .35s ease; }
.poll-option-stats-v102 { display:flex; align-items:center; justify-content:space-between; margin-top:8px; color:#8993a5; font-size:.63rem; }
.poll-option-stats-v102 strong { color:#b8c0ce; font-weight:700; }
.poll-option-stats-v102 b { color:#fff; }
.poll-vote-button-v102 { width:100%; min-height:42px; margin-top:14px; font-size:.7rem; }
.poll-empty-v102 { display:flex; min-height:72vh; flex-direction:column; justify-content:center; align-items:flex-start; padding-top:140px; }
.poll-empty-v102 p { max-width:620px; margin:0 0 24px; color:#9099aa; }

/* Admin V102 */
.game-poll-config-v102 { display:grid; gap:18px; }
.game-poll-builder-layout { display:grid; grid-template-columns:minmax(420px,500px) minmax(0,1fr); gap:28px; align-items:start; }
.game-poll-builder-main { display:grid; gap:18px; min-width:0; }
.game-poll-builder-main > .form-group,
.game-poll-builder-main > .game-poll-discord-prep,
.game-poll-manual-pick,
.game-poll-auto-options,
.game-poll-draft-editor,
.game-poll-discord-summary,
.poll-media-customizer,
.game-poll-result-head,
.game-poll-result-head > div { min-width:0; }
.game-poll-v102-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.game-poll-v102-grid-primary { padding:18px; border:1px solid rgba(255,255,255,.075); border-radius:16px; background:rgba(255,255,255,.02); }
.game-poll-v102-grid-primary .game-poll-field-wide { grid-column:1/-1; }
.game-poll-generator-v102 .form-group > label { margin-bottom:7px; }
.game-poll-generator-v102 .form-group input,
.game-poll-generator-v102 .form-group select { min-height:46px; padding-left:13px; padding-right:13px; }
.game-poll-generator-v102 .form-group textarea { min-height:112px; padding:12px 13px; line-height:1.5; }
.game-poll-manual-pick { padding:18px; border:1px solid rgba(255,255,255,.075); border-radius:16px; background:rgba(7,9,15,.36); }
.game-poll-manual-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:13px; }
.game-poll-manual-head strong { display:block; font-size:.82rem; }
.game-poll-manual-head span { display:block; margin-top:4px; color:#7d8698; font-size:.63rem; line-height:1.45; }
.game-poll-manual-head > b { flex:0 0 auto; padding-top:2px; color:#8ce7bc; font-size:.64rem; }
.game-poll-manual-search { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:8px; min-height:44px; margin-bottom:13px; padding:0 11px; border:1px solid rgba(255,255,255,.085); border-radius:12px; background:rgba(0,0,0,.18); transition:border-color .18s,background .18s; }
.game-poll-manual-search:focus-within { border-color:rgba(123,92,255,.35); background:rgba(123,92,255,.045); }
.game-poll-manual-search > span { display:grid; place-items:center; color:#8c96aa; font-size:1rem; }
.game-poll-manual-search input { width:100%; min-width:0; height:42px; padding:0; border:0!important; outline:0; background:transparent!important; box-shadow:none!important; color:#e7ebf3; font-size:.68rem; }
.game-poll-manual-search input::placeholder { color:#687386; }
.game-poll-manual-search kbd { padding:3px 6px; border:1px solid rgba(255,255,255,.08); border-radius:6px; background:rgba(255,255,255,.035); color:#687386; font:700 .48rem/1 system-ui,sans-serif; }
.game-poll-manual-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; max-height:560px; overflow:auto; padding-right:5px; }
.game-poll-manual-empty { grid-column:1/-1; padding:34px 16px; border:1px dashed rgba(255,255,255,.08); border-radius:12px; color:#737e91; text-align:center; font-size:.64rem; }
.game-poll-manual-empty[hidden] { display:none; }
.game-poll-manual-card { position:relative; display:grid; grid-template-columns:86px minmax(0,1fr) 26px; align-items:center; gap:11px; min-height:86px; padding:9px; border:1px solid rgba(255,255,255,.07); border-radius:13px; background:rgba(255,255,255,.025); cursor:pointer; transition:border-color .18s,background .18s,transform .18s; }
.game-poll-manual-card:hover { border-color:rgba(123,92,255,.2); background:rgba(255,255,255,.038); transform:translateY(-1px); }
.game-poll-manual-card > input { position:absolute; opacity:0; pointer-events:none; }
.game-poll-manual-card:has(input:checked) { border-color:rgba(61,220,151,.36); background:rgba(61,220,151,.065); }
.game-poll-manual-visual { display:grid; place-items:center; width:86px; height:66px; overflow:hidden; border-radius:10px; background:#0d111a; }
.game-poll-manual-visual img { width:100%; height:100%; object-fit:cover; }
.game-poll-manual-copy { min-width:0; }
.game-poll-manual-copy strong { display:block; overflow:hidden; color:#dfe3eb; font-size:.74rem; text-overflow:ellipsis; white-space:nowrap; }
.game-poll-manual-copy small { display:block; margin-top:4px; color:#747e91; font-size:.6rem; line-height:1.35; }
.game-poll-manual-check { display:grid; place-items:center; width:24px; height:24px; border:1px solid rgba(255,255,255,.1); border-radius:7px; color:transparent; background:rgba(255,255,255,.03); font-size:.62rem; }
.game-poll-manual-card:has(input:checked) .game-poll-manual-check { border-color:rgba(61,220,151,.34); background:rgba(61,220,151,.13); color:#75e7b3; }
.game-poll-auto-options { border:1px solid rgba(255,255,255,.07); border-radius:14px; background:rgba(255,255,255,.02); }
.game-poll-auto-options > summary { padding:12px 14px; color:#9ca5b5; font-size:.65rem; font-weight:800; cursor:pointer; }
.game-poll-auto-options .game-poll-exclusions { padding:0 14px 14px; }
.game-poll-discord-prep { display:grid; grid-template-columns:1fr; gap:14px; align-items:start; padding:18px; border:1px solid rgba(88,101,242,.2); border-radius:16px; background:linear-gradient(115deg,rgba(88,101,242,.085),rgba(20,23,35,.38)); }
.game-poll-discord-prep > div:first-child { align-self:center; }
.game-poll-discord-prep > div:first-child strong { display:block; margin:5px 0; font-size:.8rem; }
.game-poll-discord-prep > div:first-child small { display:block; max-width:460px; color:#8792a7; font-size:.61rem; line-height:1.55; }
.game-poll-generator-actions { display:flex; justify-content:flex-end; }
.game-poll-generator-actions .button { min-width:220px; }
.game-poll-draft-editor { display:grid; gap:14px; margin-top:20px; padding:18px; border:1px solid rgba(255,255,255,.075); border-radius:17px; background:rgba(8,10,16,.36); }
.game-poll-draft-editor .section-heading { margin-bottom:0; }
.poll-media-customizer { border:1px solid rgba(255,255,255,.07); border-radius:14px; background:rgba(255,255,255,.02); }
.poll-media-customizer > summary { padding:12px 14px; color:#a7b0c0; font-size:.65rem; font-weight:800; cursor:pointer; }
.poll-media-customizer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0 14px 14px; }
.poll-media-customizer-item { min-width:0; padding:10px; border:1px solid rgba(255,255,255,.06); border-radius:12px; background:rgba(0,0,0,.12); }
.poll-media-customizer-item > strong { display:block; margin-bottom:8px; color:#d7dce5; font-size:.65rem; }
.game-poll-draft-save { display:flex; justify-content:flex-end; }
.game-poll-discord-summary { display:grid; grid-template-columns:220px minmax(0,1fr); gap:16px; margin-top:16px; padding:14px 16px; border:1px solid rgba(88,101,242,.16); border-radius:14px; background:rgba(88,101,242,.045); }
.game-poll-discord-summary strong { display:block; font-size:.67rem; }
.game-poll-discord-summary span,.game-poll-discord-summary p { color:#798397; font-size:.59rem; line-height:1.45; }
.game-poll-discord-summary p { margin:0; }

@media (max-width:1380px) and (min-width:1101px) {
  .game-poll-builder-layout { grid-template-columns:minmax(390px,450px) minmax(0,1fr); gap:22px; }
  .game-poll-manual-card { grid-template-columns:78px minmax(0,1fr) 24px; }
  .game-poll-manual-visual { width:78px; height:60px; }
}
@media (max-width:1100px) {
  .home-poll-card-v102 { grid-template-columns:minmax(260px,.72fr) minmax(0,1fr); }
  .home-poll-cta-v102 { grid-column:2; align-self:auto; min-width:0; padding:0 28px 25px; align-items:flex-start; text-align:left; }
  .poll-options-grid-v102 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .game-poll-builder-layout { grid-template-columns:1fr; }
  .game-poll-manual-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:780px) {
  .home-poll-card-v102 { grid-template-columns:1fr; }
  .home-poll-visuals-v102 { min-height:210px; }
  .home-poll-copy-v102 { padding:24px 20px 12px; }
  .home-poll-cta-v102 { grid-column:1; padding:6px 20px 22px; }
  .poll-hero-v102 { min-height:590px; }
  .poll-hero-backdrop-v102 { inset:0; opacity:.16; mask-image:none; }
  .poll-hero-inner-v102 { grid-template-columns:1fr; gap:22px; padding-top:120px; padding-bottom:48px; }
  .poll-rules-v102 { max-width:520px; }
  .poll-login-card-v102 { align-items:flex-start; flex-direction:column; }
  .poll-options-grid-v102 { grid-template-columns:1fr; }
  .poll-option-body-v102 p { min-height:0; }
  .game-poll-v102-grid,.poll-media-customizer-grid,.game-poll-discord-prep { grid-template-columns:1fr; }
  .game-poll-builder-layout { grid-template-columns:1fr; }
  .game-poll-manual-grid { grid-template-columns:1fr; max-height:520px; }
  .game-poll-generator-actions .button { width:100%; min-width:0; }
  .game-poll-discord-summary { grid-template-columns:1fr; }
}

/* V107 — connexion Discord */
.discord-settings-section { position:relative; overflow:hidden; }
.discord-settings-section::before { content:""; position:absolute; inset:0 auto auto 0; width:100%; height:1px; background:linear-gradient(90deg,rgba(88,101,242,.55),rgba(123,92,255,.22),transparent 72%); pointer-events:none; }
.discord-settings-status { display:flex; align-items:center; gap:11px; margin:14px 0; padding:13px 14px; border:1px solid rgba(255,255,255,.07); border-radius:13px; background:rgba(255,255,255,.025); }
.discord-settings-status-dot { flex:0 0 9px; width:9px; height:9px; border-radius:50%; background:#7b8496; box-shadow:0 0 0 6px rgba(123,132,150,.08); }
.discord-settings-status.is-ready { border-color:rgba(61,220,151,.16); background:rgba(61,220,151,.045); }
.discord-settings-status.is-ready .discord-settings-status-dot { background:#4bd99a; box-shadow:0 0 0 6px rgba(75,217,154,.09); }
.discord-settings-status strong { display:block; color:#e9edf5; font-size:.74rem; }
.discord-settings-status small { display:block; margin-top:2px; color:#848da0; font-size:.62rem; line-height:1.45; }
.discord-settings-grid { margin-top:0; }
.discord-settings-section code { color:#bfb4ff; word-break:break-all; }
.discord-settings-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:end; margin-top:14px; }
.discord-settings-actions .settings-note { margin:0; }
.discord-test-button { min-height:42px; border-color:rgba(88,101,242,.35); background:rgba(88,101,242,.11); color:#dfe2ff; }
.discord-test-button:hover { border-color:rgba(123,92,255,.55); background:rgba(123,92,255,.16); }

.game-poll-discord-summary { grid-template-columns:220px minmax(0,1fr) auto; align-items:center; }
.game-poll-discord-summary-copy { min-width:0; }
.game-poll-discord-summary-copy small { display:block; margin-top:5px; color:#74d9a7; font-size:.57rem; }
.game-poll-discord-summary-copy small.is-error { color:#ff9aaf; }
.game-poll-discord-send { border-color:rgba(88,101,242,.38)!important; color:#cdd2ff!important; background:rgba(88,101,242,.09)!important; }
.game-poll-discord-send:hover { border-color:rgba(123,92,255,.58)!important; background:rgba(123,92,255,.14)!important; }
.game-poll-discord-sent { display:inline-flex; align-items:center; min-height:30px; padding:0 8px; border:1px solid rgba(61,220,151,.15); border-radius:8px; color:#83e7b4; background:rgba(61,220,151,.055); font-size:.57rem; font-weight:800; }
.game-poll-history-discord { display:inline-flex; }

@media (max-width:900px) {
  .discord-settings-actions { grid-template-columns:1fr; }
  .discord-test-button { width:100%; }
  .game-poll-discord-summary { grid-template-columns:1fr; align-items:start; }
}

/* V108 — previews Discord pour les sondages */
.compact-switch-row { min-height: 52px; padding: 12px 14px; border:1px solid rgba(255,255,255,.06); border-radius:14px; background:rgba(255,255,255,.025); }
.compact-switch-row .admin-switch-copy strong { font-size:.69rem; }
.compact-switch-row .admin-switch-copy small { display:block; margin-top:3px; color:#8792a7; font-size:.6rem; line-height:1.45; }
.game-poll-discord-prep .media-picker-field,
.game-poll-discord-editor .media-picker-field { margin:0; }
.game-poll-discord-media .media-field-layout { align-items:flex-start; }
.game-poll-discord-editor { display:grid; gap:16px; }
.game-poll-discord-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.game-poll-discord-previews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:2px; }
.discord-preview-card { overflow:hidden; border:1px solid rgba(88,101,242,.18); border-radius:16px; background:linear-gradient(180deg,rgba(22,25,36,.98),rgba(12,14,22,.98)); box-shadow:0 16px 38px rgba(0,0,0,.18); }
.discord-preview-card.is-secondary { border-color:rgba(123,92,255,.18); }
.discord-preview-card > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.05); }
.discord-preview-card > header strong { font-size:.7rem; color:#eef2fb; }
.discord-preview-card > header span { color:#8d97ab; font-size:.58rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.discord-preview-bubble { display:grid; gap:10px; padding:14px; }
.discord-preview-author { color:#fff; font-size:.68rem; font-weight:800; }
.discord-preview-content { color:#d9deea; font-size:.66rem; line-height:1.55; white-space:normal; }
.discord-preview-content strong { color:#fff; font-weight:800; }
.discord-preview-content em { color:#cdd3df; font-style:italic; }
.discord-preview-content .discord-preview-line { display:block; }
.discord-preview-embed { padding:12px 13px; border-left:4px solid #5865f2; border-radius:0 12px 12px 0; background:rgba(88,101,242,.08); }
.discord-preview-card.is-secondary .discord-preview-embed { border-left-color:#7b5cff; background:rgba(123,92,255,.08); }
.discord-preview-embed strong { display:block; color:#fff; font-size:.67rem; }
.discord-preview-embed p { margin:7px 0 0; color:#b8c0d0; font-size:.62rem; line-height:1.5; }
.discord-preview-embed img { width:100%; max-height:180px; margin-top:12px; border-radius:12px; object-fit:cover; background:#0c0f16; }
.discord-preview-embed img[hidden] { display:none; }

@media (max-width:1100px) {
  .game-poll-discord-editor-grid,
  .game-poll-discord-previews { grid-template-columns:1fr; }
}


/* V109 — mosaïque visuelle des jeux du sondage */
.game-poll-selected-panel,
.game-poll-current-mosaic { margin-top:16px; padding:16px; border:1px solid rgba(123,92,255,.14); border-radius:15px; background:linear-gradient(180deg,rgba(12,15,24,.76),rgba(8,10,17,.76)); }
.game-poll-selected-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.game-poll-selected-head strong { display:block; font-size:.78rem; color:#f1f4fb; }
.game-poll-selected-head span { display:block; max-width:680px; color:#7e899d; font-size:.61rem; line-height:1.5; }
.game-poll-selected-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; }
.game-poll-selected-grid.is-static { margin-top:4px; }
.game-poll-selected-empty { padding:16px; border:1px dashed rgba(255,255,255,.08); border-radius:12px; color:#778194; font-size:.64rem; text-align:center; }
.game-poll-selected-empty[hidden] { display:none; }
.game-poll-selected-tile { overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:14px; background:rgba(255,255,255,.025); box-shadow:0 12px 30px rgba(0,0,0,.14); }
.game-poll-selected-tile-visual { position:relative; aspect-ratio:16/10; overflow:hidden; background:#0d111a; }
.game-poll-selected-tile-visual img { width:100%; height:100%; object-fit:cover; }
.game-poll-selected-tile-visual span { display:grid; place-items:center; width:100%; height:100%; font-size:2rem; }
.game-poll-selected-tile-copy { padding:10px 11px; }
.game-poll-selected-tile-copy strong { display:block; overflow:hidden; color:#eef2fb; font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.game-poll-selected-tile-copy small { display:block; margin-top:4px; color:#7f89a0; font-size:.58rem; }

.discord-preview-selection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.discord-preview-selection-item,
.discord-preview-winner-card { overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.03); }
.discord-preview-selection-item b,
.discord-preview-winner-card b { display:block; padding:8px 9px 0; color:#eef2fb; font-size:.58rem; line-height:1.35; }
.discord-preview-selection-item img,
.discord-preview-winner-card img { width:100%; height:78px; object-fit:cover; margin-top:7px; border-radius:0 0 12px 12px; background:#0d111a; }
.discord-preview-selection-item span,
.discord-preview-winner-card span { display:grid; place-items:center; width:100%; height:78px; margin-top:7px; font-size:1.5rem; background:#0d111a; border-radius:0 0 12px 12px; }
.discord-preview-winner-card small { display:block; padding:3px 9px 8px; color:#7f89a0; font-size:.55rem; }

@media (max-width:1100px) {
  .game-poll-selected-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .discord-preview-selection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:780px) {
  .game-poll-selected-grid,
  .discord-preview-selection-grid { grid-template-columns:1fr; }
}

/* V110 — page sondage plus large + édition directe des visuels */
.game-poll-builder-layout { grid-template-columns:minmax(390px,430px) minmax(880px,1fr) !important; gap:32px !important; }
.game-poll-manual-pick { padding:18px; }
.game-poll-manual-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; max-height:430px; }
.game-poll-manual-head { margin-bottom:14px; }
.game-poll-manual-search { margin-bottom:10px; }
.game-poll-selected-panel { margin-top:18px; }
.game-poll-selected-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.game-poll-selected-editors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:16px; }
.game-poll-selected-editor { padding:14px; border:1px solid rgba(255,255,255,.07); border-radius:14px; background:rgba(255,255,255,.025); }
.game-poll-selected-editor[hidden] { display:none !important; }
.game-poll-selected-editor strong { display:block; margin-bottom:9px; color:#f0f3fa; font-size:.72rem; }
.game-poll-selected-editor .media-picker-field { margin:0; }
.game-poll-selected-editor .media-field-layout { align-items:flex-start; }
.game-poll-selected-editor.is-active { display:block; }

.game-poll-poster-preview { margin-top:18px; }
.game-poll-poster-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.game-poll-poster-head strong { color:#f2f5fb; font-size:.78rem; }
.game-poll-poster-head span { color:#7f89a0; font-size:.61rem; line-height:1.5; }
.game-poll-poster-stage { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:16px; background:#090c13; box-shadow:0 16px 36px rgba(0,0,0,.22); min-height:240px; display:grid; place-items:center; }
.game-poll-poster-stage img { display:block; width:100%; height:auto; border-radius:16px; }
.game-poll-poster-placeholder { padding:28px 22px; text-align:center; color:#9ba5bb; font-size:.75rem; line-height:1.6; }
.game-poll-poster-card { overflow:hidden; border:1px solid rgba(123,92,255,.16); border-radius:18px; background:radial-gradient(circle at top right, rgba(123,92,255,.18), transparent 30%), linear-gradient(180deg, rgba(13,16,25,.95), rgba(8,10,16,.98)); box-shadow:0 18px 44px rgba(0,0,0,.18); }
.game-poll-poster-copy { padding:18px 18px 8px; }
.game-poll-poster-copy h3 { margin:6px 0 8px; color:#fff; font-size:1.1rem; }
.game-poll-poster-copy p { margin:0; color:#b8c0d0; font-size:.68rem; line-height:1.55; }
.game-poll-poster-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:0 18px 18px; }
.game-poll-poster-tile { overflow:hidden; border:1px solid rgba(255,255,255,.07); border-radius:14px; background:rgba(255,255,255,.03); }
.game-poll-poster-visual { position:relative; aspect-ratio:16/10; overflow:hidden; background:#0d111a; }
.game-poll-poster-visual img { width:100%; height:100%; object-fit:cover; }
.game-poll-poster-visual span { display:grid; place-items:center; width:100%; height:100%; font-size:2rem; }
.game-poll-poster-tile b { display:block; padding:9px 10px 11px; color:#eef2fb; font-size:.63rem; line-height:1.35; }
.game-poll-poster-footer { padding:12px 18px 16px; border-top:1px solid rgba(255,255,255,.05); color:#d8deea; font-size:.66rem; }

.game-poll-current-mosaic .game-poll-selected-grid { margin-bottom:16px; }
.game-poll-current-mosaic .game-poll-selected-editors { grid-template-columns:repeat(3,minmax(0,1fr)); }
.game-poll-current-mosaic .game-poll-poster-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

@media (max-width:1400px) {
  .game-poll-builder-layout { grid-template-columns:minmax(360px,410px) minmax(0,1fr) !important; }
  .game-poll-manual-grid,
  .game-poll-selected-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .game-poll-current-mosaic .game-poll-selected-editors { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1100px) {
  .game-poll-selected-editors,
  .game-poll-current-mosaic .game-poll-selected-editors,
  .game-poll-poster-grid { grid-template-columns:1fr; }
}

/* V111 — respiration de la colonne configuration / Discord */
@media (min-width:1401px) {
  .game-poll-builder-layout {
    grid-template-columns:minmax(520px,590px) minmax(760px,1fr) !important;
    gap:38px !important;
  }
}
@media (min-width:1101px) and (max-width:1400px) {
  .game-poll-builder-layout {
    grid-template-columns:minmax(460px,520px) minmax(0,1fr) !important;
    gap:30px !important;
  }
}

.game-poll-builder-main { gap:22px; }
.game-poll-v102-grid-primary { padding:20px; gap:14px; }
.game-poll-builder-main > .form-group { margin:0; }
.game-poll-builder-main > .form-group textarea { min-height:132px; }

.game-poll-builder-main .game-poll-discord-prep {
  gap:18px;
  padding:22px;
  border-radius:18px;
}
.game-poll-builder-main .game-poll-discord-prep > div:first-child {
  padding-bottom:2px;
}
.game-poll-builder-main .game-poll-discord-prep > div:first-child strong {
  font-size:.86rem;
}
.game-poll-builder-main .game-poll-discord-prep > div:first-child small {
  max-width:none;
  font-size:.64rem;
  line-height:1.6;
}
.game-poll-builder-main .game-poll-discord-prep .form-group textarea {
  min-height:138px;
}
.game-poll-builder-main .compact-switch-row {
  padding:14px 15px;
}
.game-poll-builder-main .game-poll-discord-media {
  padding-top:2px;
}

/* Les previews ne sont plus écrasées côte à côte dans la colonne gauche. */
.game-poll-builder-main .game-poll-discord-previews {
  grid-template-columns:1fr !important;
  gap:18px;
}
.game-poll-builder-main .discord-preview-card {
  border-radius:17px;
}
.game-poll-builder-main .discord-preview-card > header {
  padding:14px 16px;
}
.game-poll-builder-main .discord-preview-bubble {
  gap:13px;
  padding:16px;
}
.game-poll-builder-main .discord-preview-content {
  font-size:.69rem;
  line-height:1.65;
}
.game-poll-builder-main .discord-preview-embed {
  padding:14px 15px;
}
.game-poll-builder-main .discord-preview-embed strong {
  font-size:.72rem;
}
.game-poll-builder-main .discord-preview-embed p {
  font-size:.65rem;
  line-height:1.6;
}
.game-poll-builder-main .discord-preview-embed img {
  max-height:240px;
}
.game-poll-builder-main .discord-preview-selection-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.game-poll-builder-main .discord-preview-selection-item img,
.game-poll-builder-main .discord-preview-winner-card img {
  height:105px;
}

/* Un peu plus d'air entre chaque bloc de la zone gauche. */
.game-poll-builder-main .admin-switch-row + .form-group,
.game-poll-builder-main .form-group + .form-group,
.game-poll-builder-main .form-group + .admin-switch-row {
  margin-top:2px;
}

@media (max-width:1100px) {
  .game-poll-builder-main .discord-preview-selection-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:780px) {
  .game-poll-builder-main .discord-preview-selection-grid {
    grid-template-columns:1fr;
  }
}

/* V114 — brouillon compact : garder toutes les infos sans page interminable */
.game-poll-result-v102 { padding:16px !important; }
.game-poll-result-v102 .game-poll-result-head { margin-bottom:11px; }
.game-poll-result-v102 .game-poll-result-head h2 { margin:2px 0 3px; font-size:1rem; }
.game-poll-result-v102 .game-poll-result-head p { font-size:.62rem; }
.game-poll-result-v102 .game-poll-result-head > span { padding:5px 8px; font-size:.56rem; }

.game-poll-result-v102 .game-poll-selection { gap:8px; }
.game-poll-result-v102 .game-poll-selection article { grid-template-columns:92px minmax(0,1fr); min-height:108px; border-radius:12px; }
.game-poll-result-v102 .game-poll-cover { min-height:108px; }
.game-poll-result-v102 .game-poll-card-copy { gap:5px; padding:9px 9px 36px; }
.game-poll-result-v102 .game-poll-card-copy h3 { font-size:.69rem; }
.game-poll-result-v102 .game-poll-card-copy > div span { padding:2px 4px; font-size:.45rem; }
.game-poll-result-v102 .game-poll-card-copy small { font-size:.5rem; }
.game-poll-result-v102 .game-poll-selection article > form { right:7px; bottom:7px; }
.game-poll-result-v102 .game-poll-selection article > form .small-button { min-height:27px; padding:0 7px; font-size:.52rem; }

.game-poll-result-v102 .game-poll-current-mosaic { margin-top:12px; padding:12px; }
.game-poll-result-v102 .game-poll-selected-head { margin-bottom:9px; }
.game-poll-result-v102 .game-poll-selected-head strong { font-size:.69rem; }
.game-poll-result-v102 .game-poll-selected-head span { font-size:.55rem; }
.game-poll-result-v102 .game-poll-selected-grid { gap:7px; margin-bottom:10px; }
.game-poll-result-v102 .game-poll-selected-tile { border-radius:10px; }
.game-poll-result-v102 .game-poll-selected-tile-visual { aspect-ratio:16/8; }
.game-poll-result-v102 .game-poll-selected-tile-copy { padding:6px 8px; }
.game-poll-result-v102 .game-poll-selected-tile-copy strong { font-size:.58rem; }
.game-poll-result-v102 .game-poll-selected-tile-copy small { margin-top:2px; font-size:.49rem; }

.game-poll-result-v102 .game-poll-selected-editors { gap:8px; margin-top:10px; }
.game-poll-result-v102 .game-poll-selected-editor { padding:9px; border-radius:11px; }
.game-poll-result-v102 .game-poll-selected-editor strong { margin-bottom:6px; font-size:.62rem; }
.game-poll-result-v102 .game-poll-selected-editor .media-field-layout { grid-template-columns:62px minmax(0,1fr); gap:8px; }
.game-poll-result-v102 .game-poll-selected-editor .media-field-preview { width:62px; min-height:54px; border-radius:9px; }
.game-poll-result-v102 .game-poll-selected-editor .media-field-preview img { min-height:54px; }
.game-poll-result-v102 .game-poll-selected-editor .media-field-preview span { font-size:1.25rem; }
.game-poll-result-v102 .game-poll-selected-editor .media-field-controls { gap:5px; }
.game-poll-result-v102 .game-poll-selected-editor .media-field-controls input { min-height:32px; padding:6px 8px; font-size:.55rem; }
.game-poll-result-v102 .game-poll-selected-editor .media-field-actions { gap:5px; }
.game-poll-result-v102 .game-poll-selected-editor .media-field-actions .small-button { min-height:27px; padding:0 7px; font-size:.49rem; }
.game-poll-result-v102 .game-poll-selected-editor .field-help { font-size:.48rem; line-height:1.35; }

.game-poll-result-v102 .game-poll-poster-preview { margin-top:12px; }
.game-poll-result-v102 .game-poll-poster-head { margin-bottom:8px; }
.game-poll-result-v102 .game-poll-poster-head strong { font-size:.69rem; }
.game-poll-result-v102 .game-poll-poster-head span { font-size:.54rem; }
.game-poll-result-v102 .game-poll-poster-stage { max-width:920px; min-height:180px; border-radius:13px; background:#090c13; }
.game-poll-result-v102 .game-poll-poster-stage img { border-radius:13px; }
.game-poll-result-v102 .game-poll-poster-placeholder { padding:18px 14px; font-size:.6rem; }
.game-poll-result-v102 .game-poll-poster-card { max-width:920px; border-radius:13px; }
.game-poll-result-v102 .game-poll-poster-copy { padding:12px 13px 6px; }
.game-poll-result-v102 .game-poll-poster-copy h3 { margin:4px 0 5px; font-size:.84rem; }
.game-poll-result-v102 .game-poll-poster-copy p { font-size:.56rem; }
.game-poll-result-v102 .game-poll-poster-grid { gap:6px; padding:0 13px 10px; }
.game-poll-result-v102 .game-poll-poster-tile { border-radius:9px; }
.game-poll-result-v102 .game-poll-poster-visual { aspect-ratio:16/7; }
.game-poll-result-v102 .game-poll-poster-tile b { padding:5px 7px 7px; font-size:.51rem; }
.game-poll-result-v102 .game-poll-poster-footer { padding:8px 13px 10px; font-size:.55rem; }

.game-poll-result-v102 .game-poll-draft-editor { gap:11px; margin-top:13px; padding:13px; border-radius:13px; }
.game-poll-result-v102 .game-poll-draft-editor .section-heading h2 { font-size:.95rem; }
.game-poll-result-v102 .game-poll-draft-editor .section-heading p { font-size:.59rem; }
.game-poll-result-v102 .game-poll-draft-editor .game-poll-v102-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.game-poll-result-v102 .game-poll-draft-editor .form-group label { margin-bottom:5px; font-size:.59rem; }
.game-poll-result-v102 .game-poll-draft-editor .form-group input,
.game-poll-result-v102 .game-poll-draft-editor .form-group select { min-height:36px; padding:7px 9px; font-size:.6rem; }
.game-poll-result-v102 .game-poll-draft-editor .form-group textarea { min-height:82px; padding:9px; font-size:.6rem; }
.game-poll-result-v102 .game-poll-discord-editor { gap:10px; }
.game-poll-result-v102 .game-poll-discord-editor-grid { gap:9px; }
.game-poll-result-v102 .compact-switch-row { min-height:44px; padding:9px 11px; }
.game-poll-result-v102 .compact-switch-row .admin-switch-copy strong { font-size:.59rem; }
.game-poll-result-v102 .compact-switch-row .admin-switch-copy small { font-size:.51rem; }
.game-poll-result-v102 .game-poll-discord-media .media-field-layout { grid-template-columns:72px minmax(0,1fr); gap:9px; }
.game-poll-result-v102 .game-poll-discord-media .media-field-preview { width:72px; min-height:62px; }
.game-poll-result-v102 .game-poll-discord-media .media-field-preview img { min-height:62px; }
.game-poll-result-v102 .game-poll-discord-previews { gap:9px; }
.game-poll-result-v102 .discord-preview-card > header { padding:9px 11px; }
.game-poll-result-v102 .discord-preview-bubble { gap:8px; padding:10px; }
.game-poll-result-v102 .discord-preview-content { font-size:.56rem; line-height:1.5; }
.game-poll-result-v102 .discord-preview-embed { padding:9px 10px; }
.game-poll-result-v102 .discord-preview-embed img { max-height:160px; }
.game-poll-result-v102 .discord-preview-selection-grid { gap:5px; }
.game-poll-result-v102 .discord-preview-selection-item img,
.game-poll-result-v102 .discord-preview-winner-card img { height:68px; }
.game-poll-result-v102 .game-poll-discord-summary { margin-top:11px; padding:10px 11px; gap:10px; }

@media (min-width:1401px) {
  .game-poll-result-v102 .game-poll-current-mosaic .game-poll-selected-grid { grid-template-columns:repeat(6,minmax(0,1fr)) !important; }
  .game-poll-result-v102 .game-poll-current-mosaic .game-poll-selected-editors { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .game-poll-result-v102 .game-poll-draft-editor .game-poll-v102-grid { grid-template-columns:1fr; }
}

/* V121 — sondage public : Steam, méta renforcée et confirmation de vote Leonnecorp */
.poll-hero-meta-v121 { gap:12px; margin-top:28px; }
.poll-hero-meta-v121 .poll-meta-card-v121 {
  display:grid;
  gap:4px;
  min-width:132px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(9,12,20,.72);
  backdrop-filter:blur(12px);
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}
.poll-hero-meta-v121 .poll-meta-card-v121 small {
  color:#778297;
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.12em;
}
.poll-hero-meta-v121 .poll-meta-card-v121 strong {
  color:#f5f7fc;
  font-size:.82rem;
  line-height:1.25;
}
.poll-hero-meta-v121 .poll-meta-votes-v121 strong { font-size:.88rem; }
.poll-hero-meta-v121 .poll-meta-votes-v121 b { font-size:1.08rem; }
.poll-hero-meta-v121 .poll-meta-end-v121 {
  min-width:190px;
  border-color:rgba(255,191,84,.24);
  background:linear-gradient(135deg,rgba(255,186,72,.10),rgba(123,92,255,.055));
  box-shadow:0 12px 32px rgba(255,174,52,.055);
}
.poll-hero-meta-v121 .poll-meta-end-v121 small { color:#e5a844; }
.poll-hero-meta-v121 .poll-meta-end-v121 strong {
  color:#ffd27b;
  font-size:.93rem;
  text-shadow:0 0 18px rgba(255,186,72,.12);
}

.poll-option-title-row-v121 { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.poll-option-title-row-v121 h3 { min-width:0; flex:1 1 auto; }
.poll-steam-link-v121 {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:27px;
  padding:0 8px;
  border:1px solid rgba(102,192,244,.16);
  border-radius:8px;
  background:rgba(24,48,67,.22);
  color:#a9d9f5;
  font-size:.54rem;
  font-weight:800;
  text-decoration:none;
  transition:border-color .18s,background .18s,color .18s,transform .18s;
}
.poll-steam-link-v121 b { font-size:.62rem; }
.poll-steam-link-v121:hover {
  transform:translateY(-1px);
  border-color:rgba(102,192,244,.34);
  background:rgba(35,78,106,.32);
  color:#e5f6ff;
}

html.poll-vote-modal-open { overflow:hidden; }
.poll-vote-modal-v121 {
  position:fixed;
  z-index:12000;
  inset:0;
  display:grid;
  place-items:center;
  padding:22px;
}
.poll-vote-modal-v121[hidden] { display:none !important; }
.poll-vote-modal-backdrop-v121 {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(2,4,9,.80);
  backdrop-filter:blur(14px);
  cursor:default;
}
.poll-vote-modal-dialog-v121 {
  position:relative;
  z-index:2;
  width:min(560px,100%);
  overflow:hidden;
  padding:26px;
  border:1px solid rgba(123,92,255,.28);
  border-radius:22px;
  background:
    radial-gradient(circle at 85% 0%,rgba(123,92,255,.15),transparent 34%),
    linear-gradient(180deg,#10131d,#0b0e16);
  box-shadow:0 38px 110px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.025) inset;
  animation:pollVoteModalInV121 .18s ease-out;
}
@keyframes pollVoteModalInV121 {
  from { opacity:0; transform:translateY(10px) scale(.985); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
.poll-vote-modal-close-v121 {
  position:absolute;
  top:14px;
  right:14px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  background:rgba(255,255,255,.035);
  color:#9aa4b7;
  font-size:1.1rem;
  cursor:pointer;
}
.poll-vote-modal-close-v121:hover { color:#fff; border-color:rgba(255,255,255,.18); }
.poll-vote-modal-kicker-v121 {
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(123,92,255,.12);
  color:#a995ff;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.13em;
}
.poll-vote-modal-dialog-v121 h2 { margin:12px 42px 7px 0; font-size:1.55rem; letter-spacing:-.04em; }
.poll-vote-modal-intro-v121 { margin:0; color:#949eb1; font-size:.75rem; line-height:1.55; }
.poll-vote-modal-game-v121 {
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin-top:20px;
  padding:11px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:15px;
  background:rgba(255,255,255,.025);
}
.poll-vote-modal-game-image-v121 {
  display:grid;
  place-items:center;
  width:92px;
  height:62px;
  overflow:hidden;
  border-radius:10px;
  background:#0a0d14;
  color:#737f94;
  font-size:1.5rem;
}
.poll-vote-modal-game-image-v121 img { width:100%; height:100%; object-fit:cover; }
.poll-vote-modal-game-v121 small { display:block; color:#747f93; font-size:.52rem; font-weight:900; letter-spacing:.11em; }
.poll-vote-modal-game-v121 strong { display:block; margin-top:4px; color:#f4f6fb; font-size:.88rem; line-height:1.35; }
.poll-vote-modal-warning-v121 {
  margin-top:14px;
  padding:14px 15px;
  border:1px solid rgba(255,191,84,.16);
  border-radius:14px;
  background:rgba(255,183,66,.055);
}
.poll-vote-modal-warning-v121 strong { color:#ffd080; font-size:.72rem; }
.poll-vote-modal-warning-v121 p { margin:6px 0 0; color:#a5adba; font-size:.68rem; line-height:1.58; }
.poll-vote-modal-warning-v121 p b { color:#f5f7fb; }
.poll-vote-modal-actions-v121 { display:flex; justify-content:flex-end; gap:9px; margin-top:20px; }
.poll-vote-modal-actions-v121 .button { min-height:42px; padding:0 16px; font-size:.66rem; }
.poll-vote-modal-cancel-v121 { border-color:rgba(255,255,255,.10); background:rgba(255,255,255,.035); color:#c1c8d4; }
.poll-vote-modal-confirm-v121 { min-width:190px; }

@media (max-width:700px) {
  .poll-hero-meta-v121 .poll-meta-card-v121 { flex:1 1 145px; }
  .poll-vote-modal-v121 { padding:12px; }
  .poll-vote-modal-dialog-v121 { padding:20px; border-radius:18px; }
  .poll-vote-modal-dialog-v121 h2 { font-size:1.28rem; }
  .poll-vote-modal-game-v121 { grid-template-columns:76px minmax(0,1fr); }
  .poll-vote-modal-game-image-v121 { width:76px; height:54px; }
  .poll-vote-modal-actions-v121 { flex-direction:column-reverse; }
  .poll-vote-modal-actions-v121 .button { width:100%; }
}

/* ========================================================================== */
/* V122 — Accueil mobile : hero réellement responsive + sections respirantes  */
/* ========================================================================== */
@media (max-width:760px) {
  .site-header {
    padding:12px 14px;
  }
  .site-header .brand-logo {
    width:34px;
    height:34px;
  }
  .header-actions {
    gap:8px;
  }
  .icon-button {
    width:38px;
    height:38px;
  }

  .hero-carousel {
    height:clamp(590px,78svh,680px);
    min-height:590px;
    max-height:680px;
  }
  .hero-carousel .hero-viewport,
  .hero-carousel .hero-slides,
  .hero-carousel .hero-slide {
    height:100%;
    min-height:0;
  }
  .hero-carousel .hero-backdrop {
    background-position:var(--hero-mobile-focus-x,50%) var(--hero-mobile-focus-y,50%);
  }
  .hero-carousel .hero-backdrop::after {
    background:
      linear-gradient(180deg,rgba(6,7,11,.05) 12%,rgba(6,7,11,.10) 38%,rgba(6,7,11,.60) 62%,rgba(6,7,11,.94) 82%,var(--bg) 100%),
      linear-gradient(90deg,rgba(6,7,11,.36),rgba(6,7,11,.05) 62%,rgba(6,7,11,.14));
  }
  .hero-carousel .hero-content {
    width:100%;
    height:100%;
    justify-content:flex-end;
    overflow:visible;
    padding:88px 16px 70px;
  }
  .hero-carousel .eyebrow {
    margin-bottom:10px;
    font-size:.66rem;
    letter-spacing:.13em;
  }
  .hero-carousel .eyebrow::before {
    width:22px;
  }
  .hero-carousel .hero-title-logo {
    width:min(300px,72vw);
    max-height:92px;
    margin:0 0 12px;
  }
  .hero-carousel h1 {
    margin-bottom:10px;
    font-size:clamp(2.45rem,11vw,3.35rem);
    line-height:.94;
  }
  .hero-carousel .hero-content > p {
    max-width:600px;
    margin-bottom:14px;
    font-size:.88rem;
    line-height:1.48;
    -webkit-line-clamp:3;
    line-clamp:3;
  }
  .hero-carousel .hero-content > .actions {
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    gap:8px;
  }
  .hero-carousel .hero-content > .actions .button {
    width:100%;
    min-width:0;
    min-height:46px;
    padding:0 16px;
    border-radius:12px;
    font-size:.84rem;
  }

  .hero-carousel .hero-edge,
  .hero-carousel.is-near-left .hero-edge-prev,
  .hero-carousel.is-near-right .hero-edge-next {
    top:43%;
    width:40px;
    height:52px;
    opacity:.78;
    pointer-events:auto;
  }
  .hero-carousel .hero-edge-prev { left:7px; }
  .hero-carousel .hero-edge-next { right:7px; }
  .hero-carousel .hero-edge::before {
    inset:-8px -4px;
  }
  .hero-carousel .hero-edge > span {
    width:40px;
    height:52px;
    border-radius:13px;
    background:rgba(7,9,15,.68);
    font-size:1.65rem;
  }
  .hero-carousel .hero-pagination {
    left:auto;
    right:14px;
    bottom:12px;
    gap:9px;
    padding:6px 8px;
  }
  .hero-counter {
    min-width:31px;
    font-size:.62rem;
  }
  .hero-dots {
    gap:6px;
  }
  .hero-carousel .hero-dot {
    width:7px;
    height:7px;
  }
  .hero-carousel .hero-dot.is-active {
    width:23px;
  }

  .home-content-shell {
    padding:26px 14px 76px;
  }
  .home-content-shell::before {
    top:-24px;
    height:24px;
  }
  .home-content-shell .section {
    margin-bottom:40px;
  }
  .home-carousel-section .section-heading {
    margin-bottom:12px;
  }
  .home-content-shell .section-heading {
    align-items:flex-start;
    gap:10px;
  }
  .home-content-shell .section-heading h2 {
    font-size:clamp(1.2rem,5.6vw,1.55rem);
    line-height:1.08;
  }
  .home-content-shell .section-heading p {
    margin-top:5px;
    font-size:.74rem;
    line-height:1.45;
  }
  .home-content-shell .row-controls {
    display:none !important;
  }
  .personalized-section {
    margin-top:24px;
    padding-top:18px;
  }
  .personalized-heading {
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .personalized-heading-actions,
  .project-heading-actions {
    width:100%;
    justify-content:flex-start;
  }
  .personalized-eyebrow {
    margin-bottom:4px;
    font-size:.56rem;
  }
  .viewer-genre-chips {
    margin-top:8px;
  }
  .viewer-genre-chips span {
    min-height:23px;
    padding:3px 8px;
    font-size:.56rem;
  }
  .media-rail {
    --rail-gap:10px;
    gap:var(--rail-gap);
    scroll-padding-inline:0;
  }
  .episode-rail {
    grid-auto-columns:min(82vw,340px);
  }
  .poster-rail {
    grid-auto-columns:min(42vw,180px);
  }
}

@media (max-width:520px) {
  .hero-carousel {
    height:clamp(560px,76svh,630px);
    min-height:560px;
    max-height:630px;
  }
  .hero-carousel .hero-content {
    padding:80px 14px 66px;
  }
  .hero-carousel .hero-title-logo {
    width:min(260px,68vw);
    max-height:82px;
    margin-bottom:10px;
  }
  .hero-carousel .hero-content > p {
    font-size:.84rem;
    line-height:1.44;
  }
  .hero-carousel .hero-content > .actions .button {
    min-height:44px;
  }
  .hero-carousel .hero-edge,
  .hero-carousel.is-near-left .hero-edge-prev,
  .hero-carousel.is-near-right .hero-edge-next {
    top:41%;
    width:38px;
    height:48px;
  }
  .hero-carousel .hero-edge > span {
    width:38px;
    height:48px;
  }
  .hero-carousel .hero-edge-prev { left:5px; }
  .hero-carousel .hero-edge-next { right:5px; }
  .hero-carousel .hero-pagination {
    right:10px;
    bottom:10px;
  }
  .home-content-shell {
    padding-inline:12px;
    padding-top:22px;
  }
  .home-content-shell .section {
    margin-bottom:34px;
  }
  .episode-rail {
    grid-auto-columns:min(84vw,330px);
  }
  .poster-rail {
    grid-auto-columns:min(43vw,172px);
  }
}

@media (max-width:520px) and (max-height:700px) {
  .hero-carousel {
    height:560px;
    min-height:560px;
  }
  .hero-carousel .hero-content {
    padding-top:72px;
    padding-bottom:60px;
  }
  .hero-carousel .eyebrow {
    margin-bottom:8px;
  }
  .hero-carousel .hero-title-logo {
    max-height:70px;
    margin-bottom:8px;
  }
  .hero-carousel .hero-content > p {
    margin-bottom:11px;
    -webkit-line-clamp:2;
    line-clamp:2;
  }
  .hero-carousel .hero-content > .actions .button {
    min-height:42px;
  }
}

@media (max-width:760px) {
  .home-projects-section .section-heading {
    flex-direction:column;
    align-items:stretch;
  }
}

/* ==========================================================
   V123 — vignettes streaming + studio visuel admin
   ========================================================== */

/* Accueil : les contenus éditoriaux utilisent désormais de vraies vignettes paysage. */
.stream-tile-rail {
  --rail-gap:12px;
  grid-auto-columns:calc((100% - 48px) / 5);
  padding:5px 2px 20px;
}
.stream-tile-card {
  position:relative;
  overflow:visible;
  border:0;
  border-radius:12px;
  background:transparent;
  box-shadow:none;
}
.stream-tile-card:hover {
  transform:translateY(-4px) scale(1.018);
  border-color:transparent;
  box-shadow:none;
  z-index:3;
}
.stream-tile-card .series-poster-visual {
  position:relative;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.095);
  border-radius:11px;
  background:#0b0d14;
  box-shadow:0 14px 30px rgba(0,0,0,.24);
}
.stream-tile-card:hover .series-poster-visual {
  border-color:rgba(151,123,255,.48);
  box-shadow:0 22px 44px rgba(0,0,0,.42),0 0 0 1px rgba(111,76,255,.14);
}
.stream-tile-card .series-poster-visual::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(5,6,11,.62));
}
.stream-tile-card .series-poster-title {
  min-height:0;
  padding:9px 4px 0;
  background:transparent;
}
.stream-tile-card .series-poster-title h3 {
  font-size:.82rem;
  font-weight:760;
}
.stream-tile-card .viewer-poster-title small {
  display:block;
  margin-top:3px;
  color:#8f94a3;
  font-size:.62rem;
  line-height:1.25;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.stream-tile-card .content-state-card {
  z-index:2;
  top:8px;
  right:8px;
  bottom:auto;
  left:auto;
  padding:5px 7px;
  font-size:.55rem;
  backdrop-filter:blur(10px);
}
.personal-series-card:has(.stream-tile-card) .viewer-favorite-fab {
  top:8px;
  left:8px;
  right:auto;
  z-index:4;
}

@media (max-width:1280px) {
  .stream-tile-rail { grid-auto-columns:calc((100% - 36px) / 4); }
}
@media (max-width:980px) {
  .stream-tile-rail { grid-auto-columns:calc((100% - 24px) / 3); }
}
@media (max-width:760px) {
  .home-content-shell .stream-tile-rail {
    grid-auto-columns:min(58vw,250px);
    gap:10px;
    margin-inline:-12px;
    padding-inline:12px 28px;
    scroll-padding-inline:12px;
  }
  .stream-tile-card .series-poster-title { padding-top:8px; }
  .stream-tile-card .series-poster-title h3 { font-size:.76rem; }
}
@media (max-width:430px) {
  .home-content-shell .stream-tile-rail { grid-auto-columns:min(61vw,238px); }
}

/* Admin → Sagas et séries : atelier visuel par usage. */
.visual-studio-section {
  position:relative;
  overflow:hidden;
}
.visual-studio-section::before {
  content:"";
  position:absolute;
  width:380px;
  height:380px;
  top:80px;
  right:-180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(108,72,255,.12),transparent 68%);
  pointer-events:none;
}
.visual-studio-heading { align-items:flex-start; }
.visual-studio-score {
  margin-left:auto;
  min-width:118px;
  padding:10px 12px;
  border:1px solid rgba(139,106,255,.26);
  border-radius:12px;
  background:rgba(100,66,220,.08);
  text-align:right;
}
.visual-studio-score strong,.visual-studio-score small { display:block; }
.visual-studio-score strong { font-size:1.05rem; color:#d8ceff; }
.visual-studio-score small { margin-top:2px; color:#8e91a1; font-size:.63rem; }
.visual-studio-guide {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:16px 0 18px;
}
.visual-studio-guide span {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:5px 9px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  color:#9ea2b2;
  background:rgba(255,255,255,.025);
  font-size:.66rem;
}
.visual-studio-guide b { color:#d7d0ff; font-size:.61rem; letter-spacing:.04em; }
.visual-studio-layout {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:18px;
  align-items:start;
}
.visual-studio-fields { display:grid; gap:10px; }
.visual-slot {
  position:relative;
  padding:14px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.visual-slot.is-primary { border-color:rgba(124,88,255,.18); }
.visual-slot.is-ready {
  border-color:rgba(106,224,179,.23);
  background:linear-gradient(145deg,rgba(57,155,120,.055),rgba(255,255,255,.012));
}
.visual-slot-copy {
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin-bottom:11px;
}
.visual-slot-copy>span {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid rgba(133,99,255,.28);
  border-radius:9px;
  color:#a991ff;
  background:rgba(119,76,255,.08);
  font-size:.61rem;
  font-weight:850;
}
.visual-slot.is-ready .visual-slot-copy>span { color:#9de8c8; border-color:rgba(80,207,155,.24); background:rgba(44,168,116,.08); }
.visual-slot-copy strong,.visual-slot-copy small { display:block; }
.visual-slot-copy strong { color:#f4f3f8; font-size:.82rem; }
.visual-slot-copy strong i { color:#7f8494; font-size:.61rem; font-style:normal; font-weight:600; }
.visual-slot-copy small { margin-top:2px; color:#858a99; font-size:.64rem; line-height:1.35; }
.visual-slot-copy em { color:#777d8d; font-size:.58rem; font-style:normal; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.visual-slot .media-picker-field { margin:0; }
.visual-slot .media-picker-field>label { display:none; }
.visual-slot .media-field-layout { grid-template-columns:94px minmax(0,1fr); gap:12px; }
.visual-slot .media-field-preview { width:94px; min-width:94px; height:60px; border-radius:10px; }
.visual-slot[data-visual-status-field="poster_url"] .media-field-preview { height:112px; }
.visual-slot.is-logo .media-field-preview { background:linear-gradient(45deg,#151821 25%,#10131b 25%,#10131b 50%,#151821 50%,#151821 75%,#10131b 75%); background-size:16px 16px; }
.visual-slot .media-field-controls input { font-size:.7rem; }
.visual-slot .media-field-actions { gap:6px; }
.visual-slot .media-field-actions .small-button { min-height:30px; padding:5px 8px; font-size:.62rem; }
.visual-slot .field-help { color:#74798a; font-size:.61rem; line-height:1.35; }

.visual-studio-preview {
  position:sticky;
  top:92px;
  padding:14px;
  border:1px solid rgba(140,111,255,.18);
  border-radius:17px;
  background:linear-gradient(165deg,rgba(20,19,30,.98),rgba(10,11,17,.98));
  box-shadow:0 22px 55px rgba(0,0,0,.28);
}
.visual-preview-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:12px; }
.visual-preview-head span,.visual-preview-head strong,.visual-preview-head small { display:block; }
.visual-preview-head span { color:#8e70ff; font-size:.55rem; font-weight:900; letter-spacing:.13em; }
.visual-preview-head strong { margin-top:2px; color:#f2f1f7; font-size:.8rem; }
.visual-preview-head>small { max-width:120px; color:#6f7483; font-size:.58rem; line-height:1.3; text-align:right; }
.visual-preview-hero,.visual-preview-thumb,.visual-preview-poster {
  position:relative;
  overflow:hidden;
  background-color:#0b0d13;
  background-image:var(--visual-preview-image);
  background-size:cover;
  background-position:center;
}
.visual-preview-hero { aspect-ratio:16/9; border:1px solid rgba(255,255,255,.09); border-radius:13px; }
.visual-preview-hero::before,.visual-preview-thumb::before,.visual-preview-poster::before {
  content:""; position:absolute; inset:0; opacity:.13; pointer-events:none;
  background-image:linear-gradient(135deg,rgba(140,95,255,.28),transparent 50%);
}
.visual-preview-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,4,8,.9),rgba(3,4,8,.25) 68%,rgba(3,4,8,.08)),linear-gradient(0deg,rgba(3,4,8,.76),transparent 50%); }
.visual-preview-hero-copy { position:absolute; z-index:2; left:14px; right:32%; bottom:13px; }
.visual-preview-hero-copy img { display:block; width:min(155px,80%); max-height:38px; margin-bottom:6px; object-fit:contain; object-position:left bottom; }
.visual-preview-hero-copy>strong { display:block; color:#fff; font-size:clamp(.84rem,1.4vw,1.05rem); line-height:1.05; }
.visual-preview-hero-copy>p { display:-webkit-box; margin:5px 0 8px; overflow:hidden; color:#d1d3db; font-size:.56rem; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.visual-preview-hero-copy>span { display:inline-flex; min-height:24px; align-items:center; padding:4px 9px; border-radius:7px; color:#08090e; background:#fff; font-size:.58rem; font-weight:850; }
.visual-preview-hero>small,.visual-preview-thumb>small,.visual-preview-poster>small {
  position:absolute; z-index:3; top:7px; right:7px; padding:4px 6px; border-radius:6px; color:#d7d9e2; background:rgba(6,7,11,.68); backdrop-filter:blur(8px); font-size:.5rem; font-weight:750;
}
.visual-preview-hero>small.is-fallback,.visual-preview-thumb>small.is-fallback,.visual-preview-poster>small.is-fallback { color:#f5d694; }
.visual-preview-pair { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(84px,.55fr); gap:10px; margin-top:11px; align-items:start; }
.visual-preview-pair>div { min-width:0; }
.visual-preview-label { display:block; margin-bottom:5px; color:#777d8d; font-size:.55rem; font-weight:750; }
.visual-preview-thumb { aspect-ratio:16/9; border:1px solid rgba(255,255,255,.08); border-radius:10px; }
.visual-preview-poster { aspect-ratio:2/3; border:1px solid rgba(255,255,255,.08); border-radius:10px; }
.visual-preview-pair>div>strong { display:block; margin-top:6px; overflow:hidden; color:#e5e5eb; font-size:.63rem; white-space:nowrap; text-overflow:ellipsis; }
.visual-preview-note { display:grid; gap:3px; margin-top:12px; padding:9px 10px; border:1px solid rgba(255,255,255,.065); border-radius:10px; background:rgba(255,255,255,.025); }
.visual-preview-note b { color:#b6a7ef; font-size:.61rem; }
.visual-preview-note span { color:#737887; font-size:.58rem; line-height:1.35; }
.catalogue-mini-flag.is-visual-ready { color:#a9e8cc; border-color:rgba(77,194,144,.18); }
.catalogue-mini-flag.is-visual-missing { color:#e1c087; border-color:rgba(215,157,75,.16); }

@media (max-width:1180px) {
  .visual-studio-layout { grid-template-columns:1fr; }
  .visual-studio-preview { position:relative; top:auto; }
  .visual-preview-pair { grid-template-columns:minmax(0,1.8fr) minmax(120px,.65fr); }
}
@media (max-width:700px) {
  .visual-studio-heading { display:grid; grid-template-columns:27px minmax(0,1fr); }
  .visual-studio-score { grid-column:2; margin:8px 0 0; text-align:left; }
  .visual-studio-guide { gap:5px; }
  .visual-studio-guide span { font-size:.6rem; }
  .visual-slot { padding:12px; }
  .visual-slot-copy { grid-template-columns:28px minmax(0,1fr); }
  .visual-slot-copy em { display:none; }
  .visual-slot .media-field-layout { grid-template-columns:82px minmax(0,1fr); }
  .visual-slot .media-field-preview { width:82px; min-width:82px; height:54px; }
  .visual-slot[data-visual-status-field="poster_url"] .media-field-preview { height:104px; }
  .visual-preview-head { flex-direction:column; }
  .visual-preview-head>small { max-width:none; text-align:left; }
}

.visual-slot[data-visual-status-field="mobile_hero_url"] .media-field-preview { height:112px; }
.visual-preview-mobile { margin-top:11px; }
.visual-preview-mobile-card {
  position:relative;
  overflow:hidden;
  aspect-ratio:3/4;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:#0b0d13;
  background-image:var(--visual-preview-image);
  background-size:cover;
  background-position:var(--visual-preview-focus-x,50%) var(--visual-preview-focus-y,50%);
}
.visual-preview-mobile-card::before {
  content:""; position:absolute; inset:0; opacity:.13; pointer-events:none;
  background-image:linear-gradient(135deg,rgba(140,95,255,.28),transparent 50%);
}
.visual-preview-mobile-shade { background:linear-gradient(180deg,rgba(3,4,8,.14),rgba(3,4,8,.82) 68%,rgba(3,4,8,.94)); }
.visual-preview-mobile-copy { position:absolute; z-index:2; left:14px; right:14px; bottom:14px; }
.visual-preview-mobile-copy img { display:block; width:min(150px,78%); max-height:38px; margin-bottom:8px; object-fit:contain; object-position:left bottom; }
.visual-preview-mobile-copy > strong { display:block; color:#fff; font-size:.98rem; line-height:1.03; }
.visual-preview-mobile-copy > p { display:-webkit-box; margin:6px 0 10px; overflow:hidden; color:#d6d8df; font-size:.58rem; line-height:1.38; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.visual-preview-mobile-copy > span { display:inline-flex; min-height:24px; align-items:center; padding:4px 9px; border-radius:7px; color:#08090e; background:#fff; font-size:.58rem; font-weight:850; }
.visual-preview-mobile-card > small { position:absolute; z-index:3; top:7px; right:7px; padding:4px 6px; border-radius:6px; color:#d7d9e2; background:rgba(6,7,11,.68); backdrop-filter:blur(8px); font-size:.5rem; font-weight:750; }
.visual-preview-mobile-card > small.is-fallback { color:#f5d694; }

.visual-crop-tool {
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:rgba(255,255,255,.02);
}
.visual-crop-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-bottom:10px;
}
.visual-crop-head strong,.visual-crop-head small { display:block; }
.visual-crop-head strong { color:#f0eef7; font-size:.78rem; }
.visual-crop-head small { margin-top:2px; color:#7d8393; font-size:.61rem; line-height:1.35; }
.visual-crop-layout {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) 148px;
  gap:12px;
  align-items:start;
}
.visual-crop-workbench {
  position:relative;
  min-height:240px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(15,18,27,.95),rgba(9,11,16,.98));
}
.visual-crop-workbench img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  user-select:none;
  -webkit-user-drag:none;
}
.visual-crop-empty {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
  color:#7b8294;
  font-size:.7rem;
  text-align:center;
}
.visual-crop-frame {
  position:absolute;
  border:2px solid rgba(255,255,255,.96);
  border-radius:18px;
  box-shadow:0 0 0 999px rgba(2,4,10,.48), 0 10px 30px rgba(0,0,0,.28);
  cursor:grab;
  touch-action:none;
}
.visual-crop-frame.is-dragging { cursor:grabbing; }
.visual-crop-frame::before {
  content:"";
  position:absolute;
  inset:8px;
  border:1px dashed rgba(255,255,255,.25);
  border-radius:12px;
}
.visual-crop-frame span {
  position:absolute;
  left:10px;
  top:10px;
  display:inline-flex;
  min-height:22px;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(7,8,12,.74);
  color:#f7f7fb;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.visual-crop-side { display:grid; gap:7px; }
.visual-crop-mini {
  aspect-ratio:3/4;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:#0b0d13;
  background-image:var(--crop-preview-image);
  background-size:cover;
  background-position:var(--crop-preview-focus-x,50%) var(--crop-preview-focus-y,50%);
}
@media (max-width:1180px) {
  .visual-crop-layout { grid-template-columns:1fr; }
  .visual-crop-side { grid-template-columns:minmax(120px,200px) 1fr; align-items:start; }
}
@media (max-width:700px) {
  .visual-crop-tool { padding:10px; }
  .visual-crop-head { flex-direction:column; align-items:stretch; }
  .visual-crop-layout { grid-template-columns:1fr; }
  .visual-crop-workbench { min-height:200px; }
  .visual-crop-side { grid-template-columns:1fr; }
  .visual-crop-mini { max-width:190px; }
}

/* ==========================================================
   V125 — contenus programmés dans le carrousel à la une
   ========================================================== */
.hero-carousel-state-line {
  margin:0 0 12px;
}
.hero-carousel .hero-carousel-state-line + .eyebrow {
  margin-top:0;
}
.hero-scheduled-actions {
  gap:10px;
}
.hero-carousel .hero-scheduled-release {
  min-height:48px;
  margin:0;
  padding-inline:18px;
  white-space:nowrap;
}
.carousel-preview-schedule {
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  padding:5px 8px;
  border:1px solid rgba(155,113,255,.38);
  border-radius:999px;
  color:#d8c8ff;
  background:rgba(37,19,67,.82);
  font-size:.6rem;
  font-weight:850;
  line-height:1.2;
}
.carousel-preview-release {
  display:inline-flex;
  width:max-content;
  max-width:100%;
  min-height:30px;
  align-items:center;
  padding:6px 9px;
  border:1px solid rgba(123,92,255,.32);
  border-radius:9px;
  color:#e3deff;
  background:rgba(123,92,255,.14);
  font-size:.65rem;
  font-weight:800;
}

@media (max-width:760px) {
  .hero-carousel-state-line {
    margin-bottom:8px;
  }
  .hero-carousel .hero-carousel-state-line .content-state-badge-hero {
    min-height:26px;
    padding-inline:9px;
    font-size:.6rem;
  }
  .hero-carousel .hero-scheduled-actions {
    grid-template-columns:1fr;
  }
  .hero-carousel .hero-scheduled-release {
    width:100%;
    min-height:44px;
    justify-content:center;
    padding:0 13px;
    border-radius:12px;
    font-size:.78rem;
    text-align:center;
    white-space:normal;
  }
}

@media (max-width:520px) {
  .hero-carousel-state-line {
    margin-bottom:6px;
  }
  .hero-carousel .hero-carousel-state-line + .eyebrow {
    margin-bottom:8px;
  }
  .hero-carousel .hero-scheduled-release {
    min-height:42px;
    font-size:.74rem;
  }
}

/* V126 — carrousel responsive façon carte verticale, avec image mobile dédiée */
@media (max-width:760px) {
  .hero-carousel {
    height:auto;
    min-height:0;
    padding:84px 0 0;
    background:linear-gradient(180deg, rgba(6,7,11,.72), rgba(6,7,11,.98));
  }
  .hero-carousel .hero-viewport,
  .hero-carousel .hero-slides,
  .hero-carousel .hero-slide {
    height:auto;
    min-height:0;
  }
  .hero-carousel .hero-slide {
    position:relative;
    padding:0 16px 90px;
  }
  .hero-carousel .hero-slide .hero-backdrop {
    inset:0 16px 88px;
    border-radius:24px;
    background-image:var(--hero-mobile-image);
    background-position:center top;
    transform:none;
    box-shadow:0 22px 70px rgba(0,0,0,.35);
    border:1px solid rgba(255,255,255,.08);
  }
  .hero-carousel .hero-slide .hero-backdrop::after {
    border-radius:24px;
    background:linear-gradient(180deg,rgba(6,7,11,.1) 0%,rgba(6,7,11,.34) 42%,rgba(6,7,11,.95) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 24%);
  }
  .hero-carousel .hero-content {
    width:auto;
    min-height:580px;
    padding:34px 34px 132px;
    justify-content:flex-end;
  }
  .hero-carousel .eyebrow {
    margin-bottom:14px;
    font-size:.74rem;
    letter-spacing:.13em;
  }
  .hero-carousel .hero-title-logo {
    width:min(72vw, 420px);
    max-height:112px;
    margin-bottom:16px;
  }
  .hero-carousel h1 {
    font-size:clamp(2.6rem, 12vw, 4rem);
    line-height:.94;
    margin-bottom:12px;
  }
  .hero-carousel .hero-content > p {
    max-width:none;
    margin-bottom:18px;
    font-size:1rem;
    line-height:1.55;
    -webkit-line-clamp:4;
    line-clamp:4;
  }
  .hero-carousel .hero-content > .actions {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .hero-carousel .hero-content > .actions .button,
  .hero-carousel .hero-content > .actions .scheduled-release-pill {
    width:100%;
  }
  .hero-carousel .hero-content > .actions .button {
    min-height:56px;
    border-radius:18px;
    font-size:1rem;
  }
  .hero-carousel .hero-content > .actions .button-ghost {
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.12);
  }
  .hero-carousel .hero-pagination {
    right:30px;
    bottom:108px;
    padding:8px 10px;
    border-radius:999px;
    background:rgba(4,6,10,.7);
    backdrop-filter:blur(12px);
  }
  .hero-carousel .hero-edge { display:none !important; }
  .home-content-shell {
    margin-top:-44px;
    padding-top:26px;
    border-top-left-radius:30px;
    border-top-right-radius:30px;
  }
}
@media (max-width:520px) {
  .hero-carousel { padding-top:78px; }
  .hero-carousel .hero-slide { padding:0 14px 86px; }
  .hero-carousel .hero-slide .hero-backdrop { inset:0 14px 84px; border-radius:22px; }
  .hero-carousel .hero-slide .hero-backdrop::after { border-radius:22px; }
  .hero-carousel .hero-content { min-height:560px; padding:30px 28px 126px; }
  .hero-carousel .hero-title-logo { width:min(76vw, 320px); max-height:94px; }
  .hero-carousel .hero-content > p { font-size:.97rem; }
  .hero-carousel .hero-pagination { right:24px; bottom:104px; }
}

/* ========================================================================== */
/* V127 — Correctif hauteur du carrousel mobile V126                          */
/* ========================================================================== */
@media (max-width:760px) {
  /*
   * Le viewport du carrousel desktop est absolu. En V126, le hero mobile est
   * passé en hauteur automatique sans remettre ce viewport dans le flux : le
   * parent s'effondrait et seule une bande du visuel restait visible.
   */
  .hero-carousel .hero-viewport {
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    min-height:0;
    overflow:hidden;
  }

  .hero-carousel .hero-slides {
    position:relative;
    height:auto;
    min-height:0;
    align-items:stretch;
  }

  .hero-carousel .hero-slide {
    height:auto;
    min-height:670px;
  }

  .hero-carousel .hero-content {
    height:auto;
    min-height:580px;
  }
}

@media (max-width:520px) {
  .hero-carousel .hero-slide {
    min-height:646px;
  }

  .hero-carousel .hero-content {
    min-height:560px;
  }
}

/* ========================================================================== */
/* V128 — Affinage visuel du carrousel mobile (contenu plus bas, carte nette) */
/* ========================================================================== */
@media (max-width:760px) {
  .hero-carousel {
    padding-top:72px;
  }

  .hero-carousel .hero-slide {
    padding:14px 16px 116px;
    min-height:712px;
  }

  .hero-carousel .hero-slide .hero-backdrop {
    inset:14px 16px 100px;
    border-radius:24px;
    background-position:var(--hero-mobile-focus-x,50%) var(--hero-mobile-focus-y,50%);
  }

  .hero-carousel .hero-slide .hero-backdrop::after {
    border-radius:24px;
    background:
      linear-gradient(180deg, rgba(6,7,11,.03) 0%, rgba(6,7,11,.14) 24%, rgba(6,7,11,.4) 46%, rgba(6,7,11,.78) 70%, rgba(6,7,11,.96) 88%, rgba(6,7,11,.985) 100%),
      linear-gradient(0deg, var(--bg) 0%, transparent 18%);
  }

  .hero-carousel .hero-content {
    min-height:612px;
    padding:218px 30px 136px;
    justify-content:flex-end;
  }

  .hero-carousel .hero-content > :first-child {
    margin-top:auto;
  }

  .hero-carousel .hero-carousel-state-line {
    margin-bottom:10px;
  }

  .hero-carousel .eyebrow {
    margin-bottom:12px;
    font-size:.72rem;
  }

  .hero-carousel .hero-title-logo {
    width:min(72vw, 300px);
    max-height:84px;
    margin-bottom:14px;
  }

  .hero-carousel h1 {
    margin-bottom:12px;
    font-size:clamp(2.3rem, 11vw, 3.4rem);
  }

  .hero-carousel .hero-content > p {
    margin-bottom:18px;
    font-size:.98rem;
    line-height:1.5;
    -webkit-line-clamp:3;
    line-clamp:3;
  }

  .hero-carousel .hero-content > .actions {
    gap:12px;
  }

  .hero-carousel .hero-content > .actions .button {
    min-height:54px;
    border-radius:18px;
  }

  .hero-carousel .hero-pagination {
    right:28px;
    bottom:118px;
  }

  .home-content-shell {
    margin-top:-62px;
    padding-top:28px;
    border-top-left-radius:30px;
    border-top-right-radius:30px;
  }
}

@media (max-width:520px) {
  .hero-carousel {
    padding-top:68px;
  }

  .hero-carousel .hero-slide {
    padding:12px 14px 108px;
    min-height:684px;
  }

  .hero-carousel .hero-slide .hero-backdrop {
    inset:12px 14px 94px;
    border-radius:22px;
  }

  .hero-carousel .hero-slide .hero-backdrop::after {
    border-radius:22px;
  }

  .hero-carousel .hero-content {
    min-height:586px;
    padding:206px 26px 130px;
  }

  .hero-carousel .hero-title-logo {
    width:min(76vw, 280px);
    max-height:78px;
  }

  .hero-carousel h1 {
    font-size:clamp(2.15rem, 10.5vw, 3.1rem);
  }

  .hero-carousel .hero-content > p {
    font-size:.95rem;
  }

  .hero-carousel .hero-pagination {
    right:22px;
    bottom:110px;
  }
}


/* ========================================================================== */
/* V130 — avant-première des séries / épisodes programmés sur leur fiche      */
/* ========================================================================== */
.upcoming-detail-state small {
  display:block;
  margin-top:10px;
  color:#c6c0df;
  font-size:.82rem;
  line-height:1.55;
}
.collection-series-card.is-scheduled {
  border-color:rgba(123,92,255,.22);
  background:linear-gradient(145deg,rgba(123,92,255,.08),#15111b 45%);
}
.collection-series-card.is-scheduled .collection-series-poster img {
  filter:saturate(.88) brightness(.88);
}
.collection-series-info .collection-series-release {
  display:grid;
  gap:2px;
  color:#ddd8f3;
  white-space:normal;
  line-height:1.25;
}
.collection-series-info .collection-series-release b {
  color:#a99fff;
  font-size:.57rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.catalogue-mini-flag.is-preview-enabled {
  color:#cbbfff;
  border-color:rgba(142,111,255,.24);
  background:rgba(123,92,255,.07);
}
.setting-card-scheduled-preview {
  border-color:rgba(123,92,255,.2);
  background:linear-gradient(135deg,rgba(123,92,255,.055),rgba(255,255,255,.02));
}


/* ==========================================================
   V133 — filtres Saga / Série + statuts publics simplifiés
   ========================================================== */
.catalogue-type-filter,
.search-type-bar,
.search-page-type-filter {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.catalogue-type-filter { margin-bottom:12px; }
.catalogue-filter-type-chip,
.search-type-chip {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  color:#c6cad5;
  background:rgba(255,255,255,.035);
  font-size:.82rem;
  font-weight:800;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}
.catalogue-filter-type-chip:hover,
.search-type-chip:hover {
  color:#fff;
  border-color:rgba(123,92,255,.38);
  background:rgba(123,92,255,.09);
}
.catalogue-filter-type-chip.active,
.search-type-chip.active,
.search-type-chip.is-active {
  color:#fff;
  border-color:rgba(139,102,255,.58);
  background:linear-gradient(135deg,rgba(123,92,255,.24),rgba(86,63,181,.2));
  box-shadow:0 8px 24px rgba(44,31,98,.2);
}
.search-type-bar {
  margin:13px 0 8px;
  padding-bottom:2px;
}
.search-page-type-filter {
  margin:16px 0 9px;
}
.search-page-type-filter .search-type-chip { text-decoration:none; }

@media (max-width:720px) {
  .catalogue-type-filter,
  .search-type-bar,
  .search-page-type-filter {
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    padding-bottom:4px;
  }
  .catalogue-type-filter::-webkit-scrollbar,
  .search-type-bar::-webkit-scrollbar,
  .search-page-type-filter::-webkit-scrollbar { display:none; }
  .catalogue-filter-type-chip,
  .search-type-chip { flex:0 0 auto; min-height:35px; padding:0 13px; font-size:.76rem; }
}


/* ========================================================================== */
/* V134 — carrousel mobile épuré façon plateforme de streaming               */
/* ========================================================================== */
.hero-mobile-genres { display:none; }

@media (max-width:760px) {
  /* La carte reste clairement séparée du header et du contenu suivant. */
  .hero-carousel {
    padding-top:72px;
  }
  .hero-carousel .hero-slide {
    min-height:700px;
    padding:12px 14px 112px;
  }
  .hero-carousel .hero-slide .hero-backdrop {
    inset:12px 14px 98px;
    border-radius:24px;
  }
  .hero-carousel .hero-slide .hero-backdrop::after {
    border-radius:24px;
    background:
      linear-gradient(180deg,rgba(5,6,10,.02) 0%,rgba(5,6,10,.08) 32%,rgba(5,6,10,.38) 56%,rgba(5,6,10,.82) 78%,rgba(5,6,10,.98) 100%),
      linear-gradient(0deg,var(--bg) 0%,transparent 18%);
  }

  /* Sur mobile on retire tous les textes éditoriaux qui surchargent l'image. */
  .hero-carousel .hero-content > .eyebrow,
  .hero-carousel .hero-carousel-state-line,
  .hero-carousel .hero-content > p,
  .hero-carousel .hero-scheduled-release {
    display:none !important;
  }

  .hero-carousel .hero-content {
    width:100%;
    min-height:598px;
    padding:290px 46px 142px;
    justify-content:flex-end;
    align-items:center;
    text-align:center;
    overflow:visible;
  }
  .hero-carousel .hero-content > :first-child {
    margin-top:auto;
  }
  .hero-carousel .hero-title-logo {
    width:min(68vw,286px);
    max-height:88px;
    margin:0 auto 13px;
    object-position:center bottom;
  }
  .hero-carousel h1:not(.visually-hidden) {
    width:100%;
    margin:0 auto 13px;
    font-size:clamp(2rem,10vw,3rem);
    line-height:.96;
    text-align:center;
    letter-spacing:-.055em;
  }

  /* Petites puces de genre, lisibles mais discrètes. */
  .hero-carousel .hero-mobile-genres {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    max-width:100%;
    margin:0 auto 14px;
  }
  .hero-carousel .hero-mobile-genres span {
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:4px 9px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:999px;
    color:rgba(255,255,255,.92);
    background:rgba(9,10,15,.45);
    backdrop-filter:blur(9px);
    font-size:.67rem;
    font-weight:750;
    line-height:1;
  }

  /* Un seul CTA, centré sous le logo comme sur l'exemple mobile. */
  .hero-carousel .hero-content > .actions {
    display:block;
    width:min(100%,310px);
    margin:0 auto;
  }
  .hero-carousel .hero-content > .actions .button,
  .hero-carousel .hero-content > .actions .scheduled-release-pill {
    width:100%;
  }
  .hero-carousel .hero-content > .actions .button:not(:first-of-type) {
    display:none !important;
  }
  .hero-carousel .hero-content > .actions .button:first-of-type {
    display:flex;
    min-height:52px;
    padding-inline:18px;
    border:0;
    border-radius:17px;
    color:#090a0f;
    background:#fff;
    box-shadow:0 10px 28px rgba(0,0,0,.26);
    font-size:.96rem;
  }

  /* Pagination petite et centrée, sous le CTA. */
  .hero-carousel .hero-pagination {
    left:50%;
    right:auto;
    bottom:108px;
    transform:translateX(-50%);
    gap:7px;
    padding:5px 8px;
    border:0;
    border-radius:999px;
    background:rgba(5,6,10,.46);
    backdrop-filter:blur(10px);
  }
  .hero-carousel .hero-counter {
    font-size:.58rem;
    font-weight:750;
    color:rgba(255,255,255,.78);
  }
  .hero-carousel .hero-dots { gap:5px; }
  .hero-carousel .hero-dot {
    width:5px;
    height:5px;
    min-width:5px;
    padding:0;
    border-radius:50%;
    background:rgba(255,255,255,.38);
  }
  .hero-carousel .hero-dot.is-active {
    width:15px;
    min-width:15px;
    background:#fff;
  }

  /* Les flèches restent disponibles au doigt et à la souris. */
  .hero-carousel .hero-edge {
    display:block !important;
    top:49%;
    bottom:auto;
    width:38px;
    height:58px;
    opacity:.72 !important;
    pointer-events:auto !important;
    transform:translateY(-50%);
    z-index:15;
  }
  .hero-carousel .hero-edge-prev { left:17px; }
  .hero-carousel .hero-edge-next { right:17px; }
  .hero-carousel .hero-edge::before {
    inset:0;
    border-radius:14px;
    opacity:.3;
    background:rgba(4,5,9,.32) !important;
    backdrop-filter:blur(7px);
  }
  .hero-carousel .hero-edge > span {
    width:34px;
    height:48px;
    opacity:.92;
    border:1px solid rgba(255,255,255,.12);
    border-radius:13px;
    background:rgba(7,8,12,.4);
    box-shadow:none;
    font-size:1.45rem;
  }
  .hero-carousel .hero-edge-prev > span { left:0; }
  .hero-carousel .hero-edge-next > span { right:0; }
  .hero-carousel .hero-edge:hover,
  .hero-carousel .hero-edge:focus-visible,
  .hero-carousel .hero-edge:active { opacity:1 !important; }

  /* Plus de collision entre le bouton du hero et la première section. */
  .home-content-shell {
    margin-top:-58px;
    padding-top:30px;
  }
}

@media (max-width:520px) {
  .hero-carousel {
    padding-top:68px;
  }
  .hero-carousel .hero-slide {
    min-height:674px;
    padding:10px 12px 106px;
  }
  .hero-carousel .hero-slide .hero-backdrop {
    inset:10px 12px 92px;
    border-radius:22px;
  }
  .hero-carousel .hero-slide .hero-backdrop::after { border-radius:22px; }
  .hero-carousel .hero-content {
    min-height:574px;
    padding:270px 34px 134px;
  }
  .hero-carousel .hero-title-logo {
    width:min(70vw,255px);
    max-height:80px;
  }
  .hero-carousel .hero-content > .actions {
    width:min(100%,286px);
  }
  .hero-carousel .hero-pagination {
    bottom:101px;
  }
  .hero-carousel .hero-edge-prev { left:13px; }
  .hero-carousel .hero-edge-next { right:13px; }
}


/* ========================================================================== */
/* V135 — contenu du carrousel mobile ancré en bas + pagination sans compteur */
/* ========================================================================== */
@media (max-width:760px) {
  /* Le groupe éditorial descend dans la vraie zone basse de la carte. */
  .hero-carousel .hero-content {
    min-height:612px;
    padding:344px 46px 66px;
    justify-content:flex-end;
  }
  .hero-carousel .hero-content > :first-child {
    margin-top:auto;
  }

  .hero-carousel .hero-title-logo {
    margin-bottom:12px;
  }
  .hero-carousel .hero-mobile-genres {
    margin-bottom:13px;
  }
  .hero-carousel .hero-content > .actions {
    margin-bottom:0;
  }

  /* On retire le 1/5, 2/5… : seuls les points restent. */
  .hero-carousel .hero-counter {
    display:none !important;
  }
  .hero-carousel .hero-pagination {
    left:50%;
    right:auto;
    bottom:48px;
    min-height:18px;
    padding:4px 7px;
    transform:translateX(-50%);
    background:rgba(5,6,10,.34);
  }
  .hero-carousel .hero-dots {
    justify-content:center;
  }

  /* Laisse une vraie petite zone de respiration avant la section suivante. */
  .home-content-shell {
    margin-top:-42px;
    padding-top:28px;
  }
}

@media (max-width:520px) {
  .hero-carousel .hero-content {
    min-height:588px;
    padding:326px 34px 58px;
  }
  .hero-carousel .hero-pagination {
    bottom:42px;
  }
}

/* ========================================================================== */
/* V136 — mobile : pagination retirée + disponibilité sous le CTA principal   */
/* ========================================================================== */
@media (max-width:760px) {
  /* Le petit bandeau de points gris ne doit plus recouvrir le bouton. */
  .hero-carousel .hero-pagination {
    display:none !important;
  }

  /* Pour un contenu programmé : bouton principal blanc, puis disponibilité. */
  .hero-carousel .hero-scheduled-actions {
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    width:min(100%,310px);
  }
  .hero-carousel .hero-scheduled-actions .button {
    order:1;
    display:flex !important;
    width:100%;
  }
  .hero-carousel .hero-scheduled-release {
    order:2;
    display:flex !important;
    width:100%;
    min-height:48px;
    margin:0;
    padding:10px 14px;
    justify-content:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    color:rgba(255,255,255,.94);
    background:rgba(18,20,28,.72);
    box-shadow:0 10px 28px rgba(0,0,0,.18);
    backdrop-filter:blur(12px);
    font-size:.78rem;
    font-weight:800;
    line-height:1.3;
    text-align:center;
    white-space:normal;
  }
}

@media (max-width:520px) {
  .hero-carousel .hero-scheduled-actions {
    width:min(100%,286px);
  }
  .hero-carousel .hero-scheduled-release {
    min-height:46px;
    padding:9px 12px;
    border-radius:15px;
    font-size:.74rem;
  }
}

/* ========================================================================== */
/* V137 — correctif CTA programmé du carrousel mobile                         */
/* ========================================================================== */
@media (max-width:760px) {
  /* Les anciens styles mobiles donnaient flex-basis:180px aux boutons.
     Dans la pile verticale V136, cela transformait "Voir la fiche" en énorme bloc blanc. */
  .hero-carousel .hero-scheduled-actions .button {
    flex:0 0 auto !important;
    min-height:52px !important;
    height:auto !important;
    padding:0 18px !important;
    margin:0 !important;
    line-height:1.2;
  }

  .hero-carousel .hero-scheduled-actions .hero-scheduled-release {
    flex:0 0 auto !important;
    height:auto !important;
  }
}

@media (max-width:520px) {
  .hero-carousel .hero-scheduled-actions .button {
    min-height:50px !important;
  }
}

/* ========================================================================== */
/* V138 — disponibilité mobile toujours lisible au-dessus de la transition    */
/* ========================================================================== */
@media (max-width:760px) {
  /* La section suivante remonte légèrement sur le hero. On garde donc
     une marge basse supplémentaire uniquement pour les contenus programmés. */
  .hero-carousel .hero-scheduled-actions {
    margin-bottom:34px !important;
  }
}

@media (max-width:520px) {
  .hero-carousel .hero-scheduled-actions {
    margin-bottom:30px !important;
  }
}

/* ========================================================================== */
/* V139 — disponibilité mobile entièrement dans la zone visible du hero       */
/* ========================================================================== */
@media (max-width:760px) {
  /*
   * Le fond mobile s'arrête avant le bas du slide. En V138 le bloc de date
   * arrivait encore exactement sur cette limite. On remonte donc toute la pile
   * programmée assez haut pour garder le CTA ET la disponibilité dans l'image.
   */
  .hero-carousel .hero-scheduled-actions {
    margin-bottom:72px !important;
    position:relative;
    z-index:6;
  }

  .hero-carousel .hero-scheduled-actions .hero-scheduled-release {
    position:relative;
    z-index:7;
    opacity:1;
    overflow:visible;
  }
}

@media (max-width:520px) {
  .hero-carousel .hero-scheduled-actions {
    margin-bottom:66px !important;
  }
}

/* ========================================================================== */
/* V140 — mobile : CTA toujours visible + flèches parfaitement stables        */
/* ========================================================================== */
@media (max-width:760px) {
  /*
   * Une seule zone basse est désormais réservée à l'ensemble logo / genres /
   * CTA. Ainsi, un slide normal et un slide programmé terminent au même niveau
   * et aucun bouton ne tombe dans le fondu noir de la section suivante.
   */
  .hero-carousel .hero-content {
    padding-bottom:128px !important;
  }

  .hero-carousel .hero-content > .actions,
  .hero-carousel .hero-scheduled-actions {
    margin-bottom:0 !important;
    position:relative;
    z-index:10;
  }

  .hero-carousel .hero-content > .actions .button:first-of-type,
  .hero-carousel .hero-scheduled-actions .button {
    position:relative;
    z-index:11;
    opacity:1;
    visibility:visible;
  }

  .hero-carousel .hero-scheduled-actions .hero-scheduled-release {
    position:relative;
    z-index:11;
    opacity:1;
    visibility:visible;
    border-color:rgba(255,255,255,.16);
    background:rgba(12,14,21,.86);
  }

  /*
   * Les anciens états hover/focus/active appliquaient un scale au chevron :
   * sur tactile cela donnait l'impression que la flèche se déplaçait.
   * On verrouille désormais bouton et chevron sur la même géométrie.
   */
  .hero-carousel .hero-edge,
  .hero-carousel .hero-edge:hover,
  .hero-carousel .hero-edge:focus,
  .hero-carousel .hero-edge:focus-visible,
  .hero-carousel .hero-edge:active {
    top:49% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    transition:opacity .16s ease !important;
    -webkit-tap-highlight-color:transparent;
  }

  .hero-carousel .hero-edge > span,
  .hero-carousel .hero-edge:hover > span,
  .hero-carousel .hero-edge:focus > span,
  .hero-carousel .hero-edge:focus-visible > span,
  .hero-carousel .hero-edge:active > span,
  .hero-carousel.is-near-left .hero-edge-prev > span,
  .hero-carousel.is-near-right .hero-edge-next > span {
    top:50% !important;
    transform:translateY(-50%) !important;
    transition:opacity .16s ease, background .16s ease !important;
  }

  .hero-carousel .hero-edge-prev,
  .hero-carousel .hero-edge-prev:hover,
  .hero-carousel .hero-edge-prev:focus,
  .hero-carousel .hero-edge-prev:focus-visible,
  .hero-carousel .hero-edge-prev:active {
    left:17px !important;
    right:auto !important;
  }

  .hero-carousel .hero-edge-next,
  .hero-carousel .hero-edge-next:hover,
  .hero-carousel .hero-edge-next:focus,
  .hero-carousel .hero-edge-next:focus-visible,
  .hero-carousel .hero-edge-next:active {
    right:17px !important;
    left:auto !important;
  }
}

@media (max-width:520px) {
  .hero-carousel .hero-content {
    padding-bottom:122px !important;
  }

  .hero-carousel .hero-edge-prev,
  .hero-carousel .hero-edge-prev:hover,
  .hero-carousel .hero-edge-prev:focus,
  .hero-carousel .hero-edge-prev:focus-visible,
  .hero-carousel .hero-edge-prev:active {
    left:13px !important;
  }

  .hero-carousel .hero-edge-next,
  .hero-carousel .hero-edge-next:hover,
  .hero-carousel .hero-edge-next:focus,
  .hero-carousel .hero-edge-next:focus-visible,
  .hero-carousel .hero-edge-next:active {
    right:13px !important;
  }
}

/* ========================================================================== */
/* V141 — mobile : même réserve basse pour slides normaux et programmés       */
/* ========================================================================== */
@media (max-width:760px) {
  /*
   * Un contenu programmé possède la ligne "Disponible le…" sous son CTA.
   * Le slide normal n'avait pas cette seconde ligne et descendait donc d'une
   * hauteur de trop dans le fondu. On réserve l'équivalent de cette ligne pour
   * les slides normaux afin que leur CTA tombe exactement au même niveau.
   */
  .hero-carousel .hero-content > .actions:not(.hero-scheduled-actions) {
    margin-bottom:60px !important;
  }
}

@media (max-width:520px) {
  .hero-carousel .hero-content > .actions:not(.hero-scheduled-actions) {
    margin-bottom:56px !important;
  }
}

/* ========================================================================== */
/* V142 — mobile : disponibilité programmée légèrement remontée              */
/* ========================================================================== */
@media (max-width:760px) {
  /*
   * La ligne de disponibilité restait trop proche de la zone de fondu.
   * On remonte la pile programmée entière afin de préserver l'espacement
   * entre le bouton principal et la date, sans chevauchement.
   */
  .hero-carousel .hero-scheduled-actions {
    margin-bottom:18px !important;
  }
}

@media (max-width:520px) {
  .hero-carousel .hero-scheduled-actions {
    margin-bottom:16px !important;
  }
}

/* ========================================================================== */
/* V143 — mobile : suppression complète du fondu inférieur du carrousel       */
/* ========================================================================== */
@media (max-width:760px) {
  /* Plus de voile sombre progressif sur le bas de l'image : le visuel reste
     net jusqu'à sa vraie limite, y compris derrière le CTA et la date. */
  .hero-carousel .hero-slide .hero-backdrop::after {
    background:none !important;
  }

  /* La transition artificielle entre le hero et la section suivante est
     également retirée sur mobile : séparation franche, sans dégradé noir. */
  .home-content-shell::before {
    display:none !important;
  }
}

/* ========================================================================== */
/* V144 — finition basse de la carte mobile : coins + respiration disponibilité */
/* ========================================================================== */
@media (max-width:760px) {
  /* La section suivante ne doit plus recouvrir la fin de la carte. */
  .home-content-shell {
    margin-top:0 !important;
    padding-top:30px !important;
    border-top-left-radius:0 !important;
    border-top-right-radius:0 !important;
  }

  /* On laisse apparaître la vraie fin arrondie de l'image et un léger espace
     sous la ligne de disponibilité avant le bord inférieur de la carte. */
  .hero-carousel .hero-slide .hero-backdrop {
    bottom:54px !important;
    border-radius:24px !important;
    overflow:hidden;
  }

  .hero-carousel .hero-scheduled-actions {
    margin-bottom:28px !important;
  }

  .hero-carousel .hero-scheduled-actions .hero-scheduled-release {
    margin-top:2px !important;
  }
}

@media (max-width:520px) {
  .hero-carousel .hero-slide .hero-backdrop {
    bottom:48px !important;
    border-radius:22px !important;
  }

  .hero-carousel .hero-scheduled-actions {
    margin-bottom:24px !important;
  }
}

/* ========================================================================== */
/* V145 — carte mobile autonome : vraie fin d'image arrondie, sans voile noir */
/* ========================================================================== */
@media (max-width:760px) {
  /*
   * Le bas noir visible venait surtout de l'espace laissé SOUS le backdrop.
   * On transforme donc le hero mobile en une vraie carte : l'image, le contenu
   * et les CTA partagent exactement les mêmes limites arrondies.
   */
  .hero-carousel .hero-slide {
    position:relative;
    padding:12px 14px 12px !important;
    min-height:700px;
    background:transparent !important;
  }

  .hero-carousel .hero-slide .hero-backdrop {
    inset:12px 14px 12px !important;
    bottom:12px !important;
    border-radius:24px !important;
    overflow:hidden !important;
    clip-path:inset(0 round 24px);
  }

  /* Aucun voile ou dégradé ne doit pouvoir masquer les coins inférieurs. */
  .hero-carousel .hero-slide .hero-backdrop::after {
    display:none !important;
    content:none !important;
    background:none !important;
  }

  /* Le contenu est calé DANS la carte et non dans une zone noire séparée. */
  .hero-carousel .hero-content {
    position:absolute !important;
    z-index:8;
    inset:12px 14px 12px !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:250px 32px 24px !important;
    justify-content:flex-end !important;
    align-items:center;
    overflow:visible !important;
  }

  /* La date garde une vraie respiration avant le bord inférieur de la carte. */
  .hero-carousel .hero-scheduled-actions {
    margin:0 0 0 !important;
    gap:10px !important;
  }
  .hero-carousel .hero-scheduled-actions .hero-scheduled-release {
    margin:0 !important;
    min-height:46px;
  }

  /* Sur un slide normal, on réserve la hauteur de la date pour aligner le CTA. */
  .hero-carousel .hero-content > .actions:not(.hero-scheduled-actions) {
    margin:0 0 56px !important;
  }

  /* La section suivante commence seulement après la carte, sans recouvrement. */
  .home-content-shell {
    margin-top:0 !important;
    padding-top:30px !important;
    border-top-left-radius:0 !important;
    border-top-right-radius:0 !important;
  }
  .home-content-shell::before {
    display:none !important;
  }
}

@media (max-width:520px) {
  .hero-carousel .hero-slide {
    padding:10px 12px 10px !important;
    min-height:674px;
  }

  .hero-carousel .hero-slide .hero-backdrop {
    inset:10px 12px 10px !important;
    bottom:10px !important;
    border-radius:22px !important;
    clip-path:inset(0 round 22px);
  }

  .hero-carousel .hero-content {
    inset:10px 12px 10px !important;
    padding:238px 28px 20px !important;
  }

  .hero-carousel .hero-content > .actions:not(.hero-scheduled-actions) {
    margin-bottom:54px !important;
  }
}

/* ========================================================================== */
/* V146 — correctif racine : supprimer l'ancien max-height mobile de la V122 */
/* ========================================================================== */
@media (max-width:760px) {
  /*
   * V122 imposait encore max-height:680px (630px sous 520px) au hero parent.
   * Les cartes V145 font désormais ~700px : le parent les coupait donc avant
   * leur vraie fin, ce qui masquait le CTA, la date et les coins inférieurs.
   */
  .hero-carousel {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  .hero-carousel .hero-viewport,
  .hero-carousel .hero-slides {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  .hero-carousel .hero-slide {
    height:auto !important;
    min-height:700px !important;
    max-height:none !important;
  }
}

@media (max-width:520px) {
  .hero-carousel {
    max-height:none !important;
  }

  .hero-carousel .hero-slide {
    min-height:674px !important;
    max-height:none !important;
  }
}

/* ========================================================================== */
/* V147 — réduire l'espace entre le hero mobile et la première section        */
/* ========================================================================== */
@media (max-width:760px) {
  .home-content-shell {
    padding-top:12px !important;
  }
}

@media (max-width:520px) {
  .home-content-shell {
    padding-top:10px !important;
  }
}

/* ========================================================================== */
/* V148 — Recherche instantanée mobile : filtres et footer dans le flux       */
/* ========================================================================== */
@media (max-width:760px) {
  .search-overlay {
    height:100dvh;
    min-height:100dvh;
    overflow:hidden;
  }

  .search-panel {
    height:100dvh;
    min-height:0;
    max-height:none;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }

  .search-panel-heading,
  .search-row,
  .search-type-bar,
  .search-genre-bar {
    flex:0 0 auto;
    min-width:0;
    max-width:100%;
  }

  .search-type-bar {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    width:100%;
    margin:12px 0 8px;
    padding:0;
    overflow:visible;
  }

  .search-type-chip {
    width:100%;
    min-width:0;
    min-height:36px;
    padding:0 8px;
    white-space:nowrap;
  }

  .search-genre-bar {
    width:100%;
    margin-top:8px;
    padding:4px 2px 9px;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    scroll-padding-inline:2px;
    overscroll-behavior-x:contain;
    touch-action:pan-x;
  }

  .search-genre-chip {
    scroll-snap-align:start;
  }

  .search-library.search-suggestions {
    flex:1 1 auto;
    min-height:0;
    margin-top:8px;
    padding:14px 0 18px;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior-y:contain;
    border-top:1px solid rgba(255,255,255,.07);
    box-shadow:none;
  }

  .search-library-grid {
    align-items:start;
    padding-bottom:0;
  }

  .search-results-footer {
    position:static;
    inset:auto;
    width:100%;
    margin:16px 0 0;
    padding:0 0 8px;
    background:none;
  }

  .search-results-footer button {
    width:100%;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
  }
}

@media (max-width:520px) {
  .search-panel {
    padding:14px 16px 12px;
  }

  .search-panel-heading {
    margin-bottom:12px;
  }

  .search-type-chip {
    font-size:.72rem;
  }

  .search-genre-bar {
    margin-top:7px;
  }

  .search-library.search-suggestions {
    padding-top:12px;
    padding-bottom:max(16px, env(safe-area-inset-bottom));
  }

  .search-library-grid {
    gap:10px;
  }
}


/* ========================================================================== */
/* V150 — navigation tactile horizontale du carrousel mobile                  */
/* ========================================================================== */
@media (max-width:760px) {
  .hero-carousel,
  .hero-carousel .hero-viewport,
  .hero-carousel .hero-slides,
  .hero-carousel .hero-slide {
    touch-action:pan-y;
    overscroll-behavior-x:contain;
  }

  .hero-carousel .hero-backdrop,
  .hero-carousel .hero-content {
    -webkit-user-select:none;
    user-select:none;
  }

  .hero-carousel.is-touch-swiping {
    cursor:grabbing;
  }

  .hero-carousel.is-touch-swiping .hero-slide .hero-backdrop {
    pointer-events:none;
  }
}

/* ========================================================================== */
/* V151 — Suivi rapide des productions directement dans l'agenda             */
/* ========================================================================== */
.workspace-month-job-progress {
  flex:1 0 100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:5px;
  align-items:center;
  min-width:0;
  margin:2px 0 0 19px;
}
.workspace-month-job-progress > i {
  display:block;
  height:3px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}
.workspace-month-job-progress > i > b {
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--workspace-accent,#7b5cff),#20d9ff);
  transition:width .2s ease;
}
.workspace-month-job-progress > em {
  color:#aab3c3;
  font-size:.46rem;
  font-style:normal;
  font-weight:900;
  line-height:1;
}
.workspace-month-calendar-v53 .workspace-month-chip.is-deadline {
  min-height:31px;
}
.workspace-month-calendar-v53 .workspace-month-chip.is-deadline > button {
  align-items:center;
  padding-block:1px;
}
.workspace-month-calendar-v53 .workspace-month-chip.is-deadline > button:hover strong {
  color:#fff;
}

.workspace-unscheduled-progress {
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:3px;
}
.workspace-unscheduled-progress > i {
  flex:1;
  display:block;
  height:3px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.07);
}
.workspace-unscheduled-progress > i > b {
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--workspace-accent,#7b5cff),#20d9ff);
  transition:width .2s ease;
}
.workspace-unscheduled-progress > em {
  color:#8894a7;
  font-size:.52rem;
  font-style:normal;
  font-weight:900;
}

.workspace-calendar-job-progress {
  display:grid;
  grid-template-columns:auto minmax(34px,1fr) auto;
  gap:7px;
  align-items:center;
  margin-top:7px;
}
.workspace-calendar-job-progress > span,
.workspace-calendar-job-progress > strong {
  color:#8994a7;
  font-size:.55rem;
  font-weight:850;
}
.workspace-calendar-job-progress > strong { color:#d9deea; }
.workspace-calendar-job-progress > i {
  display:block;
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.07);
}
.workspace-calendar-job-progress > i > b {
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--workspace-accent,#7b5cff),#20d9ff);
  transition:width .2s ease;
}

.workspace-job-quick-panel {
  position:fixed;
  z-index:180;
  width:min(390px,calc(100vw - 24px));
  max-height:min(680px,calc(100vh - 24px));
  overflow:auto;
  padding:14px;
  border:1px solid rgba(123,92,255,.26);
  border-radius:18px;
  background:linear-gradient(165deg,rgba(17,20,30,.985),rgba(8,10,16,.99));
  box-shadow:0 30px 90px rgba(0,0,0,.56),0 0 0 1px rgba(255,255,255,.025) inset;
  backdrop-filter:blur(22px) saturate(140%);
  transform-origin:top left;
  animation:workspaceQuickIn .16s ease both;
}
@keyframes workspaceQuickIn {
  from { opacity:0; transform:translateY(-5px) scale(.985); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
.workspace-job-quick-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.workspace-job-quick-identity {
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
}
.workspace-job-quick-thumb {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:13px;
  background:rgba(255,255,255,.045);
  color:#aa98ff;
}
.workspace-job-quick-thumb img { width:100%; height:100%; object-fit:cover; }
.workspace-job-quick-identity > div { min-width:0; }
.workspace-job-quick-identity small,
.workspace-job-quick-identity strong,
.workspace-job-quick-identity span { display:block; }
.workspace-job-quick-identity small {
  overflow:hidden;
  color:#9d8cff;
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.06em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.workspace-job-quick-identity strong {
  margin:2px 0 3px;
  overflow:hidden;
  color:#f5f6fa;
  font-size:.82rem;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.workspace-job-quick-identity span {
  overflow:hidden;
  color:#7f899c;
  font-size:.58rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.workspace-job-quick-close {
  flex:none;
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  padding:0;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.035);
  color:#aeb6c7;
  font-size:1.05rem;
  line-height:1;
}
.workspace-job-quick-close:hover { color:#fff; border-color:rgba(255,255,255,.15); }
.workspace-job-quick-progress {
  display:grid;
  gap:6px;
  margin:13px 0 11px;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
.workspace-job-quick-progress > div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#7e889a;
  font-size:.58rem;
  font-weight:800;
}
.workspace-job-quick-progress > div strong { color:#eceefa; font-size:.72rem; }
.workspace-job-quick-progress > i {
  display:block;
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.065);
}
.workspace-job-quick-progress > i > b {
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#7b5cff,#20d9ff);
  transition:width .22s ease;
}
.workspace-job-quick-checklist {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.workspace-job-quick-checklist label { min-width:0; cursor:pointer; }
.workspace-job-quick-checklist input {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.workspace-job-quick-checklist span {
  display:flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:7px 8px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:10px;
  background:rgba(255,255,255,.022);
  color:#adb5c5;
  font-size:.59rem;
  font-weight:800;
  line-height:1.2;
  transition:border-color .15s ease,background .15s ease,color .15s ease;
}
.workspace-job-quick-checklist span i {
  flex:none;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:6px;
  color:transparent;
  background:#090c13;
  font-size:.58rem;
  font-style:normal;
}
.workspace-job-quick-checklist input:checked + span {
  border-color:rgba(46,211,167,.2);
  background:rgba(46,211,167,.065);
  color:#d9f5ea;
}
.workspace-job-quick-checklist input:checked + span i {
  border-color:rgba(46,211,167,.4);
  background:rgba(46,211,167,.16);
  color:#70e1b7;
}
.workspace-job-quick-checklist input:disabled + span { opacity:.55; cursor:wait; }
.workspace-job-quick-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid rgba(255,255,255,.055);
}
.workspace-job-quick-actions > span {
  color:#697487;
  font-size:.52rem;
  line-height:1.3;
  text-align:right;
}
.workspace-job-quick-actions > span.is-saving { color:#8edfff; }
.workspace-job-quick-actions > span.is-saved { color:#72e2b5; }
.workspace-job-quick-actions > span.is-error { color:#ff809a; }
[data-workspace-job-quick-trigger] { cursor:pointer; }
.workspace-month-chip.is-deadline [data-workspace-job-quick-trigger]:focus-visible,
.workspace-agenda-card.is-deadline [data-workspace-job-quick-trigger]:focus-visible {
  outline:2px solid rgba(123,92,255,.48);
  outline-offset:2px;
  border-radius:8px;
}

@media (max-width:700px) {
  .workspace-job-quick-panel {
    left:10px !important;
    right:10px !important;
    top:auto !important;
    bottom:10px !important;
    width:auto;
    max-height:min(74vh,680px);
    border-radius:20px;
    transform-origin:bottom center;
  }
  .workspace-job-quick-checklist { grid-template-columns:1fr; }
  .workspace-job-quick-actions { align-items:stretch; flex-direction:column; }
  .workspace-job-quick-actions .small-button { width:100%; justify-content:center; }
  .workspace-job-quick-actions > span { text-align:center; }
}


/* ========================================================================== */
/* V152 — progression de production : états visuels validés                   */
/* ========================================================================== */
/* Les productions prennent progressivement une teinte plus "faite". */
[data-calendar-kind="deadline"].is-progress-mid,
.workspace-job-quick-panel.is-progress-mid,
.creator-job-card.is-progress-mid {
  --production-progress-color:#55c9a0;
  --production-progress-color-2:#72dfb7;
}
[data-calendar-kind="deadline"].is-progress-high,
.workspace-job-quick-panel.is-progress-high,
.creator-job-card.is-progress-high {
  --production-progress-color:#35c88d;
  --production-progress-color-2:#62e2aa;
}
[data-calendar-kind="deadline"].is-progress-done,
.workspace-job-quick-panel.is-progress-done,
.creator-job-card.is-progress-done {
  --production-progress-color:#27b97d;
  --production-progress-color-2:#54d99e;
}

/* Barres du mois, de la semaine et de la file à planifier. */
[data-calendar-kind="deadline"].is-progress-mid [data-calendar-job-progress-bar],
[data-calendar-kind="deadline"].is-progress-high [data-calendar-job-progress-bar],
[data-calendar-kind="deadline"].is-progress-done [data-calendar-job-progress-bar] {
  background:linear-gradient(90deg,var(--production-progress-color),var(--production-progress-color-2));
  box-shadow:0 0 12px rgba(53,200,141,.18);
}
[data-calendar-kind="deadline"].is-progress-mid [data-calendar-job-progress],
[data-calendar-kind="deadline"].is-progress-high [data-calendar-job-progress],
[data-calendar-kind="deadline"].is-progress-done [data-calendar-job-progress] {
  color:#8ee6c2;
}
[data-calendar-kind="deadline"].is-progress-high,
[data-calendar-kind="deadline"].is-progress-done {
  border-color:rgba(52,199,139,.20);
  background-color:rgba(20,61,47,.10);
}
[data-calendar-kind="deadline"].is-progress-done {
  box-shadow:inset 0 0 0 1px rgba(52,199,139,.08),0 8px 22px rgba(0,0,0,.15);
}
[data-calendar-kind="deadline"].is-progress-done [data-workspace-job-quick-trigger] > strong,
[data-calendar-kind="deadline"].is-progress-done h3 {
  color:#d9f7ea;
}

/* Fiche complète : le pourcentage et la barre deviennent verts eux aussi. */
.creator-job-card.is-progress-mid > header > strong,
.creator-job-card.is-progress-high > header > strong,
.creator-job-card.is-progress-done > header > strong {
  color:#7fe0b9;
}
.creator-job-card.is-progress-mid .creator-job-progress i,
.creator-job-card.is-progress-high .creator-job-progress i,
.creator-job-card.is-progress-done .creator-job-progress i {
  background:linear-gradient(90deg,var(--production-progress-color),var(--production-progress-color-2));
}
.creator-job-card.is-progress-done {
  border-color:rgba(46,211,167,.24);
  background:linear-gradient(145deg,rgba(18,52,42,.55),rgba(9,18,16,.98));
}

/* Panneau rapide : l'avancement global change franchement d'état. */
.workspace-job-quick-panel.is-progress-mid .workspace-job-quick-progress,
.workspace-job-quick-panel.is-progress-high .workspace-job-quick-progress,
.workspace-job-quick-panel.is-progress-done .workspace-job-quick-progress {
  border-color:rgba(46,211,167,.14);
  background:linear-gradient(145deg,rgba(34,111,82,.08),rgba(13,35,29,.15));
}
.workspace-job-quick-panel.is-progress-mid .workspace-job-quick-progress > div strong,
.workspace-job-quick-panel.is-progress-high .workspace-job-quick-progress > div strong,
.workspace-job-quick-panel.is-progress-done .workspace-job-quick-progress > div strong {
  color:#83e3bd;
}
.workspace-job-quick-panel.is-progress-mid .workspace-job-quick-progress > i > b,
.workspace-job-quick-panel.is-progress-high .workspace-job-quick-progress > i > b,
.workspace-job-quick-panel.is-progress-done .workspace-job-quick-progress > i > b {
  background:linear-gradient(90deg,var(--production-progress-color),var(--production-progress-color-2));
  box-shadow:0 0 14px rgba(46,211,167,.20);
}
.workspace-job-quick-panel.is-progress-done {
  border-color:rgba(46,211,167,.24);
  background:linear-gradient(165deg,rgba(14,35,29,.99),rgba(7,15,13,.995));
}

/* Une étape cochée doit immédiatement lire comme "validée". */
.workspace-job-quick-checklist input:checked + span {
  border-color:rgba(55,213,157,.34);
  background:linear-gradient(145deg,rgba(31,111,82,.28),rgba(15,56,43,.32));
  color:#bcefd9;
  box-shadow:inset 0 0 0 1px rgba(87,227,175,.035);
}
.workspace-job-quick-checklist input:checked + span i {
  border-color:rgba(73,222,167,.58);
  background:rgba(34,151,108,.34);
  color:#8af0c7;
  box-shadow:0 0 10px rgba(47,210,151,.12);
}
.workspace-job-quick-checklist input:checked + span i::before {
  content:"✓";
}
.workspace-job-quick-checklist input:checked + span {
  text-decoration:none;
}

/* Même lecture "fait" dans la fiche complète. */
.creator-job-steps label:has(input:checked) {
  border:1px solid rgba(46,211,167,.16);
  background:rgba(30,104,77,.16);
}
.creator-job-steps input:checked + span {
  color:#8be4c0;
  text-decoration:none;
}


/* ========================================================================== */
/* V153 — la capsule de production passe réellement du rose vers le vert     */
/* ========================================================================== */
/*
 * La couleur de chaîne reste la couleur de départ. À mesure que la production
 * avance, la capsule entière se mélange avec le vert de validation. À 100 %,
 * elle ne ressemble plus à une production "à faire" mais à un élément validé.
 */
[data-calendar-kind="deadline"].is-progress-empty {
  --production-capsule-tone:var(--workspace-accent,#ff4fa3);
}
[data-calendar-kind="deadline"].is-progress-low {
  --production-capsule-tone:color-mix(in srgb,var(--workspace-accent,#ff4fa3) 72%,#2ed3a7 28%);
}
[data-calendar-kind="deadline"].is-progress-mid {
  --production-capsule-tone:color-mix(in srgb,var(--workspace-accent,#ff4fa3) 42%,#2ed3a7 58%);
}
[data-calendar-kind="deadline"].is-progress-high {
  --production-capsule-tone:color-mix(in srgb,var(--workspace-accent,#ff4fa3) 18%,#2ed3a7 82%);
}
[data-calendar-kind="deadline"].is-progress-done {
  --production-capsule-tone:#2ed3a7;
}

/* Capsule compacte du calendrier mensuel. */
.workspace-month-chip.is-deadline.is-progress-empty,
.workspace-month-chip.is-deadline.is-progress-low,
.workspace-month-chip.is-deadline.is-progress-mid,
.workspace-month-chip.is-deadline.is-progress-high,
.workspace-month-chip.is-deadline.is-progress-done {
  border-color:color-mix(in srgb,var(--production-capsule-tone) 42%,rgba(255,255,255,.06));
  background:linear-gradient(
    145deg,
    color-mix(in srgb,var(--production-capsule-tone) 20%,rgba(17,20,29,.94)),
    color-mix(in srgb,var(--production-capsule-tone) 7%,rgba(12,15,22,.97))
  );
  color:color-mix(in srgb,var(--production-capsule-tone) 67%,#fff);
  box-shadow:inset 3px 0 0 var(--production-capsule-tone),0 5px 14px rgba(0,0,0,.12);
  transition:border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.workspace-month-chip.is-deadline.is-progress-mid,
.workspace-month-chip.is-deadline.is-progress-high,
.workspace-month-chip.is-deadline.is-progress-done {
  background:linear-gradient(
    145deg,
    color-mix(in srgb,var(--production-capsule-tone) 25%,rgba(14,25,23,.96)),
    color-mix(in srgb,var(--production-capsule-tone) 9%,rgba(9,17,16,.98))
  );
}
.workspace-month-chip.is-deadline.is-progress-done {
  border-color:rgba(66,218,164,.42);
  box-shadow:inset 3px 0 0 #2ed3a7,0 0 0 1px rgba(46,211,167,.06),0 6px 16px rgba(0,0,0,.14);
}

/* Même lecture dans la semaine et dans "À planifier". */
.workspace-agenda-card.is-deadline.is-progress-empty,
.workspace-agenda-card.is-deadline.is-progress-low,
.workspace-agenda-card.is-deadline.is-progress-mid,
.workspace-agenda-card.is-deadline.is-progress-high,
.workspace-agenda-card.is-deadline.is-progress-done,
.workspace-unscheduled-item.is-progress-empty,
.workspace-unscheduled-item.is-progress-low,
.workspace-unscheduled-item.is-progress-mid,
.workspace-unscheduled-item.is-progress-high,
.workspace-unscheduled-item.is-progress-done {
  border-color:color-mix(in srgb,var(--production-capsule-tone,var(--workspace-accent,#ff4fa3)) 38%,rgba(255,255,255,.06));
  background:linear-gradient(
    145deg,
    color-mix(in srgb,var(--production-capsule-tone,var(--workspace-accent,#ff4fa3)) 18%,rgba(17,20,29,.95)),
    rgba(10,14,20,.98)
  );
  box-shadow:inset 3px 0 0 var(--production-capsule-tone,var(--workspace-accent,#ff4fa3)),0 7px 18px rgba(0,0,0,.13);
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.workspace-agenda-card.is-deadline.is-progress-done,
.workspace-unscheduled-item.is-progress-done {
  border-color:rgba(66,218,164,.38);
  background:linear-gradient(145deg,rgba(21,70,54,.34),rgba(9,19,16,.98));
}

/* Le texte de pourcentage suit la capsule au lieu de rester neutre. */
[data-calendar-kind="deadline"].is-progress-low [data-calendar-job-progress],
[data-calendar-kind="deadline"].is-progress-mid [data-calendar-job-progress],
[data-calendar-kind="deadline"].is-progress-high [data-calendar-job-progress],
[data-calendar-kind="deadline"].is-progress-done [data-calendar-job-progress] {
  color:color-mix(in srgb,var(--production-capsule-tone,#2ed3a7) 72%,#fff);
}

/* ==========================================================
   V154 — étape conditionnelle « Upload sur le site »
   ========================================================== */
.creator-job-site-toggle,
.workspace-job-quick-site-toggle,
.workspace-production-site-setting {
  display:flex;
  align-items:flex-start;
  gap:10px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  cursor:pointer;
}
.creator-job-site-toggle { padding:9px 10px; }
.workspace-job-quick-site-toggle { margin:0 0 10px; padding:10px 11px; }
.workspace-production-site-setting { padding:12px 13px; }
.creator-job-site-toggle > input,
.workspace-job-quick-site-toggle > input,
.workspace-production-site-setting > input {
  flex:0 0 auto;
  width:17px;
  height:17px;
  margin:1px 0 0;
  accent-color:#39cf91;
}
.creator-job-site-toggle > span,
.workspace-job-quick-site-toggle > span,
.workspace-production-site-setting > span { min-width:0; }
.creator-job-site-toggle b,
.creator-job-site-toggle small,
.workspace-job-quick-site-toggle b,
.workspace-job-quick-site-toggle small,
.workspace-production-site-setting strong,
.workspace-production-site-setting small { display:block; }
.creator-job-site-toggle b,
.workspace-job-quick-site-toggle b,
.workspace-production-site-setting strong { color:#eef2f7; font-size:.7rem; }
.creator-job-site-toggle small,
.workspace-job-quick-site-toggle small,
.workspace-production-site-setting small { margin-top:2px; color:#7f8796; font-size:.58rem; line-height:1.4; }
.creator-job-site-toggle:has(input:checked),
.workspace-job-quick-site-toggle:has(input:checked),
.workspace-production-site-setting:has(input:checked) {
  border-color:rgba(57,207,145,.27);
  background:linear-gradient(135deg,rgba(36,148,103,.1),rgba(255,255,255,.025));
  box-shadow:inset 0 0 0 1px rgba(57,207,145,.04);
}
.creator-job-site-toggle:has(input:checked) b,
.workspace-job-quick-site-toggle:has(input:checked) b,
.workspace-production-site-setting:has(input:checked) strong { color:#86e5bc; }
.creator-job-steps [data-site-upload-step-row] {
  border:1px solid rgba(57,207,145,.11);
  background:rgba(39,154,109,.045);
}
.workspace-job-quick-checklist [data-site-upload-step-row] span {
  border-color:rgba(57,207,145,.16);
}
@media (max-width:700px) {
  .creator-job-site-toggle,
  .workspace-job-quick-site-toggle,
  .workspace-production-site-setting { gap:8px; }
  .creator-job-site-toggle small,
  .workspace-job-quick-site-toggle small { font-size:.56rem; }
}


/* ========================================================================== */
/* V155 — une étape site obligatoire manquante ne peut jamais paraître finie */
/* ========================================================================== */
[data-calendar-kind="deadline"].is-site-upload-pending,
.workspace-job-quick-panel.is-site-upload-pending,
.creator-job-card.is-site-upload-pending {
  --production-progress-color:#b6a85a;
  --production-progress-color-2:#64c99a;
  --production-capsule-tone:color-mix(in srgb,var(--workspace-accent,#ff4fa3) 48%,#55bd8f 52%);
}
.workspace-month-chip.is-deadline.is-site-upload-pending,
.workspace-agenda-card.is-deadline.is-site-upload-pending,
.workspace-unscheduled-item.is-site-upload-pending {
  border-color:color-mix(in srgb,var(--production-capsule-tone) 38%,rgba(255,255,255,.08));
  box-shadow:inset 3px 0 0 var(--production-capsule-tone),0 5px 14px rgba(0,0,0,.12);
}
[data-calendar-kind="deadline"].is-site-upload-pending [data-calendar-job-progress] {
  color:#d9d3a5;
}
.workspace-job-quick-panel.is-site-upload-pending .workspace-job-quick-progress > div strong,
.creator-job-card.is-site-upload-pending > header > strong {
  color:#d4d09a;
}


/* ========================================================================== */
/* V155 — connexion YouTube Studio pour vidéos privées programmées            */
/* ========================================================================== */
.youtube-studio-connect-card {
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
}
.youtube-studio-connect-card.is-connected {
  border-color:rgba(46,211,167,.22);
  background:linear-gradient(145deg,rgba(28,92,69,.12),rgba(255,255,255,.015));
}
.youtube-studio-connect-icon {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:14px;
  background:rgba(255,56,56,.13);
  color:#ff6b6b;
  font-size:1.05rem;
}
.youtube-studio-connect-card.is-connected .youtube-studio-connect-icon {
  background:rgba(46,211,167,.12);
  color:#75e5bc;
}
.youtube-studio-connect-copy strong,
.youtube-studio-connect-copy p,
.youtube-studio-connect-copy small { display:block; }
.youtube-studio-connect-copy strong { margin-top:2px; color:#f4f5f9; font-size:.88rem; }
.youtube-studio-connect-copy p { margin:4px 0 0; color:#999eac; font-size:.7rem; line-height:1.45; }
.youtube-studio-connect-copy small { margin-top:6px; color:#777e8e; font-size:.62rem; line-height:1.45; }
.youtube-studio-connect-copy code { color:#c8bcff; overflow-wrap:anywhere; }
.youtube-studio-connect-actions { display:flex; align-items:center; justify-content:flex-end; }
.youtube-studio-connect-actions form { margin:0; }
@media (max-width:760px) {
  .youtube-studio-connect-card { grid-template-columns:40px minmax(0,1fr); }
  .youtube-studio-connect-icon { width:40px; height:40px; }
  .youtube-studio-connect-actions { grid-column:1 / -1; justify-content:stretch; }
  .youtube-studio-connect-actions > *,
  .youtube-studio-connect-actions .button,
  .youtube-studio-connect-actions .small-button { width:100%; justify-content:center; }
}

/* ==========================================================
   V156 — YouTube Studio multi-chaînes + accueil à venir séparé
   ========================================================== */
.youtube-studio-channel-list {
  grid-column:1 / -1;
  display:grid;
  gap:8px;
  margin-top:4px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.075);
}
.youtube-studio-channel-row {
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(83,211,150,.16);
  border-radius:12px;
  background:rgba(35,126,88,.055);
}
.youtube-studio-channel-state {
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:9px;
  background:rgba(54,196,126,.09);
  border:1px solid rgba(76,215,148,.18);
}
.youtube-studio-channel-state i {
  width:8px;
  height:8px;
  border-radius:50%;
  background:#55d79d;
  box-shadow:0 0 0 4px rgba(85,215,157,.09);
}
.youtube-studio-channel-copy { min-width:0; }
.youtube-studio-channel-copy strong,
.youtube-studio-channel-copy small { display:block; }
.youtube-studio-channel-copy strong {
  overflow:hidden;
  color:#f0f5f2;
  font-size:.74rem;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.youtube-studio-channel-copy small {
  margin-top:2px;
  overflow:hidden;
  color:#7f8b87;
  font-size:.59rem;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.youtube-studio-channel-row form { margin:0; }

/* Les deux familles ne partagent plus une rangée hétérogène. */
.upcoming-content-rail,
.upcoming-episodes-rail { align-items:flex-start; }
.upcoming-content-rail > .upcoming-series-poster { flex:0 0 min(245px,20vw); }
.upcoming-episodes-rail > .upcoming-episode-card { flex:0 0 min(330px,30vw); }
.upcoming-episodes-section .section-heading p,
.upcoming-series-section .section-heading p { max-width:620px; }

@media (max-width:760px) {
  .youtube-studio-channel-row {
    grid-template-columns:26px minmax(0,1fr);
  }
  .youtube-studio-channel-row form { grid-column:1 / -1; }
  .youtube-studio-channel-row form .small-button { width:100%; justify-content:center; }
  .upcoming-content-rail > .upcoming-series-poster { flex-basis:48vw; }
  .upcoming-episodes-rail > .upcoming-episode-card { flex-basis:86vw; }
}

/* ========================================================================== */
/* V157 — publication d'un épisode directement depuis la production           */
/* ========================================================================== */
.workspace-job-quick-site-publisher,
.creator-job-site-publisher {
  border:1px solid rgba(46,211,167,.13);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(25,90,69,.075),rgba(255,255,255,.018));
}
.workspace-job-quick-site-publisher { margin:0 0 11px; padding:11px; }
.workspace-site-publish-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin:0 0 10px;
}
.workspace-site-publish-heading small,
.workspace-site-publish-heading strong { display:block; }
.workspace-site-publish-heading small {
  color:#69d7ad;
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.workspace-site-publish-heading strong { margin-top:2px; color:#f0f6f3; font-size:.72rem; }
.workspace-site-publish-heading > span {
  flex:none;
  padding:4px 7px;
  border:1px solid rgba(46,211,167,.18);
  border-radius:999px;
  color:#8de2bf;
  background:rgba(46,211,167,.06);
  font-size:.5rem;
  font-weight:850;
}
.creator-job-site-publisher { margin:8px 0; overflow:hidden; }
.creator-job-site-publisher > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
  cursor:pointer;
  list-style:none;
}
.creator-job-site-publisher > summary::-webkit-details-marker { display:none; }
.creator-job-site-publisher > summary span { min-width:0; }
.creator-job-site-publisher > summary b,
.creator-job-site-publisher > summary small { display:block; }
.creator-job-site-publisher > summary b { color:#a7e8cb; font-size:.65rem; }
.creator-job-site-publisher > summary small {
  margin-top:2px;
  overflow:hidden;
  color:#768596;
  font-size:.55rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.creator-job-site-publisher > summary em { color:#70cfa9; font-size:.72rem; font-style:normal; transition:transform .18s ease; }
.creator-job-site-publisher[open] > summary em { transform:rotate(180deg); }
.creator-job-site-publisher-body {
  padding:0 11px 11px;
  border-top:1px solid rgba(255,255,255,.045);
}
.workspace-site-publish-form { padding-top:10px; }
.workspace-job-quick-site-publisher .workspace-site-publish-form { padding-top:0; }
.workspace-site-publish-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 84px;
  gap:8px;
}
.workspace-site-publish-grid > label { min-width:0; }
.workspace-site-publish-grid > label > span {
  display:block;
  margin:0 0 4px;
  color:#7f8a9c;
  font-size:.52rem;
  font-weight:800;
}
.workspace-site-publish-grid input,
.workspace-site-publish-grid select {
  width:100%;
  min-height:36px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:9px;
  outline:none;
  background:#090c12;
  color:#e8ebf1;
  font-size:.61rem;
}
.workspace-site-publish-grid input:focus,
.workspace-site-publish-grid select:focus { border-color:rgba(46,211,167,.34); box-shadow:0 0 0 2px rgba(46,211,167,.055); }
.workspace-site-publish-grid .is-youtube,
.workspace-site-publish-grid .is-title { grid-column:1/-1; }
.workspace-site-publish-grid .is-youtube > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; }
.workspace-site-publish-grid .is-youtube .small-button { min-height:36px; padding:6px 9px; }
.workspace-site-publish-preview {
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:9px;
  align-items:center;
  margin:9px 0 0;
  padding:7px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:10px;
  background:rgba(0,0,0,.16);
}
.workspace-site-publish-preview > span {
  display:grid;
  place-items:center;
  width:62px;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:7px;
  background:#07090d;
  color:#ff7474;
}
.workspace-site-publish-preview img { width:100%; height:100%; object-fit:cover; }
.workspace-site-publish-preview div { min-width:0; }
.workspace-site-publish-preview small,
.workspace-site-publish-preview strong,
.workspace-site-publish-preview em { display:block; }
.workspace-site-publish-preview small { color:#69d7ad; font-size:.48rem; font-weight:850; text-transform:uppercase; }
.workspace-site-publish-preview strong {
  margin:2px 0;
  overflow:hidden;
  color:#eef2f7;
  font-size:.61rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.workspace-site-publish-preview em { color:#7f8998; font-size:.52rem; font-style:normal; }
.workspace-site-publish-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  margin-top:9px;
}
.workspace-site-publish-visible { display:flex; align-items:center; gap:6px; color:#909aaa; font-size:.55rem; cursor:pointer; }
.workspace-site-publish-visible input { accent-color:#39cf91; }
.workspace-site-publish-buttons { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.workspace-site-publish-buttons .button { min-height:34px; padding:6px 10px; border-radius:9px; font-size:.59rem; }
.workspace-site-publish-buttons .small-button { min-height:34px; }
.workspace-site-publish-status {
  margin-top:8px;
  padding-top:7px;
  border-top:1px solid rgba(255,255,255,.045);
  color:#778294;
  font-size:.52rem;
  line-height:1.4;
}
.workspace-site-publish-status[data-tone="loading"] { color:#8edfff; }
.workspace-site-publish-status[data-tone="success"] { color:#74dfb4; }
.workspace-site-publish-status[data-tone="error"] { color:#ff809a; }
.workspace-job-quick-panel:has(.workspace-job-quick-site-publisher:not([hidden])) { width:min(440px,calc(100vw - 24px)); }

@media (max-width:700px) {
  .workspace-site-publish-grid { grid-template-columns:minmax(0,1fr) 76px; }
  .workspace-site-publish-footer { align-items:stretch; flex-direction:column; }
  .workspace-site-publish-buttons { display:grid; grid-template-columns:1fr; width:100%; }
  .workspace-site-publish-buttons .button,
  .workspace-site-publish-buttons .small-button { width:100%; justify-content:center; }
  .workspace-job-quick-panel:has(.workspace-job-quick-site-publisher:not([hidden])) { max-height:min(84vh,760px); }
}


/* V161 — miniature d'épisode réelle uniquement, sans faux visuel de série */
.workspace-site-publish-grid .is-thumbnail { grid-column:1/-1; }
.episode-thumbnail-pending {
  width:100%; height:100%; min-height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  padding:18px; text-align:center; color:#7f8796; background:linear-gradient(145deg,#11141c,#0b0d12);
}
.episode-thumbnail-pending span { font-size:1.5rem; opacity:.75; }
.episode-thumbnail-pending strong { color:#b8bec9; font-size:.78rem; }
.episode-thumbnail-pending small { max-width:220px; color:#6f7685; font-size:.62rem; line-height:1.4; }
.episode-thumbnail-pending.compact { min-height:86px; padding:10px; gap:3px; }
.episode-thumbnail-pending.compact span { font-size:1rem; }
.episode-thumbnail-pending.compact strong { font-size:.62rem; }
.release-card-visual.is-thumbnail-pending { background:#0d1017; }


/* V162 — état propre pendant la récupération automatique des miniatures YouTube */
.episode-thumbnail-pending {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 28% 28%,rgba(123,92,255,.12),transparent 34%),
    linear-gradient(135deg,#11151e,#0a0d13);
}
.episode-thumbnail-pending::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-35% -60%;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.065) 49%,transparent 60%);
  transform:translateX(-45%);
  animation:episodeThumbnailSync 2.4s ease-in-out infinite;
}
.episode-thumbnail-pending > span {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  background:rgba(255,255,255,.035);
  animation:episodeThumbnailSpin 2.2s linear infinite;
}
@keyframes episodeThumbnailSync {
  0%,18% { transform:translateX(-48%); opacity:0; }
  36% { opacity:1; }
  72%,100% { transform:translateX(48%); opacity:0; }
}
@keyframes episodeThumbnailSpin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) {
  .episode-thumbnail-pending::before,
  .episode-thumbnail-pending > span { animation:none; }
}

/* ========================================================================== */
/* V165 — Médiathèque intelligente : dossiers virtuels + imports YouTube      */
/* ========================================================================== */
.media-folder-organizer {
  margin:16px 0 14px;
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(123,92,255,.055),rgba(255,255,255,.018));
}
.media-folder-organizer-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.media-folder-organizer-head > div { min-width:0; display:grid; gap:4px; }
.media-folder-organizer-head > div > strong { color:#f5f5f9; font-size:.92rem; }
.media-folder-organizer-head > div > small { max-width:760px; color:#8d93a2; font-size:.7rem; line-height:1.5; }
.media-folder-list {
  display:flex;
  align-items:stretch;
  gap:8px;
  overflow-x:auto;
  padding:2px 2px 7px;
  scrollbar-width:thin;
}
.media-folder-chip {
  position:relative;
  flex:0 0 auto;
  min-width:140px;
  min-height:48px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:#0b0e15;
  color:#d9dbe4;
  text-align:left;
  transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;
}
.media-folder-chip:hover,
.media-folder-chip:focus-visible { border-color:rgba(123,92,255,.45); outline:none; }
.media-folder-chip.is-active {
  border-color:rgba(123,92,255,.6);
  background:linear-gradient(145deg,rgba(123,92,255,.18),rgba(123,92,255,.06));
  box-shadow:0 0 0 2px rgba(123,92,255,.08) inset;
}
.media-folder-chip.is-drop-target {
  border-color:rgba(61,220,151,.75);
  background:rgba(61,220,151,.12);
  box-shadow:0 0 0 3px rgba(61,220,151,.12);
  transform:translateY(-2px);
}
.media-folder-chip .media-folder-icon {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:rgba(123,92,255,.1);
  color:#c9c1ff;
  font-size:.78rem;
}
.media-folder-chip strong {
  max-width:180px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.71rem;
}
.media-folder-chip small {
  min-width:20px;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#9298a8;
  font-size:.58rem;
  text-align:center;
}
.media-folder-chip em {
  position:absolute;
  right:7px;
  top:-6px;
  padding:2px 5px;
  border:1px solid rgba(61,220,151,.25);
  border-radius:999px;
  background:#0d211a;
  color:#8ff0c2;
  font-size:.47rem;
  font-style:normal;
  font-weight:900;
  letter-spacing:.08em;
}
.media-folder-chip.is-compact {
  min-width:auto;
  min-height:38px;
  grid-template-columns:20px auto auto;
  padding:6px 9px;
  border-radius:10px;
}
.media-folder-chip.is-compact .media-folder-icon { width:20px; height:20px; border-radius:6px; font-size:.62rem; }
.media-folder-chip.is-compact strong { max-width:140px; font-size:.64rem; }
.media-folder-chip.is-compact small { font-size:.52rem; }
.media-folder-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}
.media-folder-actions[hidden] { display:none; }
.media-modal-folderbar {
  min-width:0;
  display:grid;
  gap:6px;
}
.media-modal-folderbar > span {
  color:#777e90;
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.media-modal-dialog { grid-template-rows:auto auto auto auto auto minmax(0,1fr); }
.media-source-badge {
  position:absolute;
  right:9px;
  top:9px;
  z-index:2;
  padding:5px 7px;
  border:1px solid rgba(255,80,80,.24);
  border-radius:999px;
  background:rgba(55,10,13,.78);
  color:#ff9da7;
  font-size:.55rem;
  font-weight:900;
  backdrop-filter:blur(9px);
}
.media-folder-line {
  color:#aaa2dc !important;
  font-size:.61rem !important;
  font-weight:750;
}
.media-library-card[draggable="true"] { cursor:grab; }
.media-library-card[draggable="true"]:active { cursor:grabbing; }
.media-library-card.is-dragging { opacity:.45; transform:scale(.98); }
.admin-page-media .media-manager-actions { flex-wrap:wrap; }

@media (max-width:760px) {
  .media-folder-organizer-head { flex-direction:column; }
  .media-folder-organizer-head .small-button { width:100%; justify-content:center; }
  .media-folder-chip { min-width:128px; }
  .media-modal-dialog { grid-template-rows:auto auto auto auto auto minmax(0,1fr); }
}


/* ========================================================================== */
/* V166 — rangement rapide directement depuis chaque carte de la médiathèque */
/* ========================================================================== */
.admin-page-media .media-card-folder-button {
  position:absolute;
  right:9px;
  bottom:9px;
  z-index:5;
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;
  background:rgba(7,9,14,.78);
  color:#f5f5fa;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
  backdrop-filter:blur(10px);
  cursor:pointer;
}
.admin-page-media .media-card-folder-button:hover,
.admin-page-media .media-card-folder-button.is-open {
  border-color:rgba(148,125,255,.55);
  background:rgba(25,20,48,.9);
}
.admin-page-media .media-card-folder-button span { font-size:.72rem; line-height:1; }
.admin-page-media .media-card-folder-button strong { font-size:.61rem; font-weight:850; letter-spacing:.01em; }
.admin-page-media .media-card-folder-picker {
  position:absolute;
  z-index:8;
  right:9px;
  left:9px;
  bottom:9px;
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  background:rgba(10,12,19,.96);
  box-shadow:0 18px 50px rgba(0,0,0,.5);
  backdrop-filter:blur(16px);
}
.admin-page-media .media-card-folder-picker[hidden] { display:none; }
.admin-page-media .media-card-folder-picker > span {
  color:#a9a0db;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-page-media .media-card-folder-picker select {
  width:100%;
  min-height:36px;
  padding:7px 30px 7px 9px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:9px;
  background:#090b11;
  color:#f3f4f8;
  font-size:.66rem;
  outline:none;
}
.admin-page-media .media-card-folder-picker select:focus {
  border-color:rgba(123,92,255,.7);
  box-shadow:0 0 0 3px rgba(123,92,255,.12);
}
.admin-page-media .media-card-folder-picker-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.admin-page-media .media-card-folder-picker-actions .small-button {
  width:100%;
  min-height:32px;
  justify-content:center;
  font-size:.61rem;
}
.admin-page-media .media-card-folder-picker-actions .small-button.is-primary {
  border-color:rgba(123,92,255,.48);
  background:rgba(123,92,255,.16);
  color:#eeeaff;
}
.admin-page-media .media-library-image .media-optimization-badge {
  max-width:calc(100% - 98px);
}
@media (max-width:760px) {
  .admin-page-media .media-card-folder-button { min-height:30px; padding:5px 8px; }
  .admin-page-media .media-card-folder-button strong { font-size:.58rem; }
}
