/* Ce fichier ne recolore jamais le theme original. Tokens + classes compatibles PHP/React. */
html{--theme-bg:#0a0a0f;--theme-panel:#15151e;--theme-accent:#ff3b4e;--theme-secondary:#a477ce;--theme-tertiary:#c8d0d8;--theme-text:#f5f2f8;--theme-muted:#c2bdca;--theme-danger:#dc143c;--theme-button-text:#0a0a0f;--theme-border:#6d6578;--theme-glow:#ff3b4e25}
html[data-theme]:not([data-theme="original"]) body{background:radial-gradient(ellipse at 5% 20%,var(--theme-glow),transparent 42%),radial-gradient(ellipse at 95% 50%,var(--theme-panel),transparent 50%),var(--theme-bg);color:var(--theme-text);animation:none}
html[data-theme]:not([data-theme="original"]) body::before{background:none;animation:none;opacity:0}
html[data-theme]:not([data-theme="original"]) .triangles-fond{display:none!important}
html[data-theme]:not([data-theme="original"]) :is(header,.theme-header,.site-footer){background:var(--theme-bg);border-color:var(--theme-border)}
html[data-theme]:not([data-theme="original"]) :is(.logo-accent,.section-title a,.theme-kicker){color:var(--theme-accent)}
html[data-theme]:not([data-theme="original"]) .logo-marque svg rect{fill:var(--theme-accent)}
html[data-theme]:not([data-theme="original"]) nav a.active-link{background:var(--theme-panel)!important;color:var(--theme-accent)!important}
html[data-theme]:not([data-theme="original"]) :is(.section-title h2,.card .info h4,.theme-card h3){color:var(--theme-text)}
html[data-theme]:not([data-theme="original"]) .section-title h2::after{background:linear-gradient(90deg,var(--theme-accent),var(--theme-secondary));width:44px}
html[data-theme]:not([data-theme="original"]) :is(.btn-hero-watch,.compte-action-primary,.ajout-modal-onglet.active,.apparence-save,.theme-button){background:var(--theme-accent)!important;border-color:var(--theme-accent)!important;color:var(--theme-button-text)!important}
html[data-theme]:not([data-theme="original"]) :is(.btn-hero-watch,.theme-button,button):hover:not(:disabled){box-shadow:0 0 16px var(--theme-glow)}
html[data-theme]:not([data-theme="original"]) :is(.hero-banner,.card-media,.theme-card){border-color:var(--theme-border);outline:1px solid var(--theme-border)}
.theme-card,.card-media{position:relative}
html[data-theme]:not([data-theme="original"]) :is(.card:hover .card-media,.category-tile:hover){outline-color:var(--theme-accent)}
html[data-theme]:not([data-theme="original"]) :is(.search-header,.catalogue-recherche,input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){background-color:var(--theme-panel)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}
html[data-theme]:not([data-theme="original"]) :is(input,textarea)::placeholder{color:var(--theme-muted);opacity:1}
html[data-theme]:not([data-theme="original"]) :is(.ajout-modal-boite,.modal-content,.modal-box,.compte-menu,.theme-dialog,.player-nav){background:var(--theme-panel);color:var(--theme-text);border-color:var(--theme-border)}
html[data-theme]:not([data-theme="original"]) :is(.lecteur-jouee,.serie-progression-barre span,.debloque-progression-remplie,#barreChargement){background:linear-gradient(90deg,var(--theme-accent),var(--theme-secondary))!important}
html[data-theme]:not([data-theme="original"]) :is(.lecteur-tete,.hero-dot.active){background:var(--theme-accent)!important}
html[data-theme]:not([data-theme="original"]) :is(.lecteur-barres,.theme-player-controls){color:var(--theme-text);accent-color:var(--theme-accent)}
html[data-theme]:not([data-theme="original"]) :is(.lecteur-barres button,.player-nav-btn,.player-plein-ecran){color:var(--theme-text);border-color:var(--theme-border)}
html[data-theme]:not([data-theme="original"]) .kinoo-ad{background:var(--theme-panel);border-color:var(--theme-border)}
:is(.theme-button,.theme-profile-button){padding:10px 15px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-panel);color:var(--theme-text);font:inherit;cursor:pointer}
.theme-button:disabled{opacity:.55;cursor:default}
.theme-player video{display:block;width:100%;max-height:70vh;background:#000}.theme-player-controls{display:flex;align-items:center;gap:12px;padding:12px;background:var(--theme-panel)}.theme-player-controls input{flex:1;min-width:40px}
.theme-badge{margin-left:8px;padding:4px 7px;border:1px solid var(--theme-border);border-radius:6px;color:var(--theme-accent);background:var(--theme-panel);font-size:9px;letter-spacing:1px}
.theme-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0;padding:22px 26px;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-panel)}
.theme-kicker{display:block;font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-bottom:7px;color:var(--theme-accent)}
.theme-banner h2{font-size:clamp(18px,2vw,26px);color:var(--theme-text);margin:0}.theme-banner p{font-size:12px;line-height:1.5;color:var(--theme-muted);margin-top:7px}
.theme-surprise{background:none;border:0;cursor:pointer;border-radius:12px;padding:0;flex:0 0 150px}.theme-surprise svg{display:block;width:150px;height:94px;animation:theme-float 6s ease-in-out infinite}
.theme-decor{position:fixed;inset:0;contain:strict;overflow:hidden;pointer-events:none;z-index:3}.theme-decor *{pointer-events:none}
.theme-particle{position:absolute;left:var(--x);top:-15px;width:4px;height:4px;border-radius:50%;opacity:0;animation:theme-snow var(--duration) linear infinite;animation-delay:var(--delay)}
.theme-floating svg,.theme-jack svg{display:block;width:100%;height:auto}
.theme-fog{display:none;position:absolute;bottom:-25px;left:-10%;width:120%;height:150px;background:radial-gradient(ellipse at 20% 90%,#b5a1d026,transparent 60%),radial-gradient(ellipse at 80% 100%,#c6b4d71f,transparent 55%);animation:theme-fog-drift 22s ease-in-out infinite alternate}
.theme-page-veil{position:fixed;inset:0;pointer-events:none;background:#000;opacity:0;z-index:10000}
.theme-loader{position:fixed;right:18px;bottom:18px;width:44px;height:44px;pointer-events:none;z-index:10001;color:var(--theme-accent)}.theme-loader svg{width:100%;height:100%}.theme-loader-bubbles{animation:theme-bubble 1.5s ease-in-out infinite}
.theme-dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 40px);margin:auto;overflow:auto;padding:24px;background:var(--theme-panel);color:var(--theme-text);border:1px solid var(--theme-border);border-radius:16px}
.theme-dialog::backdrop{background:#000a}.theme-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.theme-dialog-heading h2{font-size:18px}
.theme-dialog label,.theme-settings label{display:flex;align-items:center;gap:10px;margin:14px 0;font-size:13px;color:var(--theme-text)}.theme-dialog select{width:100%;margin-top:8px;padding:10px;border-radius:8px;border:1px solid var(--theme-border);background:var(--theme-bg);color:var(--theme-text)}
.theme-dialog .theme-select-label{display:block}.theme-dialog input{accent-color:var(--theme-accent)}.theme-dialog small,.theme-current{color:var(--theme-muted);font-size:11px;line-height:1.6}.theme-profile-settings{padding:16px;border:1px solid var(--theme-border);border-radius:12px;margin:18px 0}
.theme-message:empty{display:none}.theme-message{color:var(--theme-text);font-size:12px;margin:10px 0}.theme-announce{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
html[data-theme="original"] :is(.theme-decor,.theme-loader){display:none!important}
html[data-player-active="true"] .theme-decor,body:has(.player-overlay.active,#page-admin.active) .theme-decor{display:none}
[hidden]{display:none!important}
html[data-theme]:not([data-theme="original"]) :focus-visible,.theme-dialog :focus-visible,.theme-profile-settings :focus-visible{outline:2px solid var(--theme-accent);outline-offset:3px}
@keyframes theme-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes theme-logo-glow{0%,100%{filter:drop-shadow(0 0 2px var(--theme-glow))}50%{filter:drop-shadow(0 0 9px var(--theme-accent))}}
@keyframes theme-candle{0%,92%,100%{opacity:1}94%,97%{opacity:.94}95%,98%{opacity:1}}
@keyframes theme-fog-drift{from{transform:translate3d(-2%,0,0);opacity:.55}to{transform:translate3d(2%,-8px,0);opacity:.8}}
@keyframes theme-drift{0%{transform:translate3d(-30px,0,0);opacity:0}12%,70%{opacity:.3}100%{transform:translate3d(calc(100vw + 90px),-20px,0);opacity:0}}
@keyframes theme-snow{0%{transform:translate3d(0,0,0);opacity:0}12%,80%{opacity:.4}100%{transform:translate3d(35px,105vh,0);opacity:0}}
@keyframes theme-petals{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}12%,80%{opacity:.35}100%{transform:translate3d(-40px,105vh,0) rotate(210deg);opacity:0}}
@keyframes theme-sparks{0%{transform:translate3d(0,105vh,0);opacity:0}12%,80%{opacity:.35}100%{transform:translate3d(30px,0,0);opacity:0}}
@keyframes theme-bubble{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-4px);opacity:1}}
@media(max-width:600px){.theme-banner{padding:17px 15px;margin:16px 0;gap:8px}.theme-surprise{flex-basis:76px}.theme-surprise svg{width:76px;height:76px}.theme-badge{font-size:8px;padding:3px 5px}.theme-particle:nth-child(n+5),.theme-ghost{display:none}.theme-jack{width:110px!important}.theme-fog{height:100px}.theme-player-controls{gap:6px;flex-wrap:wrap}}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion="off"] .theme-decor{display:none}
@media(prefers-reduced-motion:reduce){.theme-decor{display:none!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
button.compte-item[data-theme-open]{width:100%;border:0;background:transparent;text-align:left;font-family:inherit}

/* Conserver un curseur visible sur les cartes et les commandes du lecteur. */
@media(pointer:fine){html[data-theme]:not([data-theme="original"])[data-custom-cursor="true"] body :is(a,button,[role="button"],.card,.card-media,.carte-serie,.category-tile,.theme-surprise,.lecteur){cursor:var(--theme-cursor,pointer)!important}}
.lecteur.lecteur-masque,.lecteur-masque{cursor:default!important}
.theme-edge-art{position:absolute;width:155px;opacity:.13;filter:none;pointer-events:none}.theme-edge-art svg{display:block;width:100%;height:auto}.theme-edge-0{left:-24px;top:30%;transform:rotate(-12deg)}.theme-edge-1{right:-24px;top:62%;transform:rotate(12deg)}.theme-edge-2{left:12%;bottom:-15px;width:125px}
.theme-garland{position:absolute;top:0;left:0;right:0;height:9px;opacity:.45;background:radial-gradient(circle,var(--theme-accent) 2px,transparent 3px) 0 0/48px 9px;pointer-events:none}
html[data-theme="halloween"] .theme-garland{height:28px;background:repeating-linear-gradient(135deg,transparent 0 30px,#ff6b1a24 31px 32px,transparent 33px 64px)}
html[data-theme="noel"] .theme-edge-art{opacity:.2}html[data-theme="noel"] .theme-garland{background:radial-gradient(circle,#f1cb7c 3px,transparent 4px) 0 0/60px 9px,radial-gradient(circle,#c94d5d 3px,transparent 4px) 30px 0/60px 9px}
html[data-theme="paques"] .theme-garland{height:14px;background:radial-gradient(ellipse,#d9b8f3 4px,transparent 5px) 0 0/56px 14px,radial-gradient(ellipse,#9be5c0 4px,transparent 5px) 28px 0/56px 14px}
@media(max-width:600px){.theme-edge-art{width:90px;opacity:.1}.theme-edge-2{display:none}}
