/* v289 — thèmes publics facultatifs. Sans data-nx-season, le thème habituel reste intact. */
html[data-nx-season=halloween] body.nx-v207-public{--nx289-bg:#f6f0ea;--nx289-surface:#fffaf5;--nx289-soft:#f4e9df;--nx289-line:#e7d3c4;--nx289-ink:#332735;--nx289-muted:#766571;--nx289-accent:#a74319;--nx289-tint:#fae6d5;--nx289-button:#b54b23;--nx289-hero:url('./seasonal/halloween-v289.svg');--nx289-ribbon:linear-gradient(90deg,#ba5126,#de9551,#644977);--nx289-hero-text:#ffdbad}
html.nx-theme-dark[data-nx-season=halloween] body.nx-v207-public{--nx289-bg:#141018;--nx289-surface:#211929;--nx289-soft:#191321;--nx289-line:#483349;--nx289-ink:#f4ece7;--nx289-muted:#bdacbf;--nx289-accent:#ffb371;--nx289-tint:#38273b;--nx289-button:#ad4928}
html[data-nx-season=christmas] body.nx-v207-public{--nx289-bg:#edf3ef;--nx289-surface:#fbfdf9;--nx289-soft:#eef4ed;--nx289-line:#ccdcd1;--nx289-ink:#243b33;--nx289-muted:#597268;--nx289-accent:#246d50;--nx289-tint:#e0ede2;--nx289-button:#28634d;--nx289-hero:url('./seasonal/christmas-v289.svg');--nx289-ribbon:linear-gradient(90deg,#39725b,#cdb47a,#a8564d);--nx289-hero-text:#f0d6a0}
html.nx-theme-dark[data-nx-season=christmas] body.nx-v207-public{--nx289-bg:#0b1717;--nx289-surface:#112520;--nx289-soft:#0e1e1c;--nx289-line:#2e4a3e;--nx289-ink:#edf4e8;--nx289-muted:#adc0b3;--nx289-accent:#dbc08b;--nx289-tint:#293f30;--nx289-button:#a23e3a}
html[data-nx-season] body.nx-v207-public{background:var(--nx289-bg)!important;color:var(--nx289-ink)!important}
html[data-nx-season] body.nx-v207-public #nxV207App{--nx286-surface:var(--nx289-surface);--nx286-soft:var(--nx289-soft);--nx286-line:var(--nx289-line);--nx286-ink:var(--nx289-ink);--nx286-muted:var(--nx289-muted);--nx286-accent:var(--nx289-accent);--nx286-tint:var(--nx289-tint)}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-header{background:var(--nx289-surface)!important;border-bottom-color:var(--nx289-line)!important;box-shadow:0 3px 18px #0c102010!important}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-header::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--nx289-ribbon);pointer-events:none}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-logo{color:var(--nx289-ink)!important}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-logo b{color:var(--nx289-accent)!important}
html[data-nx-season] body.nx-v207-public #nxV207App :is(.nx207-btn,.nx207-menu-trigger,.nx207-page){background:var(--nx289-surface)!important;border-color:var(--nx289-line)!important;color:var(--nx289-ink)!important;box-shadow:none!important}
html[data-nx-season] body.nx-v207-public #nxV207App :is(.nx207-btn,.nx207-menu-trigger,.nx207-page):hover{background:var(--nx289-tint)!important;border-color:var(--nx289-accent)!important;color:var(--nx289-accent)!important}
html[data-nx-season] body.nx-v207-public #nxV207App :is(.nx207-admin,.nx286-search-submit,.nx207-page.active,.nx207-view.active){background:var(--nx289-button)!important;color:#fff!important;border-color:var(--nx289-button)!important;box-shadow:none!important}
html[data-nx-season] body.nx-v207-public #nxV207App :is(.nx207-sidebar,.nx207-dropdown){background:var(--nx289-surface)!important;border-color:var(--nx289-line)!important}
html[data-nx-season] body.nx-v207-public #nxV207App :is(.nx207-side-title,.nx207-side-btn,.nx263-collection-btn,.nx263-collection-btn small,.nx207-dropdown button){color:var(--nx289-muted)!important}
html[data-nx-season] body.nx-v207-public #nxV207App :is(.nx207-side-btn,.nx263-collection-btn,.nx207-dropdown button):is(:hover,.active){background:var(--nx289-tint)!important;color:var(--nx289-accent)!important}
html[data-nx-season] body.nx-v207-public #nxV207App .nx263-genre-main small{background:var(--nx289-tint)!important;color:var(--nx289-accent)!important}
html[data-nx-season] body.nx-v207-public #nxV207App .nx263-collection-list{border-color:var(--nx289-line)!important}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-hero{background:var(--nx289-hero) center/cover no-repeat!important;isolation:isolate}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-hero::after{background:none!important;pointer-events:none}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-hero-inner{position:relative;z-index:1}
html[data-nx-season] body.nx-v207-public #nxV207App .nx286-eyebrow{color:var(--nx289-hero-text)!important;letter-spacing:.2em}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-hero h1{color:#fff6e9!important;text-shadow:0 2px 18px #080d1840!important}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-hero p{color:#e9e5e1!important;text-shadow:0 1px 8px #080d1840!important}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-search{background:var(--nx289-surface)!important;color:var(--nx289-ink)!important;border-color:var(--nx289-line)!important;box-shadow:0 5px 20px #070e2026!important}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-search::placeholder{color:var(--nx289-muted)!important}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-search-icon{color:var(--nx289-muted)!important}
html[data-nx-season] body.nx-v207-public #nxV207App :is(.nx207-search,.nx207-select):focus{border-color:var(--nx289-accent)!important;box-shadow:none!important}
html[data-nx-season] body.nx-v207-public #nxV207App :is(button,a,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--nx289-accent)!important;outline-offset:3px!important}
html[data-nx-season] body.nx-v207-public #nxV207App :is(.nx207-catalog,.nx286-filterbar){background:var(--nx289-surface)!important;border-color:var(--nx289-line)!important;box-shadow:0 8px 28px #0a172008!important}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-select:hover{background:var(--nx289-soft)!important;border-color:var(--nx289-accent)!important;color:var(--nx289-ink)!important;box-shadow:none!important}
html[data-nx-season] body.nx-v207-public #nxV207App :is(.nx207-count,.nx207-page-info,.nx207-footer){color:var(--nx289-muted)!important}
html[data-nx-season] body.nx-v207-public #nxV207App .nx207-count strong{color:var(--nx289-accent)!important}
html[data-nx-season] body.nx-v207-public #nxV207App #nx207GridContent :is(.nx207-card.game-card,.nx207-info.game-info){background:var(--nx289-surface)!important;border-color:var(--nx289-line)!important}
html[data-nx-season] body.nx-v207-public #nxV207App #nx207GridContent .nx207-cover.game-cover{background:var(--nx289-soft)!important}
html[data-nx-season] body.nx-v207-public #nxV207App #nx207GridContent .nx207-cover::after{background:none!important}
html[data-nx-season] body.nx-v207-public #nxV207App #nx207GridContent .nx207-cover img{background:transparent!important}
html[data-nx-season] body.nx-v207-public #nxV207App #nx207GridContent .nx207-info::before{background:var(--nx289-line)!important}
html[data-nx-season] body.nx-v207-public #nxV207App #nx207GridContent .nx207-card:hover{border-color:var(--nx289-accent)!important}
html[data-nx-season] body.nx-v207-public #nxV207App #nx207GridContent .nx207-title{color:var(--nx289-ink)!important}
html[data-nx-season] body.nx-v207-public #nxV207App #nx207GridContent .nx207-card:hover .nx207-title{color:var(--nx289-accent)!important}
html[data-nx-season] body.nx-v207-public #nxV207App #nx207GridContent :is(.nx207-meta,.nx207-no-cover){color:var(--nx289-muted)!important}
/* Le contenu et les liens des fiches restent ceux du catalogue. */
html[data-nx-season] body.nx-v207-public .nx-detail-overlay-v17{background:#08121d80!important}
html[data-nx-season] body.nx-v207-public .nx-detail-modal-v17{background:var(--nx289-surface)!important;color:var(--nx289-ink)!important;border-color:var(--nx289-line)!important;scrollbar-color:var(--nx289-accent) transparent!important}
html[data-nx-season] body.nx-v207-public :is(.nx-detail-top,.nx-detail-close,.nx-detail-cover-v17,.nx-detail-variant){background:var(--nx289-soft)!important;border-color:var(--nx289-line)!important;color:var(--nx289-ink)!important;box-shadow:none!important}
html[data-nx-season] body.nx-v207-public :is(.nx-detail-main-v17,.nx-detail-main-v17 h2,.nx-detail-variant-head span,.nx-detail-variant-head strong,.nx-detail-variant-meta div,.nx-detail-variant-meta span){color:var(--nx289-ink)!important}
html[data-nx-season] body.nx-v207-public :is(.nx-detail-top>span,.nx-detail-summary,.nx-detail-summary span,.nx-detail-summary strong,.nx-detail-main-v17 h3,.nx-detail-genre,.nx-detail-genre b,.nx-detail-variant-meta b){color:var(--nx289-muted)!important}
html[data-nx-season] body.nx-v207-public :is(.nx-detail-variant-head,.nx-detail-variant-meta){border-color:var(--nx289-line)!important}
html[data-nx-season] body.nx-v207-public .nx-detail-badge{background:var(--nx289-tint)!important;border-color:var(--nx289-line)!important;color:var(--nx289-accent)!important}
html[data-nx-season] body.nx-v207-public :is(.nx-detail-download-region,.nx-detail-download.nx-single-download:not(.disabled)){background:var(--nx289-button)!important;color:#fff!important;box-shadow:none!important}
html[data-nx-season] body.nx-v207-public .nx-detail-single-download-wrap{background:var(--nx289-surface)!important}
html[data-nx-season] body.nx-v207-public .nx-detail-catalog-under{background:var(--nx289-tint)!important;border-color:var(--nx289-line)!important;color:var(--nx289-accent)!important}
html[data-nx-season] body.nx-v207-public .nx-tuto-open-btn{background:var(--nx289-button)!important;color:#fff!important;border:1px solid var(--nx289-line)!important;box-shadow:0 5px 20px #0002!important}
/* Choix administrateur : les vignettes ne changent pas le site avant Enregistrer. */
#nxv122-dashboard .nx289-season-settings{margin-bottom:20px}
#nxv122-dashboard .nx289-season-settings>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
#nxv122-dashboard .nx289-season-settings h3{margin-bottom:8px}
#nxv122-dashboard .nx289-season-settings header p{font-size:13px;line-height:1.6;margin:0;color:#b8c6dd}
#nx289-season-choice{flex:none;border:1px solid #3c587b;border-radius:6px;padding:7px 9px;font-size:11px;color:#c6dbff;background:#192b45}
#nxv122-dashboard .nx289-season-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#nxv122-dashboard .nx289-season-option{display:flex;flex-direction:column;gap:0;min-width:0;margin:0;border:1px solid #354964;border-radius:11px;overflow:hidden;background:#0d182a;cursor:pointer;transition:border-color .15s}
#nxv122-dashboard .nx289-season-option:hover{border-color:#668dbe}
#nxv122-dashboard .nx289-season-option:has(:checked){border-color:#86b6ff;box-shadow:0 0 0 2px #86b6ff55}
#nxv122-dashboard .nx289-season-option:focus-within{outline:3px solid #86b6ff;outline-offset:3px}
#nxv122-dashboard .nx289-season-label{display:flex;gap:9px;padding:15px 12px;align-items:flex-start}
#nxv122-dashboard .nx289-season-label strong{font-size:14px;display:block;font-weight:700;color:#f0f5ff}
#nxv122-dashboard .nx289-season-label small{display:block;font-size:11px;font-weight:400;line-height:1.5;color:#b9c8df;margin-top:5px}
#nxv122-dashboard .nx289-season-label input[type=radio]{appearance:auto;width:17px!important;min-width:17px!important;height:17px!important;min-height:17px!important;flex:none;margin:2px 0 0;padding:0!important;accent-color:#86b6ff;box-shadow:none}
.nx289-season-swatch{display:block;background:#faf8ff;pointer-events:none;--nx289-mini-accent:#794ed1;--nx289-mini-nav:#fff}
.nx289-season-swatch[data-season-preview=halloween]{background:#f4e9df;--nx289-mini-accent:#a74319;--nx289-mini-nav:#fffaf5}
.nx289-season-swatch[data-season-preview=christmas]{background:#e6efe8;--nx289-mini-accent:#246d50;--nx289-mini-nav:#fbfdf9}
.nx289-mini-nav{display:flex;gap:5px;align-items:center;height:27px;padding:0 11px;background:var(--nx289-mini-nav)}
.nx289-mini-nav>b{font-size:11px;letter-spacing:-.5px;margin-right:auto;color:var(--nx289-mini-accent)}.nx289-mini-nav>b>span{color:#34313e}
.nx289-mini-nav>i{width:16px;height:4px;border-radius:2px;background:var(--nx289-mini-accent);opacity:.4}
.nx289-mini-hero{height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:url('./nx-v221-hero-bg.png') center/cover;color:#6c42b6}
.nx289-mini-hero>b{font-size:13px;letter-spacing:-.3px}.nx289-mini-hero>i{width:50%;height:13px;border-radius:4px;background:#ffffffda}
[data-season-preview=halloween] .nx289-mini-hero{background-image:url('./seasonal/halloween-v289.svg');color:#fff0d9}
[data-season-preview=christmas] .nx289-mini-hero{background-image:url('./seasonal/christmas-v289.svg');color:#f6e6c5}
.nx289-mini-cards{display:flex;gap:7px;padding:10px 11px}
.nx289-mini-cards>i{display:block;height:37px;flex:1;border-radius:4px;background:var(--nx289-mini-accent);opacity:.16}
.nx289-mini-cards>i:nth-child(2){opacity:.25}.nx289-mini-cards>i:nth-child(3){opacity:.32}
@media(max-width:1100px){#nxv122-dashboard .nx289-season-settings>header{flex-direction:column}.nx289-mini-hero{height:90px}.nx289-mini-hero>b{font-size:11px}}
@media(max-width:700px){#nxv122-dashboard .nx289-season-options{grid-template-columns:1fr}.nx289-season-option .nx289-mini-hero{height:120px}.nx289-mini-hero>b{font-size:15px}.nx289-mini-cards>i{height:30px}}
@media(max-width:560px){html[data-nx-season] body.nx-v207-public #nxV207App .nx207-hero{background-size:auto 100%!important;background-position:right center!important}html[data-nx-season] body.nx-v207-public #nxV207App .nx286-eyebrow{font-size:9px;letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){.nx289-season-option,html[data-nx-season] body.nx-v207-public #nxV207App .nx207-sidebar{transition:none!important}}
