/* Sélecteur d’atmosphère D-UNDER — compact fermé, cinématique ouvert. */
.theme-launcher{display:flex;align-items:center;gap:.48rem;border:1px solid var(--theme-line);border-radius:999px;padding:.62rem .82rem;background:color-mix(in srgb,var(--theme-panel) 88%,transparent);color:var(--theme-text);cursor:pointer;box-shadow:inset 0 1px #ffffff0b;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease!important}.theme-launcher:hover{transform:translateY(-2px);border-color:var(--theme-accent);box-shadow:0 8px 28px var(--theme-glow),inset 0 1px #ffffff16}.theme-launcher>span{font-size:.72rem;color:var(--theme-accent);animation:selectorPulse 3s ease-in-out infinite}.theme-launcher b{font:700 .62rem Inter,sans-serif;letter-spacing:.12em}.theme-launcher-mobile{display:none;width:max-content;margin-top:1.3rem;font-size:1rem}

.theme-dialog{width:min(880px,calc(100vw - 2rem));max-width:none;border:1px solid var(--theme-line);border-radius:24px;padding:clamp(1rem,3vw,2rem);background:color-mix(in srgb,var(--theme-bg-2) 94%,transparent);color:var(--theme-text);box-shadow:0 40px 120px #000e,0 0 70px var(--theme-glow);backdrop-filter:blur(24px);overflow:hidden}.theme-dialog[open]{animation:selectorEnter .42s cubic-bezier(.2,.8,.2,1) both}.theme-dialog::backdrop{background:#000b;backdrop-filter:blur(10px)}.theme-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:2rem;margin-bottom:1.5rem}.theme-dialog-head span{color:var(--theme-accent);font-size:.6rem;letter-spacing:.2em}.theme-dialog-head h2{margin:.45rem 0 0;font:clamp(1.65rem,4vw,3.6rem)/.92 "Archivo Black";letter-spacing:-.04em}.theme-dialog-close{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--theme-line);background:transparent;color:var(--theme-text);font-size:1.5rem;cursor:pointer;transition:.3s}.theme-dialog-close:hover{transform:rotate(90deg);border-color:var(--theme-accent)}

.theme-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.theme-card{position:relative;min-height:250px;padding:1rem;text-align:left;border:1px solid #ffffff1f;border-radius:18px;overflow:hidden;color:#f4f5f7;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;transition:transform .48s cubic-bezier(.2,.8,.2,1),border-color .4s ease,box-shadow .48s ease,filter .4s ease}.theme-card:before{content:"";position:absolute;inset:0;z-index:-2;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s ease}.theme-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 28%,rgba(0,0,0,.88) 90%)}.theme-card:hover,.theme-card:focus-visible{transform:translateY(-7px) scale(1.025);outline:0}.theme-card:hover:before{transform:scale(1.08);filter:brightness(1.12)}.theme-card small{font-size:.52rem;letter-spacing:.13em;color:#ffffff9c}.theme-card strong{display:block;margin:.4rem 0;font:clamp(1.8rem,3.5vw,3.2rem)/.9 "Archivo Black";letter-spacing:-.04em}.theme-card em{display:flex;align-items:center;gap:.45rem;font-style:normal;font-size:.55rem;letter-spacing:.14em}.theme-card em i{width:6px;height:6px;border-radius:50%;background:#ffffff62}.theme-card.active{transform:translateY(-4px) scale(1.018);border-color:#ffffff9c;box-shadow:0 20px 55px #000b}.theme-card.active em i{background:#fff;box-shadow:0 0 10px #fff;animation:activeDot 1.8s ease-in-out infinite}.theme-card.active:after{box-shadow:inset 2px 0 #168649,inset -2px 0 #b3293b,inset 0 -2px #d2ad30}

.theme-card-black:before{background:radial-gradient(circle at 65% 18%,#bfc2c824,transparent 25%),linear-gradient(145deg,#111,#000)}.theme-card-black:hover{border-color:#aeb2ba;box-shadow:0 24px 70px #bfc3cb20}.theme-card-blue:before{background:radial-gradient(circle at 68% 20%,#4b9bed55,transparent 28%),linear-gradient(145deg,#0a2348,#010712)}.theme-card-blue:hover{border-color:#69a9e5;box-shadow:0 24px 70px #2a78c846}.theme-card-green:before{background:radial-gradient(circle at 68% 20%,#c99b2f42,transparent 25%),linear-gradient(145deg,#073c20,#010603)}.theme-card-green:hover{border-color:#caa333;box-shadow:0 24px 70px #c4922938}

.theme-preview-stars{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px),radial-gradient(circle,#ffffff72 0 .8px,transparent 1.4px);background-size:56px 61px,83px 77px;background-position:9px 13px,31px 25px;opacity:.42;transition:opacity .4s ease;animation:previewStars 14s linear infinite}.theme-card-black .theme-preview-stars{filter:grayscale(1)}.theme-card-blue .theme-preview-stars{color:#8fc8ff}.theme-card-green .theme-preview-stars{filter:sepia(1) saturate(1.8)}.theme-card:hover .theme-preview-stars,.theme-card.active .theme-preview-stars{opacity:.84;animation-duration:7s}
.theme-dialog-note{margin:1rem 0 0;text-align:center;color:var(--theme-muted);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}

/* Pendant le morphing, le ciel monte brièvement en intensité. */
html.theme-shifting .hero::after,html.theme-shifting .manifesto::after,html.theme-shifting .now::after,html.theme-shifting .discover::after,html.theme-shifting .music::after,html.theme-shifting .events::after,html.theme-shifting .community::after{opacity:.85!important;transition:opacity .35s ease}

@keyframes selectorEnter{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes selectorPulse{50%{opacity:.45;transform:scale(.82)}}@keyframes activeDot{50%{opacity:.45;transform:scale(.75)}}@keyframes previewStars{to{background-position:9px 74px,31px -52px}}

@media(max-width:920px){.theme-launcher-mobile{display:flex}.theme-dialog{width:min(660px,calc(100vw - 1rem))}.theme-cards{grid-template-columns:1fr}.theme-card{min-height:132px}.theme-card strong{font-size:2rem}}
@media(max-width:520px){.theme-dialog{padding:1rem;border-radius:18px}.theme-dialog-head h2{font-size:1.55rem}.theme-card{min-height:118px}.theme-dialog-note{display:none}}
@media(prefers-reduced-motion:reduce){.theme-launcher>span,.theme-card em i,.theme-preview-stars,.theme-dialog[open]{animation:none}.theme-card,.theme-card:before,.theme-launcher{transition:none!important}}
