
:root{
--bg:#181410;
--panel:#221C16;
--text:#EFE6D8;
--text-dim:#9C9086;
--accent:#D98A3D;
--accent-bright:#E8A254;
--line:rgba(239,230,216,0.08);

--mom-window-open-ms:160ms;
--mom-startup-color-layer:
radial-gradient(
ellipse at center,
transparent 46%,
rgba(0,0,0,.045) 70%,
rgba(0,0,0,.14) 100%
),
var(--bg,#080706);

--mom-mini-player-height:56px;

--mom-window-z-base:4500;
--mom-mini-player-z:5200;
--mom-window-over-up-next-z:6000;
--mom-dock-z:9000;
--mom-first-popup-z:10000;
--mom-system-bar-color:var(--panel);
--mom-dock-background:var(--mom-system-bar-color,var(--panel));
--mom-dock-blur:blur(14px);
--mom-dock-border:var(--line);
--mom-edge-shadow-color:rgba(0,0,0,.22);
--mom-dock-shadow:0 -3px 8px var(--mom-edge-shadow-color);
--mom-header-shadow:
0 3px 8px var(--mom-edge-shadow-color),
0 -3px 8px var(--mom-edge-shadow-color);

--mom-up-next-mini-y:0px;

--mom-ui-button-font-size:13px;
--mom-ui-button-font-size-compact:11.5px;
--mom-ui-button-line-height:1.15;

--mom-up-next-page-top:52px;
--mom-up-next-page-bottom:56px;
--mom-up-next-motion-y:100dvh;
--mom-dock-row-height:56px;
--mom-bottom-bar-height:56px;

/* R169 — autorité unique du bas d’écran. Dans un navigateur classique,
WebKit/Chrome iOS réserve déjà ses contrôles dans le viewport visible :
rajouter safe-area-inset-bottom soulève artificiellement le dock.
En standalone/fullscreen, l’inset protège réellement le Home Indicator. */
--mom-ui-bottom-inset:0px;
}
@media (display-mode:standalone), (display-mode:fullscreen){
:root{--mom-ui-bottom-inset:env(safe-area-inset-bottom,0px);}
}
:root[data-theme="white"]{
--bg:#F5F1EA;
--panel:#FFFFFF;
--text:#221C16;
--text-dim:#756B60;
--accent:#C77A2E;
--accent-bright:#B56A22;
--line:rgba(34,28,22,0.12);
}
:root[data-theme="black"]{
--bg:#000000;
--panel:#0D0D0D;
--text:#F0F0F0;
--text-dim:#8A8A8A;
--accent:#D98A3D;
--accent-bright:#F0A050;
--line:rgba(255,255,255,0.09);
}
:root[data-theme="pink"]{
--bg:#2B121F;
--panel:#391829;
--text:#F5E3EA;
--text-dim:#B0808F;
--accent:#E85D8A;
--accent-bright:#FF7DA3;
--line:rgba(245,227,234,0.12);
}
:root[data-theme="blue"]{
--bg:#0E1520;
--panel:#15202E;
--text:#E3ECF5;
--text-dim:#7C92A8;
--accent:#4A90D9;
--accent-bright:#5FA3E8;
--line:rgba(227,236,245,0.1);
}
:root[data-theme="mousse"]{
--bg:#12160E;
--panel:#1A2015;
--text:#E8EDE0;
--text-dim:#8E9F7F;
--accent:#7A9B4E;
--accent-bright:#96BA63;
--line:rgba(232,237,224,0.09);
}
*{
margin:0;padding:0;
}
*::-webkit-scrollbar{
width:0;
height:0;
display:none;
}
button{  outline:none; transition:transform .1s ease; }
button:active{ transform:scale(0.94); }
html{  background:var(--mom-system-bar-color,var(--panel)); }
body{
background:var(--bg); color:var(--text);
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
-webkit-font-smoothing:antialiased;

position:relative;
}
.app{ max-width:720px; margin:0 auto; padding:0 18px 96px; }
/* ch5.97R60 — l'entête final utilise le même ratio que le crop et sa preview.
1000 × 230 est désormais une géométrie, pas seulement une taille d'export. */
.custom-site-header{ --mom-header-notch-radius:22px; position:relative; width:calc(100% + 36px); height:auto; min-height:0; aspect-ratio:1000/230; will-change:auto; transform-origin:top center; margin:0 -18px 26px; background:linear-gradient(145deg,var(--panel),var(--bg)); background-size:cover; background-position:center; background-repeat:no-repeat; background-attachment:scroll; overflow:hidden; border-radius:0 0 var(--mom-header-notch-radius) var(--mom-header-notch-radius); box-shadow:none; }

html.hide-app-root-early #appRoot,
html.hide-app-root-early .icon-btn-row{ display:none !important; }
header{ display:none; }
.brand{ font-size:14px; letter-spacing:.06em; font-weight:800; line-height:1.0; }

.art-wrap{ max-width:360px; margin:0 auto 22px; touch-action:pan-y; position:relative; z-index:1; }
.art{
position:relative;
aspect-ratio:1; border-radius:18px; background-size:cover; background-position:center;
box-shadow:0 24px 48px -20px rgba(0,0,0,0.65);
transition: box-shadow .6s ease, filter .35s ease;
}
.art-wrap.playing .art{ box-shadow:0 24px 48px -20px rgba(0,0,0,0.65), 0 0 0 3px rgba(217,138,61,0.35), 0 0 32px 4px rgba(217,138,61,0.18); }

.cassette-reel{ position:absolute; top:43.26%; width:11.72%; height:11.72%; border-radius:50%; background-size:853.33% 853.33%; display:none; pointer-events:none; animation:cassetteSpin 4s linear infinite; box-shadow:inset 0 0 0 1px rgba(0,0,0,0.12); }
.art-wrap.showing-default-art .cassette-reel{ display:block; }
.cassette-reel-left{ left:29.30%; background-position:33.18% 49.00%; }
.cassette-reel-right{ left:58.89%; background-position:66.69% 49.00%; }
@keyframes cassetteSpin{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .cassette-reel{ animation:none; } }

.now-title{ font-size:21px; font-weight:800; text-transform:uppercase; letter-spacing:.01em; text-align:center; margin-bottom:4px; word-break:break-word; }
.now-artist{ font-size:13px; color:var(--text-dim); text-align:center; margin-bottom:4px; }
.now-album{ font-size:12px; color:var(--text-dim); text-align:center; margin-bottom:22px; display:none; }

.progress-wrap{ max-width:360px; margin:0 auto 22px; }
.tape-bar{ position:relative; height:4px; background:var(--panel); border-radius:2px; cursor:pointer;  user-select:none; -webkit-user-select:none; }
.tape-fill{ height:100%; width:0%; background:var(--accent); border-radius:2px; }
.tape-handle{ position:absolute; top:50%; left:0%; width:34px; height:34px; transform:translate(-50%,-50%); touch-action:none; cursor:grab; display:flex; align-items:center; justify-content:center;  }
.tape-handle::after{ content:''; width:14px; height:14px; border-radius:50%; background:var(--accent-bright); box-shadow:0 1px 5px rgba(0,0,0,0.45); }
.tape-time{ display:flex; justify-content:space-between; font-family:ui-monospace,'SF Mono',Consolas,monospace; font-size:10.5px; color:var(--text-dim); margin-top:7px; }
#totalTime{ cursor:pointer;  }

#fill,
#handle,
#miniPlayerProgressFill{
transition-property:width,left;
transition-timing-function:linear;
transition-duration:0s;
animation:none !important;
}
.controls{ display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:36px; }
.lyrics-btn{ display:flex; align-items:center; justify-content:center; gap:7px; margin:-22px auto 30px; background:var(--panel); border:1px solid var(--line); color:var(--text-dim); border-radius:20px; padding:9px 20px; font-size:13px; font-weight:700; cursor:pointer;  transition:border-color .15s, color .15s; }
.lyrics-btn.active{ border-color:var(--accent); color:var(--accent-bright); }
.lyrics-btn .lyrics-mic-icon{width:30px;height:30px;flex:0 0 30px;display:block;}

.offline-album-btn{
--offline-progress:0%;
position:relative;
isolation:isolate;
display:flex;
align-items:center;
justify-content:center;
gap:8px;
margin:-22px auto 30px;
background:
linear-gradient(90deg,
var(--accent) 0,
var(--accent) var(--offline-progress),
var(--panel) var(--offline-progress),
var(--panel) 100%);
border:1px solid var(--line);
color:var(--text-dim);
border-radius:20px;
padding:9px 18px;
font-size:13px;
font-weight:700;
cursor:pointer;
width:min(310px,100%);
max-width:310px;
overflow:hidden;
transition:border-color .2s ease,color .2s ease,background .18s linear;
}
.offline-album-btn > *{position:relative;z-index:1;}
.offline-album-btn.downloading{
border-color:var(--accent);
color:var(--text);
}
.offline-album-btn.active{
--offline-progress:100%;
border-color:var(--accent);
color:var(--bg);
}
.offline-album-btn[disabled]{cursor:wait;}
@media (prefers-reduced-motion:reduce){
.offline-album-btn{transition:none;}
}
.art-wrap.lyrics-active{touch-action:pan-y;}
.art-wrap.lyrics-active .art{ filter:blur(22px); box-shadow:none; -webkit-mask-image:radial-gradient(circle, #000 35%, transparent 72%); mask-image:radial-gradient(circle, #000 35%, transparent 72%); }
.art-wrap.lyrics-active #artworkFlipCard{pointer-events:none;}
.lyrics-overlay{ display:none; position:absolute; inset:0; z-index:5; box-sizing:border-box; border-radius:18px; background:rgba(10,8,5,0.45); overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y; -webkit-overflow-scrolling:touch; padding:22px; scrollbar-width:none; }
.lyrics-overlay::-webkit-scrollbar{display:none;}
.lyrics-overlay.open{ display:block; }
.lyrics-overlay-text{ min-height:100%; box-sizing:border-box; padding-block:calc(50% - 28px); color:#fff; font-size:14px; line-height:1.7; white-space:pre-wrap; text-align:center; text-shadow:0 2px 6px rgba(0,0,0,0.6); }
.lyrics-line{ color:rgba(255,255,255,0.55); font-size:14px; line-height:1.9; text-align:center; text-shadow:0 2px 6px rgba(0,0,0,0.6); transition:color .22s ease, font-size .22s ease, opacity .22s ease; padding:3px 0; opacity:.72; }
.lyrics-line.active{ color:#fff; font-size:16.5px; font-weight:700; opacity:1; }
.controls button{ position:relative; background:var(--panel); border:1px solid var(--line); color:var(--text); cursor:pointer; width:44px; height:44px; display:flex; align-items:center; justify-content:center; transition:border-color .15s, color .15s; }
@media (hover:hover){ .controls button:hover{ border-color:var(--accent); } }
.controls button:focus-visible{ outline:2px solid var(--line); outline-offset:2px; }
.controls button.pressed,
.controls button.active{ border-color:var(--accent); color:var(--accent-bright); }
.mom-material-edit{
width:30px;height:30px;min-width:30px;min-height:30px;
display:grid;place-items:center;padding:6px;
border:1px solid var(--line);border-radius:50%;
background:var(--panel);color:var(--text);
box-shadow:0 2px 8px rgba(0,0,0,.38);
}
.mom-material-edit svg{display:block;width:100%;height:100%}

#themeHeaderClickOptions{margin-top:14px}
#themeModalTabs{padding:3px;border-top:0}

.search-scope-switch{
position:relative;
align-self:center;
display:grid;
grid-template-columns:1fr 1fr;
width:190px;
min-height:38px;
margin:0 auto 13px;
border-radius:8px;
}
.search-scope-thumb{
position:absolute;
z-index:0;
top:3px;
left:3px;
width:calc(50% - 3px);
height:26px;
border-radius:6px;
transition:transform .2s cubic-bezier(.2,.8,.2,1);
}
.search-scope-switch button{
position:relative;
z-index:1;
border:0;
border-radius:6px;
background:transparent;
color:var(--text-dim);
font:700 12px/1 inherit;
cursor:pointer;
}
.search-scope-switch button.active{color:var(--bg)}
.controls .play-btn{ width:56px; height:56px; background:var(--accent); border-color:var(--accent); color:var(--bg); }
.mini-player{ display:flex; align-items:center; gap:12px;      }
#globalUploadBar{ display:none; position:fixed; left:0; right:0;  z-index:95; background:var(--panel); border-top:1px solid var(--line); padding:8px 16px calc(8px + var(--mom-ui-bottom-inset,0px));  box-shadow:0 -6px 18px rgba(0,0,0,0.3); }
#globalUploadBar.active{ display:block; }
.mini-player-art{ width:42px; height:42px; border-radius:6px; background-size:cover; background-position:center; background-color:var(--bg); flex-shrink:0; cursor:default;  touch-action:none; overscroll-behavior:none; user-select:none; -webkit-user-select:none; }
.mini-player-progress{ position:absolute; top:0; left:0; right:0; height:2px; overflow:hidden; pointer-events:none; background:color-mix(in srgb,var(--text-dim) 18%,transparent); }
.mini-player-progress-fill{ width:0%; height:100%; background:var(--accent); transform-origin:left center; will-change:width; }
.mini-player-info{ flex:1; min-width:0; }
.mini-player-title{ font-size:13px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mini-player-artist{ font-size:11px; color:var(--text-dim); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mini-player-play{ width:38px; height:38px; border-radius:6px; background:var(--accent); border:none; color:var(--bg); display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0;  }
.mini-player-nav{ width:34px; height:34px; border-radius:50%; background:none; border:none; color:var(--text); display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0;  }
.controls .play-btn:hover{ background:var(--accent-bright); }
.repeat-one-badge{ position:absolute; top:-4px; right:-4px; width:14px; height:14px; border-radius:50%; background:var(--accent); color:var(--bg); font-size:9px; font-weight:800; display:none; align-items:center; justify-content:center; line-height:1; }
@media (max-width:380px){ .controls{ gap:8px; } .controls button{ width:38px; height:38px; } .controls .play-btn{ width:50px; height:50px; } }

.list h2{ font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--text-dim); margin-bottom:12px; font-weight:700; }
.track-row{ position:relative; display:flex; align-items:center; gap:13px; padding:9px 8px; border-bottom:1px solid var(--line); border-left:3px solid transparent; cursor:pointer; border-radius:4px; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; touch-action:none; }
html.is-ios .track-row{ touch-action:pan-y; }
.track-row:hover{ background:var(--panel); }
.track-row:focus-visible{ outline:2px solid var(--accent-bright); outline-offset:-2px; }
.track-row.active{ border-left-color:var(--accent); background:var(--panel); }
.track-row.active .t{ color:var(--accent-bright); }
.track-row.dragging{ z-index:20; background:var(--panel); box-shadow:0 12px 26px rgba(0,0,0,0.5); border-radius:8px; opacity:0.97; }
.thumb{ width:40px; height:40px; border-radius:8px; background-size:cover; background-position:center; flex-shrink:0; }
.track-row .info{ flex:1; min-width:0; align-self:stretch; display:flex; flex-direction:column; justify-content:space-between; padding-top:4px;  }
.track-row .info .t,
.track-row .info .a{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.track-row .t{ font-size:14px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.track-row .a{ font-size:11.5px; color:var(--text-dim); }
.track-row .dur{ font-family:ui-monospace,'SF Mono',Consolas,monospace; font-size:11px; color:var(--text-dim);  }
.dl-btn{ border:none; cursor:pointer; padding:8px; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:6px; }
.drag-handle{ color:var(--text); opacity:0.85; flex-shrink:0; display:flex; align-items:center; justify-content:center; padding-left:2px; }
.dl-btn.pressed{ color:var(--accent-bright); }
@media (hover:hover){ .dl-btn:hover{ color:var(--accent-bright); } }
.dl-btn:active{ color:var(--accent-bright); }

@media (prefers-reduced-motion:reduce){ .art{ transition:none; } }
@media (max-width:480px){ .now-title{ font-size:18px; } }
@media (min-width:768px){
.first-popup-card{ width:auto; max-width:480px; height:86vh; height:86svh; }
#firstPopupImage, #firstPopupVideo{ width:auto; height:100%; max-width:100%; object-fit:contain; }
}

.admin-notif-badge{min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#e33;color:white;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;}
.admin-center-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-subtitle{font-size:11.5px;color:var(--text-dim);margin-top:3px}.admin-bell{position:relative;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;width:42px;height:42px;font-size:19px}.admin-bell .admin-notif-badge{position:absolute;top:-5px;right:-5px}
.admin-center-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:10px}.admin-center-tabs button{white-space:nowrap;border:1px solid var(--line);background:var(--panel);color:var(--text-dim);border-radius:999px;padding:8px 11px;font-size:11px}.admin-center-tabs button.active{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:800}

.admin-center-panel input,.admin-center-panel textarea,.admin-center-panel select,
#adminQuickReplyModal textarea{
width:100%;background:var(--bg);color:var(--text);
border:1px solid var(--line);border-radius:9px;padding:11px 12px;
font:inherit;font-size:13px;outline:none;box-shadow:none;
}
.admin-center-panel input:focus,.admin-center-panel textarea:focus,.admin-center-panel select:focus,
#adminQuickReplyModal textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 24%,transparent)}
.admin-center-panel select{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--text-dim) 50%),linear-gradient(135deg,var(--text-dim) 50%,transparent 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.admin-center-panel option{background:var(--panel);color:var(--text)}
.admin-center-panel button,.admin-comment-actions button{font-family:inherit;}
.language-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px}.language-card h3{margin:0 0 5px;font-size:14px}.language-card p{margin:0 0 12px;color:var(--text-dim);font-size:11.5px;line-height:1.45}
.language-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.language-choice{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:9px;padding:10px 8px;font-size:12px;font-weight:650}.language-choice.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.language-check{width:16px;height:16px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:10px}.language-choice.active .language-check{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.language-menu-box{border:1px solid var(--line);border-radius:10px;padding:11px 12px;margin:4px 0 10px;background:var(--panel)}.language-menu-head{display:flex;align-items:center;justify-content:space-between}
.language-open-btn{margin-top:9px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:11px 12px;font-family:inherit;font-size:12px}
.language-open-btn:active{transform:scale(.985)}
.language-modal-list{display:grid;gap:8px}
.language-modal-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px 13px;font-family:inherit;text-align:left}
.language-modal-option.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 11%,var(--bg))}
.language-modal-option .check{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);font-size:11px}
.language-modal-option.active .check{background:var(--accent);border-color:var(--accent);color:var(--bg)}

#adminQuickReplyOverlay .admin-modal{background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 55px rgba(0,0,0,.55)}
#adminQuickReplyContext{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:10px 12px;color:var(--text-dim);font-size:12px;line-height:1.45;margin-bottom:12px;max-height:95px;overflow:auto}
.admin-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-kpi{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;padding:13px;text-align:left;display:flex;flex-direction:column;gap:4px}.admin-kpi strong{font-size:22px;color:var(--accent-bright)}.admin-kpi span{font-size:10.5px;color:var(--text-dim)}button.admin-kpi{cursor:pointer}
.admin-action-list,.admin-notification-list{display:flex;flex-direction:column;gap:8px}.admin-action,.admin-notification{width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:11px;padding:11px;text-align:left}.admin-action>span,.admin-notification>span{font-size:20px}.admin-action>div,.admin-notification>div{flex:1;min-width:0}.admin-action strong,.admin-notification strong{display:block;font-size:12.5px}.admin-action small,.admin-notification small{display:block;font-size:10.5px;color:var(--text-dim);margin-top:3px;white-space:normal}.admin-notification.unread{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.admin-notification .notif-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:0 0 7px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.admin-toolbar button,.admin-toolbar select{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;padding:7px 9px;font-size:11px}.admin-comment-actions{display:flex;gap:6px;margin-top:8px}.admin-comment-actions button{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:7px;padding:6px 8px;font-size:10.5px}.admin-health-card{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:16px}.admin-health-status{font-weight:800;font-size:17px}.admin-health-details{font-size:11px;color:var(--text-dim);margin-top:7px;line-height:1.5}.admin-roadmap{border:1px dashed var(--line);border-radius:10px;padding:13px;font-size:11.5px;color:var(--text-dim);line-height:1.6}.admin-comment-highlight{animation:adminCommentPulse 2s ease 2}@keyframes adminCommentPulse{50%{box-shadow:0 0 0 4px var(--accent)}}

#tabStats{overflow-x:hidden}
#tabStats .admin-center-panel{
will-change:transform,opacity;
touch-action:pan-y;
}

@media (prefers-reduced-motion:no-preference){
#tabStats .admin-center-panel.admin-center-enter-left{
animation:adminCenterEnterLeft .22s cubic-bezier(.2,.8,.2,1);
}
#tabStats .admin-center-panel.admin-center-enter-right{
animation:adminCenterEnterRight .22s cubic-bezier(.2,.8,.2,1);
}
@keyframes adminCenterEnterLeft{
from{transform:translateX(22px);opacity:1}
to{transform:translateX(0);opacity:1}
}
@keyframes adminCenterEnterRight{
from{transform:translateX(-22px);opacity:1}
to{transform:translateX(0);opacity:1}
}
}

#menuPanel.admin-center-swipe-active{
user-select:none;
-webkit-user-select:none;
}
#menuPanel.admin-center-swipe-active .admin-center-panel{
cursor:grabbing;
}

#tabStats select,
#tabStats input,
#tabStats textarea{
color:var(--text);
background:var(--panel);
border:1px solid var(--line);
border-radius:12px;
box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
#tabStats select{
appearance:none;
-webkit-appearance:none;
background-image:
linear-gradient(45deg,transparent 50%,currentColor 50%),
linear-gradient(135deg,currentColor 50%,transparent 50%);
background-position:
calc(100% - 18px) 50%,
calc(100% - 13px) 50%;
background-size:5px 5px,5px 5px;
background-repeat:no-repeat;
padding-right:38px;
}
html[dir="rtl"] #tabStats select{
background-position:18px 50%,13px 50%;
padding-right:12px;
padding-left:38px;
}
#tabStats select:focus,
#tabStats input:focus,
#tabStats textarea:focus{
outline:none;
border-color:var(--accent);
box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent);
}
#tabStats option{
color:var(--text);
background:var(--panel);
}

html, body{
width:100%;
max-width:100%;
height:100%;
min-height:100%;
margin:0;
overflow:hidden;
overscroll-behavior:none;
touch-action:none;
}

#appRoot{
position:relative;
width:100%;
max-width:100%;
height:var(--mom-live-viewport-height,100dvh);
max-height:var(--mom-live-viewport-height,100dvh);
margin:0;
overflow-x:clip;
overflow-y:auto;
overscroll-behavior-x:none;
overscroll-behavior-y:contain;
touch-action:pan-y;
-webkit-overflow-scrolling:touch;



}


#appRoot > *{
max-width:100%;

}

#appRoot > .custom-site-header{
/* v5.87R — cette règle définit uniquement la géométrie dans le flux.
Pendant le pull, les dimensions inline figées par windows/runtime.js
doivent pouvoir gagner sans priorité concurrente. */
width:calc(100% + 36px);
min-width:calc(100% + 36px);
max-width:none;
margin-left:-18px;
margin-right:-18px;
}

.icon-btn-row{
transition-property:opacity, visibility;
overflow:hidden;
overscroll-behavior:none;
touch-action:manipulation;
backface-visibility:hidden;
}



@supports (-moz-appearance:none){
.icon-btn-row > *{
position:relative;
top:0;
}
}

.mini-player{
padding:7px 16px;
overflow:hidden !important;
touch-action:manipulation;

}
body.mini-player-visible #appRoot{
padding-bottom:calc(
var(--mini-player-content-clearance, var(--mom-mini-player-height,56px)) +
var(--mom-bottom-bar-height) +
18px
);
scroll-padding-bottom:calc(
var(--mini-player-content-clearance, var(--mom-mini-player-height,56px)) +
var(--mom-bottom-bar-height) +
18px
);
}

@supports not (overflow:clip){
#appRoot{ overflow-x:hidden !important; }
}

img, video, canvas, iframe, svg{
max-width:100%;
}

.admin-modal *{
opacity:1;
}
.admin-modal-overlay:not(.open) .admin-modal{
opacity:1;
}

html.startup-lock:not(.startup-homepage) #appRoot,
html.startup-lock:not(.startup-homepage) .icon-btn-row,
html.startup-lock:not(.startup-homepage) .mini-player,
html.startup-lock:not(.startup-homepage) #globalUploadBar,
html.startup-lock:not(.startup-homepage) #globalDownloadBar{
visibility:hidden !important;
opacity:0 !important;
pointer-events:none !important;
}
html.startup-lock:not(.startup-homepage) #firstPopupOverlay,
html.startup-lock:not(.startup-homepage) #firstPopupOverlay *,
html.startup-lock:not(.startup-homepage) #firstPopupVeil *{
visibility:visible !important;
}
.admin-modal-overlay.open .admin-modal,
.menu-panel{transition-duration:var(--mom-window-open-ms)!important;}

.admin-modal.mom-window-dragging,.menu-panel.mom-window-dragging{
transition:none!important;
animation:none;
will-change:transform;
}
#firstPopupVeil{

backface-visibility:hidden;
-webkit-backface-visibility:hidden;

}
#firstPopupCard.mom-animation-engine-active{
transition:none !important;
animation:none;
will-change:transform;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
}

#visitorLanguageBox[hidden],
#menuPanel[data-active-view="admin"] #visitorLanguageBox,
#adminCenterLanguages[hidden],
#menuHome #adminCenterLanguages,
#tabTheme #adminCenterLanguages,
#tabMerchandising #adminCenterLanguages{
display:none;
}

.admin-modal-overlay,
#accountSwitcherOverlay,
#adminLoginOverlay,
#adminQuickReplyOverlay,
#albumDoneOverlay,
#galleryFolderNameOverlay,
#galleryFolderContentsOverlay,
#externalInviteOverlay,
#galleryViewerOverlay{
background-color:transparent;
background-image:none;
backdrop-filter:blur(6px);
-webkit-backdrop-filter:blur(6px);
}

#adminLanguageChoices .language-choice{
display:grid;
grid-template-columns:18px minmax(0,1fr);
align-items:center;
justify-content:stretch;
column-gap:10px;
width:100%;
min-height:40px;
padding:10px 12px;
text-align:left;

}

#adminLanguageChoices .language-check{
width:16px;
height:16px;
min-width:16px;
min-height:16px;
margin:0;
justify-self:start;
align-self:center;

}

#adminLanguageChoices .language-name{
min-width:0;
text-align:left;
line-height:1.25;
}

#artWrap{

position:relative;
}

#artworkStaticBackdrop{
position:absolute;
inset:0;

overflow:hidden;
}

#artworkStaticBackdrop::after{
content:'';
position:absolute;
inset:0;
pointer-events:none;
background:rgba(0,0,0,.08);
}

.artwork-static-edge-fade{
position:absolute;
inset:-1px;
z-index:1;
pointer-events:none;
border-radius:inherit;
box-shadow:
inset 0 0 20px 9px color-mix(in srgb,var(--bg) 55%,transparent),
inset 0 0 6px 2px color-mix(in srgb,var(--bg) 28%,transparent);
}

#heroArt{
position:relative;

transform:rotateX(0deg);

}

#artworkQrBack{
position:absolute;

display:flex;
align-items:center;
justify-content:center;

transform:rotateX(180deg);

pointer-events:none;
}

.artwork-qr-card{
position:relative;
width:100%;
height:100%;

padding:18px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:10px;
overflow:hidden;
background:var(--panel);
border:1px solid var(--line);
border-radius:inherit;
}

.artwork-qr-card::before{
content:'';
position:absolute;
inset:0;
z-index:0;
pointer-events:none;
background:
radial-gradient(circle at center,
color-mix(in srgb,var(--panel) 90%,transparent),
var(--panel));
}

.artwork-qr-title,
.artwork-qr-code,
.artwork-qr-help{
position:relative;
z-index:2;
}

.artwork-qr-title{
max-width:92%;
font-size:14px;
font-weight:800;
color:var(--text);
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.artwork-qr-code{
width:min(70%,230px);
aspect-ratio:1;
display:flex;
align-items:center;
justify-content:center;
background:#fff;
padding:10px;
border:4px solid var(--accent);
border-radius:12px;

}

.artwork-qr-code img,
.artwork-qr-code canvas{
width:100%;
height:100%;
display:block;
}

.artwork-qr-help{
font-size:11px;
color:var(--text-dim);
text-align:center;
}

#heroArt,
#artworkQrBack{
touch-action:none;
}

.equalizer-modal{
width:min(94vw,620px);
max-width:620px;
height:auto;

padding:0;
overflow:hidden;
}

.equalizer-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:16px;
padding:18px 18px 10px;
}

.equalizer-title{
color:var(--text);
font-size:18px;
font-weight:800;
}

.equalizer-subtitle{
margin-top:3px;
color:var(--text-dim);
font-size:11px;
}

.equalizer-presets{
display:flex;
gap:7px;
overflow-x:auto;
padding:8px 18px 12px;

}


.equalizer-preset{
flex:0 0 auto;
padding:8px 12px;
border:1px solid var(--line);
border-radius:8px;
background:var(--bg);
color:var(--text-dim);
font-size:11px;
font-weight:700;
cursor:pointer;
}

.equalizer-preset.active{
border-color:var(--accent);
background:var(--accent);
color:var(--bg);
}

.equalizer-bands{
display:grid;
grid-template-columns:repeat(10,minmax(28px,1fr));
gap:4px;
align-items:end;
padding:8px 12px 14px;
overflow-x:auto;
}

.equalizer-footer{
display:flex;
align-items:center;
justify-content:space-between;

border-top:1px solid var(--line);
}

.equalizer-reset{
border:1px solid var(--line);
border-radius:8px;
background:var(--bg);
color:var(--text);

cursor:pointer;
}

.equalizer-enable{
display:flex;
align-items:center;
gap:9px;
color:var(--text);
font-size:12px;
cursor:pointer;
}

.equalizer-enable input{
position:absolute;
opacity:0;
pointer-events:none;
}

.equalizer-switch{
position:relative;
width:42px;
height:24px;
border-radius:999px;
background:var(--line);
transition:background .18s ease;
}

.equalizer-switch::after{
content:'';
position:absolute;
top:3px;
left:3px;
width:18px;
height:18px;
border-radius:50%;
background:var(--text);
transition:transform .18s ease;
}

.equalizer-enable input:checked + .equalizer-switch{
background:var(--accent);
}

.equalizer-enable input:checked + .equalizer-switch::after{
transform:translateX(18px);
}

.equalizer-switch.mom-eq-state-sync,
.equalizer-switch.mom-eq-state-sync::after{
transition:none;
}

@media (max-width:480px){
.equalizer-modal{
width:calc(100vw - 20px);
}

.equalizer-bands{
gap:1px;
padding-left:7px;
padding-right:7px;
}

}

#equalizerOverlay{
display:flex;
align-items:center ;
justify-content:center ;
overflow:hidden;
background:transparent;
-webkit-backdrop-filter:blur(6px);
opacity:0;
transition:
opacity .2s ease,
padding-bottom .25s ease;
}

#equalizerModal{

margin:0;

transition:transform .18s cubic-bezier(.22,.61,.36,1);
will-change:transform;
}

#equalizerOverlay.open{
opacity:1;
}

#equalizerOverlay.mom-closing{
opacity:0;
}


#heroArt{
transition:
transform .34s cubic-bezier(.22,.72,.24,1),
box-shadow .6s ease !important;
}

#artworkQrBack{
transition:
transform .34s cubic-bezier(.22,.72,.24,1) !important;
}


.equalizer-bands{
touch-action:none;
overscroll-behavior:contain;
}

.equalizer-presets{

padding-top:12px;
padding-bottom:14px;
border-top:1px solid var(--line);
}

.equalizer-preamp-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;

color:var(--text);
font-size:12px;
font-weight:700;
}

.equalizer-preamp-head output{
color:var(--accent-bright);
font-variant-numeric:tabular-nums;
}

.equalizer-preamp-slider{
width:100%;
accent-color:var(--accent);
touch-action:none;

}

.equalizer-autoeq{
padding:14px 18px 18px;
border-top:1px solid var(--line);
}

.equalizer-autoeq-title{
margin-bottom:9px;
color:var(--text);
font-size:13px;
font-weight:800;
}

.equalizer-autoeq-search-row{
display:grid;

gap:8px;
}

.equalizer-autoeq-search{
min-width:0;
width:100%;

padding:10px 12px;
border:1px solid var(--line);
border-radius:9px;
background:var(--bg);
color:var(--text);
outline:none;

}

.equalizer-autoeq-search:focus{
border-color:var(--accent);
}

.equalizer-autoeq-refresh{
border:1px solid var(--line);
border-radius:9px;
background:var(--bg);
color:var(--text);
font-size:18px;

}

.equalizer-autoeq-status{
min-height:16px;
margin-top:8px;
color:var(--text-dim);
font-size:10px;
}

.equalizer-autoeq-results{
display:flex;
flex-direction:column;
gap:6px;

margin-top:9px;

}

.equalizer-autoeq-result{
width:100%;
padding:9px 10px;
border:1px solid var(--line);
border-radius:8px;
background:var(--panel);
color:var(--text);
text-align:left;
font-size:11px;
cursor:pointer;

}

.equalizer-autoeq-result:hover,
.equalizer-autoeq-result:focus{
border-color:var(--accent);
}

.equalizer-autoeq-result small{
display:block;
margin-top:3px;
color:var(--text-dim);
font-size:9px;
}

.equalizer-autoeq{
order:1;
padding-bottom:14px;
}

.equalizer-bands{
order:2;
transition:margin-top .18s ease;
}

.equalizer-presets{
margin-top:0;
order:3;
}

.equalizer-autoeq-search-row{
grid-template-columns:minmax(0,1fr) 38px;
}

.equalizer-autoeq-search-wrap{
position:relative;
min-width:0;
}

.equalizer-autoeq-search{
padding-right:38px;
}

.equalizer-autoeq-search::-webkit-search-cancel-button{
-webkit-appearance:none;
appearance:none;
display:none;
}

.equalizer-autoeq-clear{
position:absolute;
top:50%;
right:8px;
width:25px;
height:25px;
padding:0;
transform:translateY(-50%);
border:0;
border-radius:50%;
background:transparent;
color:var(--text-dim);
font-size:21px;
line-height:25px;
text-align:center;
cursor:pointer;

}

.equalizer-autoeq-clear:active{
background:color-mix(in srgb,var(--line) 45%,transparent);
}

.equalizer-autoeq-results{

max-height:190px;

overflow-y:auto;
transition:max-height .2s ease;
}

#equalizerModal.autoeq-search-active .equalizer-autoeq-results{
max-height:270px;
}

#equalizerModal.autoeq-search-active .equalizer-bands{
margin-top:10px;
}

.popup-sound-btn::before{

background:rgba(255,255,255,.88);
-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.09 0-7.19 3.72-6.39 7.69l-2.08-.68C2.83 5.94 6.65 2 12 2c2.76 0 5.26 1.12 7.07 2.93L22 2v8h-8l3.65-3.65zM6.35 17.65C7.8 19.1 9.79 20 12 20c4.09 0 7.19-3.72 6.39-7.69l2.08.68C21.17 18.06 17.35 22 12 22c-2.76 0-5.26-1.12-7.07-2.93L2 22v-8h8l-3.65 3.65z'/%3E%3C/svg%3E") center/15px 15px no-repeat;
mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.09 0-7.19 3.72-6.39 7.69l-2.08-.68C2.83 5.94 6.65 2 12 2c2.76 0 5.26 1.12 7.07 2.93L22 2v8h-8l3.65-3.65zM6.35 17.65C7.8 19.1 9.79 20 12 20c4.09 0 7.19-3.72 6.39-7.69l2.08.68C21.17 18.06 17.35 22 12 22c-2.76 0-5.26-1.12-7.07-2.93L2 22v-8h8l-3.65 3.65z'/%3E%3C/svg%3E") center/15px 15px no-repeat;

}

.popup-sound-btn::after{

inset:-12px;
border-radius:50%;
background:rgba(0,0,0,.10);

z-index:-1;
}

.equalizer-autoeq-results-shell{
position:relative;
display:none;
}

.equalizer-autoeq-results-shell.has-results{
display:block;
}

.equalizer-autoeq-shadow{
position:absolute;
left:0;
right:0;
height:18px;
z-index:5;
pointer-events:none;
opacity:0;
transition:opacity .14s ease;
}

.equalizer-autoeq-results-shell.has-results .equalizer-autoeq-shadow{
opacity:1;
}

.equalizer-autoeq-shadow.top{
top:0;
background:linear-gradient(
to bottom,
color-mix(in srgb,var(--panel) 94%,transparent),
transparent
);
}

.equalizer-autoeq-shadow.bottom{
bottom:0;
background:linear-gradient(
to top,
color-mix(in srgb,var(--panel) 94%,transparent),
transparent
);
}

.equalizer-autoeq-results{
position:relative;
z-index:1;
padding:10px 4px;
}

.equalizer-autoeq-result{
position:relative;
z-index:1;
}


video::-webkit-media-controls,
video::-webkit-media-controls-enclosure,
video::-webkit-media-controls-panel,
video::-webkit-media-controls-play-button,
video::-webkit-media-controls-timeline,
video::-webkit-media-controls-current-time-display,
video::-webkit-media-controls-time-remaining-display,
video::-webkit-media-controls-mute-button,
video::-webkit-media-controls-volume-slider,
video::-webkit-media-controls-fullscreen-button,
video::-webkit-media-controls-overflow-button{
display:none !important;
-webkit-appearance:none !important;
opacity:0 !important;
pointer-events:none !important;
}

#galleryViewerVideo,
#firstPopupVideo{
outline:none;
}

.mom-video-progress{
position:absolute;
left:16px;
right:16px;
bottom:18px;
z-index:4;
pointer-events:auto;
}

.mom-video-progress-input{
width:100%;
height:18px;
margin:0;
padding:0;
appearance:none;
-webkit-appearance:none;
background:transparent;
cursor:pointer;
touch-action:none;

--mom-video-progress:0%;
}

.mom-video-progress-input::-webkit-slider-runnable-track{
height:4px;
border-radius:999px;
background:
linear-gradient(
to right,
var(--accent) 0,
var(--accent) var(--mom-video-progress),
color-mix(in srgb,var(--text-dim) 36%,transparent)
var(--mom-video-progress),
color-mix(in srgb,var(--text-dim) 36%,transparent) 100%
);
box-shadow:0 1px 5px rgba(0,0,0,.45);
}

.mom-video-progress-input::-webkit-slider-thumb{
appearance:none;
-webkit-appearance:none;
width:14px;
height:14px;
margin-top:-5px;
border:2px solid color-mix(in srgb,var(--accent) 78%,white);
border-radius:50%;
background:var(--accent);
box-shadow:0 1px 6px rgba(0,0,0,.55);
}

.mom-video-progress-input::-moz-range-track{
height:4px;
border:0;
border-radius:999px;
background:color-mix(in srgb,var(--text-dim) 36%,transparent);
box-shadow:0 1px 5px rgba(0,0,0,.45);
}

.mom-video-progress-input::-moz-range-progress{
height:4px;
border-radius:999px;
background:var(--accent);
}

.mom-video-progress-input::-moz-range-thumb{
width:14px;
height:14px;
border:2px solid color-mix(in srgb,var(--accent) 78%,white);
border-radius:50%;
background:var(--accent);
box-shadow:0 1px 6px rgba(0,0,0,.55);
}

.mom-video-progress-input:focus{
outline:none;
}

.mom-video-progress-input:focus-visible::-webkit-slider-thumb{
box-shadow:
0 1px 6px rgba(0,0,0,.55),
0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent);
}

.popup-sound-btn{
bottom:54px;
overflow:visible;
}

.popup-sound-btn::before{
content:'';
position:absolute;
inset:-11px;
border:2px solid rgba(255,255,255,.82);
border-right-color:transparent;
border-radius:50%;
transform:rotate(-35deg);
pointer-events:none;
filter:drop-shadow(0 1px 3px rgba(0,0,0,.75));
}

.popup-sound-btn::after{
content:'';
position:absolute;
right:-8px;
top:-7px;
width:0;
height:0;
border-left:6px solid rgba(255,255,255,.9);
border-top:4px solid transparent;
border-bottom:4px solid transparent;
transform:rotate(18deg);
pointer-events:none;
filter:drop-shadow(0 1px 2px rgba(0,0,0,.75));
}

#heroArt{
z-index:3;
}

#artworkQrBack{
z-index:2;
}

#artworkStaticBackdrop{
z-index:0 !important;
transform:translateZ(-2px) scale(1.002);
will-change:auto;
pointer-events:none;
}

#artworkQrBack,
#artworkQrBack .artwork-qr-card{
opacity:1;
}

#heroArt,
#artworkQrBack,
#artworkStaticBackdrop{
transition-property:transform,box-shadow !important;
}

#artWrap,
#heroArt,
#artworkQrBack{
border-radius:inherit;
}

.equalizer-preamp-slider{
height:16px;
}

.equalizer-footer{

min-height:0;
padding:9px 18px 11px;
gap:10px ;
}

.equalizer-reset{
padding:7px 10px ;
min-height:34px;
}

.equalizer-enable{
min-height:34px;
}


@media (max-width:480px){
.equalizer-footer{
padding:7px 12px 9px;
}
}

.equalizer-footer{
order:4;
margin-top:0;
padding-bottom:7px;
}

.equalizer-preamp{
order:5;
margin-top:0;
padding:8px 18px 11px ;
border-top:1px solid var(--line);
}

.equalizer-preamp-head{
margin-bottom:5px ;
}

@media (max-width:480px){
.equalizer-footer{
padding-bottom:6px;
}

.equalizer-preamp{
padding:7px 12px 9px;
}
}

#equalizerModal{
display:flex;
flex-direction:column;
overflow:hidden;
}

#equalizerModal > .mom-equalizer-scroll-viewport{
flex:1 1 auto;
min-height:0;
overflow-y:auto;
overflow-x:hidden;
display:flex;
flex-direction:column;
overscroll-behavior:contain;
-webkit-overflow-scrolling:touch;
}

#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-head,
#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-autoeq,
#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-bands,
#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-presets,
#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-footer,
#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-preamp{
position:relative;
inset:auto;
width:auto;
flex:0 0 auto;
transform:none;
}

#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-head{ order:1; }
#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-autoeq{ order:2; }
#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-bands{ order:3; }
#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-presets{ order:4; }
#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-footer{ order:5; }

#equalizerModal .equalizer-footer{
display:flex;
align-items:center ;
justify-content:space-between ;
padding:8px 18px 7px;
margin:0;
}

#equalizerModal .equalizer-preamp{
display:block;
padding:8px 18px 11px ;
margin:0;
border-top:1px solid var(--line);
}

#equalizerModal .equalizer-preamp-slider{
display:block;
width:100%;
height:18px;
margin:0;
transform:none;
}

@media (max-width:480px){
#equalizerModal{
}

#equalizerModal .equalizer-footer{
padding:7px 12px 6px;
}

#equalizerModal .equalizer-preamp{
padding:7px 12px 9px;
}
}

#artWrap{
-webkit-user-select:none;
user-select:none;
border-radius:18px;
}

#artworkQrBack{
border-radius:18px ;
overflow:hidden;
clip-path:inset(0 round 18px);
-webkit-mask-image:
-webkit-radial-gradient(white,black);
}

#artworkQrCard,
#artworkQrBack .artwork-qr-card{
border-radius:18px;
overflow:hidden;
clip-path:inset(0 round 18px);
}

#equalizerAutoEqResultsShell,
#equalizerAutoEqResults{
touch-action:pan-y;
overscroll-behavior:contain;
-webkit-overflow-scrolling:touch;
}

#equalizerAutoEqResults{
overflow-y:auto;
pointer-events:auto;
}

#menuAlbumSwitch{
min-height:100%;
}
#menuAlbumSwitch .menu-title{
margin-bottom:14px;
}
#menuAlbumSwitch #albumSwitchGrid{
padding-bottom:8px;
}

#firstPopupOverlay.popup-exit-running{
opacity:1;
visibility:visible;

}
#firstPopupCard.popup-exit-running{
opacity:1;
filter:none;

}
#appRoot.mom-popup-cinematic-reveal,
.icon-btn-row.mom-popup-cinematic-reveal{
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
}

html.startup-lock:not(.startup-homepage) #appRoot.mom-popup-cinematic-reveal,
html.startup-lock:not(.startup-homepage) .icon-btn-row.mom-popup-cinematic-reveal{
visibility:visible !important;
pointer-events:none !important;
}

@media (prefers-reduced-motion:reduce){
#appRoot.mom-popup-cinematic-reveal,
.icon-btn-row.mom-popup-cinematic-reveal{
transition:none !important;
}
}

#equalizerModal[data-pull-down-dismiss="1"]::before{
content:'';
flex:0 0 auto;
align-self:center;
width:38px;
height:4px;
border-radius:999px;
background:var(--line);
margin:7px 0 1px;
opacity:.9;
pointer-events:none;
}

#equalizerModal .equalizer-bands *{
touch-action:none;
}

#equalizerAutoEqStatus:empty{
display:none;
}
#equalizerAutoEqStatus:not(:empty){
min-height:0;
margin-top:6px;
}

#equalizerModal .equalizer-head{
padding-top:10px;
padding-bottom:8px;
}
#equalizerModal .equalizer-autoeq{
padding-top:10px;
padding-bottom:11px;
}
#equalizerModal .equalizer-autoeq-title{
margin-bottom:7px ;
}
#equalizerModal .equalizer-autoeq-results-shell:not(.has-results){
display:none;
}
#equalizerModal .equalizer-bands{
padding-top:7px;
padding-bottom:11px;
}
#equalizerModal .equalizer-presets{
padding-top:9px;
padding-bottom:10px;
}
#equalizerModal .equalizer-footer{
padding-top:8px;
}

#menuOverlay,
#searchModalOverlay,
#equalizerOverlay{
background-color:transparent;
background-image:none;
backdrop-filter:blur(6px) !important;
-webkit-backdrop-filter:blur(6px);
opacity:0;
visibility:visible;
pointer-events:none;
transition:opacity .2s ease, padding-bottom .25s ease !important;
transform:translateZ(0);
}

#menuOverlay.open,
#searchModalOverlay.open,
#equalizerOverlay.open{
opacity:1;
visibility:visible;
pointer-events:auto;
}

#menuOverlay.mom-closing,
#searchModalOverlay.mom-closing,
#equalizerOverlay.mom-closing{
opacity:0;
visibility:visible;
pointer-events:none;
}

#searchModalOverlay > .admin-modal,
#equalizerModal{
position:relative;
z-index:1;
opacity:1;
}

#equalizerModal{
touch-action:none;
overscroll-behavior:contain;
}

#artworkStaticBackdrop{
transition:none !important;
}

#artWrap{
isolation:isolate;
}

#heroArt,
#artworkQrBack{
-webkit-font-smoothing:antialiased;
image-rendering:auto;
box-shadow:0 0 0 1px transparent;
will-change:transform;
}

#artworkQrBack,
#artworkQrBack .artwork-qr-card{
background:transparent;
}

#artworkQrBack .artwork-qr-card{
isolation:isolate;
}

#artworkQrBack .artwork-qr-card::before{
content:'';
position:absolute;
inset:0;
z-index:0;
pointer-events:none;
background-image:var(--mom-qr-album-artwork,none);
background-size:cover;
background-position:center;
background-repeat:no-repeat;
filter:blur(8px) saturate(1.08);
transform:translateZ(0);
opacity:1;
}

#artworkQrBack .artwork-qr-card::after{
content:'';
position:absolute;
inset:0;
z-index:1;
pointer-events:none;

}

#artworkQrBack .artwork-qr-title,
#artworkQrBack .artwork-qr-code,
#artworkQrBack .artwork-qr-help{
position:relative;
z-index:3;
}

#artworkQrBack .artwork-qr-code{
box-shadow:
0 8px 24px rgba(0,0,0,.36),
0 0 0 1px rgba(255,255,255,.16);
}



.mom-backdrop-blur-locked{
visibility:visible;
pointer-events:none;
}

#equalizerBands.equalizer-curve-bands{display:block;width:100%;min-width:0;padding:8px 12px 12px;overflow:hidden;touch-action:none}
.equalizer-curve-shell{position:relative;width:100%;height:250px;min-height:220px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:linear-gradient(to bottom,color-mix(in srgb,var(--panel) 82%,transparent),color-mix(in srgb,var(--bg) 72%,transparent));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 4%,transparent);user-select:none;-webkit-user-select:none;touch-action:none}
.equalizer-curve-values,.equalizer-curve-labels{position:absolute;left:0;right:0;z-index:4;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));pointer-events:none}
.equalizer-curve-values{top:0}.equalizer-curve-labels{bottom:0}
.equalizer-curve-value,.equalizer-curve-label{min-width:0;padding:7px 1px;overflow:hidden;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--panel) 88%,transparent);border-right:1px solid var(--line)}
.equalizer-curve-value:last-child,.equalizer-curve-label:last-child{border-right:0}
.equalizer-curve-value{color:var(--accent-bright);font-size:10px;font-weight:800}.equalizer-curve-label{color:var(--text-dim);font-size:9px;font-weight:750}
.equalizer-curve-svg{position:absolute;inset:31px 0 30px;width:100%;height:calc(100% - 61px);display:block;overflow:visible;touch-action:none}
.equalizer-curve-zero{stroke:var(--line);stroke-width:1.4;vector-effect:non-scaling-stroke}.equalizer-curve-grid{stroke:color-mix(in srgb,var(--line) 72%,transparent);stroke-width:1;stroke-dasharray:2 5;vector-effect:non-scaling-stroke}
.equalizer-curve-fill{fill:color-mix(in srgb,var(--accent) 22%,transparent);pointer-events:none}.equalizer-curve-path{fill:none;stroke:var(--text);stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(0,0,0,.32));pointer-events:none}
.equalizer-curve-point{fill:var(--text);stroke:var(--text);stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(0,0,0,.38));cursor:grab;touch-action:none;outline:none}.equalizer-curve-point.active{fill:var(--text);stroke:var(--accent);stroke-width:2.25}.equalizer-curve-point:focus,.equalizer-curve-point:focus-visible{outline:none;box-shadow:none;stroke:var(--text);stroke-width:1.5}
@media(max-width:480px){.equalizer-curve-shell{height:225px;min-height:205px}.equalizer-curve-value{font-size:8.5px;padding-left:0;padding-right:0}.equalizer-curve-label{font-size:8px;padding-left:0;padding-right:0}#equalizerBands.equalizer-curve-bands{padding-left:7px;padding-right:7px}}

#equalizerModal .equalizer-bands,
#equalizerModal .equalizer-curve-shell,
#equalizerModal .equalizer-curve-svg,
#equalizerModal .equalizer-curve-point{
touch-action:none;
}

#equalizerModal .equalizer-presets,
#equalizerModal .equalizer-presets .equalizer-preset{
touch-action:pan-x;
}

#equalizerModal{
position:relative;
}
#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-head{
position:static;
padding-right:58px;
}


#equalizerModal > .mom-equalizer-scroll-viewport > .equalizer-preamp{
order:6;
padding-top:14px;
}

#tabPopup{
touch-action:pan-y;
overscroll-behavior-x:contain;
}
#tabPopup.mom-popup-management-swiping{
user-select:none;
-webkit-user-select:none;
}

#themeHeaderClickOptions .theme-select-trigger{
background:var(--bg);
color:var(--text) ;
border-color:var(--line) ;
}
#themeHeaderClickOptions .theme-select-chevron{color:var(--text-dim) ;}
#themeHeaderClickOptions .theme-select-list{
background:var(--panel);
border-color:var(--line) ;
}
#themeHeaderClickOptions .theme-select-list button{
background:var(--panel);
color:var(--text) ;
border-color:var(--line) ;
}
#themeHeaderClickOptions .theme-select-list button:active,
#themeHeaderClickOptions .theme-select-list button.selected{
background:var(--bg);
color:var(--accent-bright);
}
#customSiteHeader.mom-header-clickable:focus-visible{
outline:2px solid var(--accent);
outline-offset:-3px;
}

#customSiteHeader.mom-header-clickable{
cursor:pointer;
touch-action:manipulation;
user-select:none;
-webkit-user-select:none;
transform-origin:center center;
}

#momHeaderPullPage{
position:fixed;
inset:0 0 var(--mom-bottom-bar-height,56px) 0;
z-index:var(--mom-header-pull-page-z,1090);
background:transparent;
opacity:0;
visibility:hidden;
pointer-events:none;
transform:translateZ(0);
backdrop-filter:blur(0px);
-webkit-backdrop-filter:blur(0px);
transition:
opacity .18s ease,
backdrop-filter .18s ease,
-webkit-backdrop-filter .18s ease,
visibility 0s linear .18s;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
}
#momHeaderPullPage.mom-visible{
opacity:1;
visibility:visible;
pointer-events:auto;
touch-action:none;
overscroll-behavior:none;
backdrop-filter:blur(6px);
-webkit-backdrop-filter:blur(6px);
transition:
opacity .12s ease,
backdrop-filter .12s ease,
-webkit-backdrop-filter .12s ease,
visibility 0s linear 0s;
}
#momHeaderPullPage.mom-blur-closing{
transition:none;
}
#customSiteHeader{

touch-action:none;
}
#customSiteHeader.mom-header-pulling,
#customSiteHeader.mom-header-pull-open{
z-index:var(--mom-header-pull-header-z,1101);
/* ch5.91R3 — promotion GPU uniquement pendant le geste. Le background
reste dans la couche normale au repos et ne glisse plus au scroll. */
will-change:transform,border-radius;
}
#customSiteHeader.mom-header-pull-animating{
transition:transform .46s cubic-bezier(.22,.78,.2,1),border-radius .46s cubic-bezier(.22,.78,.2,1);
}

body.mom-header-pull-active #appRoot{
overflow:hidden !important;
overscroll-behavior:none;
}
.mom-header-pull-placeholder{
display:block;
pointer-events:none;
visibility:hidden;
}
@media (prefers-reduced-motion:reduce){
#customSiteHeader.mom-header-pull-animating,
#momHeaderPullPage{transition-duration:.01ms !important;}
}

#downloadQualityModal{position:relative;}
#downloadQualityModal #downloadQualityClose{position:absolute;top:20px;right:20px;z-index:12;}
#downloadQualityTitle{padding-left:38px;padding-right:38px;}
#downloadQualitySubtitle{text-align:center ;}

.album-card-dl, button[aria-label^="Télécharger"], a[aria-label^="Télécharger"]{

outline:none;
}

.dl-btn{
-webkit-appearance:none;
appearance:none;
}

.dl-btn,
.dl-btn *,
button.dl-btn,
button.dl-btn svg,
button.dl-btn path{

-webkit-touch-callout:none;
-webkit-user-select:none;
user-select:none;
}
.dl-btn,
.dl-btn:hover,
.dl-btn:active,
.dl-btn:focus,
.dl-btn:focus-visible,
.dl-btn.pressed{
background:none;
background-color:transparent;
color:var(--text-dim);
outline:none;
box-shadow:none;
filter:none;
}

#cartBtn > svg{
transition:
color 200ms cubic-bezier(.62,.06,.74,.34),
filter 200ms cubic-bezier(.62,.06,.74,.34);
}

#cartBtn.cart-has-items > svg{
color:#d6a51f;
stroke:#d6a51f;
filter:
drop-shadow(0 0 1px rgba(255,229,132,.72))
drop-shadow(0 1px 1px rgba(92,57,0,.38));
}

#systemDialogOverlay{
background:transparent;
background-color:transparent;
background-image:none;
-webkit-backdrop-filter:blur(6px);
backdrop-filter:blur(6px) !important;
}

#downloadQualityOverlay.open,
#systemDialogOverlay.open{
pointer-events:auto;
}

#downloadQualityOverlay:not(.open),
#systemDialogOverlay:not(.open){
pointer-events:none;
}

/* R242 — mode commun pour les confirmations désignées comme compactes.
   Le même mode est réutilisable sans créer de règle par fenêtre. */
#systemDialogOverlay.mom-compact-confirmation #systemDialogModal{
height:fit-content;
min-height:0;
max-height:calc(100svh - 40px);
flex:0 0 auto;
--mom-window-panel-padding:18px;
}
#systemDialogOverlay.mom-compact-confirmation #systemDialogModal::before{display:none}
.mom-system-dialog-inner{padding:22px 20px 18px}
.mom-system-dialog-title{display:block;margin:0 0 7px;text-align:center;color:var(--text);font-size:17px;font-weight:750;line-height:1.2}
.mom-system-dialog-title[hidden]{display:none}
.mom-system-dialog-message{font-size:14.5px;color:var(--text);line-height:1.5}
.mom-system-dialog-actions{display:flex;gap:8px;margin-top:18px}
#systemDialogOverlay.mom-compact-confirmation .mom-system-dialog-inner{padding:22px 20px 18px}
#systemDialogOverlay.mom-compact-confirmation .mom-system-dialog-message{max-width:280px;margin:0 auto;color:var(--text-dim);font-size:12.5px;line-height:1.45;text-align:center}
#systemDialogOverlay.mom-compact-confirmation .mom-system-dialog-actions{margin-top:16px}

span.dl-btn{
appearance:none;
-webkit-appearance:none;

-webkit-touch-callout:none;
user-select:none;
-webkit-user-select:none;
}
span.dl-btn,
span.dl-btn:hover,
span.dl-btn:active,
span.dl-btn:focus,
span.dl-btn:focus-visible{
color:var(--text-dim);
background:transparent;
outline:none;
box-shadow:none;
filter:none;
}
span.dl-btn svg,
span.dl-btn path{
pointer-events:none;

}

#artHorizontalLayer{
position:relative;
z-index:1;
width:min(100%,360px);
max-width:360px;
margin:0 auto 22px;
aspect-ratio:1;

transform:translate3d(0,0,0);
transform-style:flat;
-webkit-transform-style:flat;
will-change:transform;
}

#artHorizontalLayer > #artWrap{
width:100%;
max-width:none;
margin:0;

inset:0;
}

#artHorizontalLayer .art-horizontal-snapshot{
position:absolute;
inset:0;
border-radius:18px;
background-size:cover;
background-position:center;

pointer-events:none;
overflow:hidden;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
transform-style:flat;
-webkit-transform-style:flat;

}

#artHorizontalLayer.art-horizontal-active{
z-index:2;
}

#artHorizontalLayer.art-horizontal-active #artWrap{
transform-style:preserve-3d;
-webkit-transform-style:preserve-3d;
}

.track-row,
.track-row *,
.track-row .dl-btn,
.track-row .dl-btn *{

-webkit-touch-callout:none;
outline:none;
}

#downloadQualityOverlay{
background:transparent;
background-color:transparent;
background-image:none;
-webkit-backdrop-filter:blur(6px);
backdrop-filter:blur(6px) !important;
transition:none !important;
opacity:0;
visibility:hidden;
pointer-events:none;
transform:translateZ(0);
will-change:opacity;
}

#downloadQualityOverlay.open,
#downloadQualityOverlay[data-quality-state="opening"],
#downloadQualityOverlay[data-quality-state="open"],
#downloadQualityOverlay[data-quality-state="closing"]{
visibility:visible;
}

#downloadQualityOverlay[data-quality-state="opening"],
#downloadQualityOverlay[data-quality-state="open"]{
pointer-events:auto;
}

#downloadQualityOverlay[data-quality-state="closing"]{
pointer-events:none;
}

#downloadQualityModal{
z-index:1;
opacity:1;
will-change:transform;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
}

#downloadQualityModal,
#downloadQualityModal *{
pointer-events:auto;
}

/* R159 — pendant startup-lock, le canvas est exclusivement possédé par le splash.
Le thème canonique ne peut plus peindre une frame claire avant le calque de démarrage. */
html:not(.startup-homepage):not(.startup-lock),
html:not(.startup-homepage):not(.startup-lock) body{
background:var(--bg,#080706) !important;
}

html.startup-lock:not(.startup-homepage) #firstPopupVeil{
display:flex !important;
visibility:visible !important;
opacity:1 !important;
pointer-events:auto !important;

background:transparent;
contain:strict;
isolation:isolate;
}

html.startup-lock:not(.startup-homepage) #firstPopupVeil .preload-spinner{
display:none !important;
visibility:hidden !important;
opacity:0 !important;
}

html.startup-lock:not(.startup-homepage) #appRoot,
html.startup-lock:not(.startup-homepage) #appRoot *{
animation-play-state:paused;
}

html.startup-lock:not(.startup-homepage) #firstPopupOverlay,
html.startup-lock:not(.startup-homepage) #firstPopupOverlay *{
animation-play-state:running;
}

#firstPopupVeil{
transition:
opacity .65s cubic-bezier(.18,.72,.22,1),
background-color .65s cubic-bezier(.18,.72,.22,1);
}

html.mom-startup-popup-ready #firstPopupVeil{

background:transparent;
}

#firstPopupVeil > #firstPopupOverlay{
z-index:3 !important;
background:transparent;
}

html.startup-lock:not(.startup-homepage)
#firstPopupCard.mom-first-popup-card-preparing,
#firstPopupCard.mom-first-popup-manual-preparing{
visibility:visible !important;
filter:opacity(0);
-webkit-filter:opacity(0);
}

html.startup-lock:not(.startup-homepage)
#firstPopupCard.mom-first-popup-card-visible{
visibility:visible !important;
filter:none;
-webkit-filter:none;
}

.mom-critical-visual-phase #firstPopupCard{
contain:layout paint style;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
}

html[data-admin-role-state="pending"] #menuViewTabs,
html[data-admin-role-state="pending"] [data-admin-only]{
visibility:hidden;
pointer-events:none;
}

[data-mom-registered-window="1"]{
background-color:transparent;
background-image:none;
}

[data-mom-registered-window="1"] > [data-mom-registered-panel="1"]{
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
transform-origin:50% 100%;
}

[data-mom-registered-panel="1"].mom-window-dragging{
transition:none;
will-change:transform;
}

@media (prefers-reduced-motion: reduce){
#firstPopupCard,
#firstPopupOverlay,
.menu-panel,
.admin-modal,
#artHorizontalLayer,
#artWrap{
animation-duration:1ms;
transition-duration:1ms !important;
scroll-behavior:auto;
}
}

#equalizerModal{
transform:translate3d(0,112vh,0);
}

#equalizerOverlay.open #equalizerModal{
transform:translate3d(0,0,0);
}

#equalizerModal.mom-window-dragging{
transition:none;
}

[data-mom-registered-panel="1"]{
touch-action:pan-y;
}

[data-mom-registered-panel="1"] input[type="range"],
[data-mom-registered-panel="1"] canvas,
[data-mom-registered-panel="1"] svg[data-eq-point],
[data-mom-registered-panel="1"] [data-eq-point]{
touch-action:none;
}

#artWrap{
overscroll-behavior:contain;
touch-action:pan-y;
}

.first-popup-thumb-btn{grid-column:2; margin-left:0}.album-switch-btn{grid-column:3}.menu-btn{grid-column:4}.share-btn{grid-column:5}.search-btn{grid-column:6}.cart-btn{grid-column:7}
.bottom-brand{ position:absolute; left:8px; top:5px; bottom:4px; width:42px; display:flex; flex-direction:column; justify-content:center; font-size:12px; letter-spacing:.035em; font-weight:900; line-height:.88; color:var(--text-dim); opacity:.82;  z-index:2;  }
.icon-btn-row button:not(.personal-bottom-brand):not(.first-popup-thumb-btn){ position:relative; background:var(--panel); border:1px solid var(--line); color:var(--text); width:38px; height:38px; border-radius:8px; display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0;  outline:none; transition:border-color .15s, color .15s; }
.icon-btn-row button.pressed{ border-color:var(--accent); color:var(--accent-bright); }
.album-switch-badge{ position:absolute; bottom:-2px; right:-2px; color:var(--text-dim); font-size:14px; font-weight:800; line-height:1; text-shadow:0 1px 3px rgba(0,0,0,0.7), 0 0 6px var(--bg); }
.menu-overlay{ position:fixed; inset:0; -webkit-backdrop-filter:blur(6px); z-index:60; opacity:0; pointer-events:none; transition:opacity .2s, padding-bottom .25s ease; display:flex; align-items:center; justify-content:center; padding:20px;  }

.menu-overlay.open{ opacity:1; pointer-events:auto; }

.admin-modal-overlay{
position:fixed;
inset:0;

z-index:80;
opacity:1;
visibility:hidden;
pointer-events:none;

display:flex;
align-items:center;
justify-content:center;
padding:20px;


}
.admin-modal-overlay.open{
pointer-events:auto;
transition-delay:0s;
}

.admin-modal{ background:var(--panel); border-radius:18px; width:100%; max-width:380px; height:82vh; height:82svh; display:flex; flex-direction:column; box-shadow:0 20px 50px rgba(0,0,0,0.5); transform:translate3d(0,108vh,0); opacity:1; transition:transform .13s cubic-bezier(.55,.02,.92,.42); overflow:hidden; will-change:transform; }
.admin-modal-overlay.open .admin-modal{ transform:translate3d(0,0,0); opacity:1; transition-timing-function:cubic-bezier(.18,.78,.24,1); }
.admin-modal[data-pull-down-dismiss="1"],
.menu-panel[data-pull-down-dismiss="1"]{ touch-action:pan-y; }
.admin-modal[data-pull-down-dismiss="1"]::before,
.menu-panel[data-pull-down-dismiss="1"]::before{
content:''; flex:0 0 auto; align-self:center; width:38px; height:4px; border-radius:999px;
background:var(--line); margin:7px 0 2px; opacity:.9; pointer-events:none;
}
#systemDialogOverlay.download-success.open #systemDialogModal{animation:downloadSuccessPop .72s cubic-bezier(.18,.89,.32,1.28) both;}
#systemDialogOverlay.download-success #systemDialogSuccessIcon{display:flex !important;animation:downloadSuccessCheck .62s .1s cubic-bezier(.2,.9,.25,1.35) both;}
#systemDialogOverlay.download-success #systemDialogMessage{text-align:center;font-weight:700;animation:downloadSuccessText .45s .2s ease-out both;}
@keyframes downloadSuccessPop{0%{transform:translateY(22px) scale(.82);opacity:0}55%{transform:translateY(-5px) scale(1.035);opacity:1}76%{transform:translateY(2px) scale(.992)}100%{transform:translateY(0) scale(1);opacity:1}}
@keyframes downloadSuccessCheck{0%{transform:scale(.2) rotate(-18deg);opacity:0}65%{transform:scale(1.13) rotate(4deg);opacity:1}100%{transform:scale(1) rotate(0);opacity:1}}
@keyframes downloadSuccessText{from{transform:translateY(7px);opacity:0}to{transform:translateY(0);opacity:1}}
@media (prefers-reduced-motion:reduce){#systemDialogOverlay.download-success.open #systemDialogModal,#systemDialogOverlay.download-success #systemDialogSuccessIcon,#systemDialogOverlay.download-success #systemDialogMessage{animation:none !important;}}
.first-popup-card{ position:relative; background:var(--panel); border-radius:16px; width:100%; height:86vh; height:86svh; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 20px 50px rgba(0,0,0,0.6); transform:translate3d(0,8px,0); opacity:0; transition:transform .22s ease, opacity .22s ease, filter .3s ease; touch-action:none;  -webkit-backface-visibility:hidden; }
.first-popup-card.is-dragging{ will-change:transform; transition:none; }
.first-popup-card.clickable{ cursor:pointer; }
@keyframes popupClickPulse{ 0%{ transform:scale(1); } 40%{ transform:scale(0.96); } 100%{ transform:scale(1); } }

@keyframes goldStarSpinSettle{
0%{ transform:rotate(0deg); }
62%{ transform:rotate(1080deg); }
72%{ transform:rotate(1096deg); }
80%{ transform:rotate(1068deg); }
88%{ transform:rotate(1086deg); }
95%{ transform:rotate(1077deg); }
100%{ transform:rotate(1080deg); }
}
.first-popup-card.popup-click-pulse{ animation:popupClickPulse .35s cubic-bezier(.34,1.15,.64,1); }
.first-popup-thumb-btn{ position:relative; z-index:auto; background:var(--panel); border:1px solid #322C26; color:var(--text); width:28px; height:40px; box-sizing:border-box; border-radius:7px; background-size:cover; background-position:center; display:none; align-items:center; justify-content:center; overflow:hidden; cursor:pointer; -webkit-tap-highlight-color:transparent; outline:none; transition:border-color .15s, color .15s; }
.first-popup-thumb-btn.first-popup-thumb-placeholder{ color:var(--text-dim); }
.first-popup-thumb-btn.popup-click-pulse{ animation:popupClickPulse .35s cubic-bezier(.34,1.15,.64,1); }
.first-popup-card.card-open{ transform:translate3d(0,0,0); opacity:1; }
.admin-modal-head{ display:flex; align-items:stretch; border-bottom:1px solid var(--line); flex-shrink:0; }
.admin-modal-body{ padding:16px 18px 20px; overflow-y:auto; height:68vh; height:68svh;  }
.admin-modal-body h3{ font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--text-dim); margin:18px 0 8px; }
.admin-modal-body h3:first-child{ margin-top:0; }
.track-manage-row{ display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--line); font-size:12.5px; }
.track-manage-row:last-child{ border-bottom:none; }
.track-manage-row span{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.track-manage-del{ background:var(--bg); border:1px solid var(--line); color:var(--text); border-radius:6px; width:28px; height:28px; flex-shrink:0; cursor:pointer; font-size:14px; font-weight:400;  display:flex; align-items:center; justify-content:center; line-height:1; padding:0; margin:0; }
.contact-field-row{ display:flex; gap:6px; margin-bottom:6px; align-items:center; }
.contact-field-row input{ flex:1; min-width:0; }
.contact-field-btn{ background:var(--bg); border:1px solid var(--line); color:var(--text); border-radius:6px; width:38px; height:38px; flex-shrink:0; cursor:pointer; font-size:16px;  display:flex; align-items:center; justify-content:center; line-height:1; padding:0; }
.contact-section-title{ font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-dim); margin:22px 0 8px; }
.contact-section-title:first-of-type{ margin-top:0; }
.track-manage-edit{ background:var(--bg); border:1px solid var(--line); color:var(--text-dim); border-radius:6px; width:28px; height:28px; flex-shrink:0; cursor:pointer;  display:flex; align-items:center; justify-content:center; line-height:1; padding:0; margin:0; }
.add-track-form .track-move-btn{ background:var(--bg); border:1px solid var(--line); color:var(--text); border-radius:6px; width:28px; height:28px; flex-shrink:0; cursor:pointer; font-size:16px; font-weight:700; padding:0; margin:0;  display:flex; align-items:center; justify-content:center; line-height:1; }
.track-move-btn:disabled{ opacity:.3; cursor:default; }
.add-track-form .track-manage-del:active{ color:var(--accent-bright); border-color:var(--accent); }
.add-track-form{ display:flex; flex-direction:column; gap:8px; }
.add-track-form input[type=text], .add-track-form input[type=url], .add-track-form input[type=email], .add-track-form input[type=password]{ background:var(--bg); border:1px solid var(--line); color:var(--text); border-radius:8px; padding:10px 12px; font-family:inherit; font-size:16px; width:100%;  }
.file-upload-field{ display:flex; flex-direction:column; gap:4px; }
/* ch5.97R30 — contrat générique libellé → contrôle : une rangée de choix
placée dans un groupe de champ suit le gap du groupe, sans marge héritée. */
.file-upload-field > .period-row{ margin-top:0; }
.file-upload-field-label{ font-size:11.5px; color:var(--text-dim); }
.file-upload-row{ display:flex; align-items:center; gap:8px; }
.file-upload-btn{ background:var(--accent); color:var(--bg); border:none; border-radius:6px; padding:8px 14px; font-weight:700; font-size:12px; cursor:pointer; flex-shrink:0;  }
.file-upload-btn:active{ background:var(--accent-bright); }
.file-upload-name{ font-size:11px; color:var(--text-dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; min-width:0; }
.file-upload-input{ position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.add-track-form button{ background:var(--accent); color:var(--bg); border:none; border-radius:8px; padding:10px 16px; font-weight:700; cursor:pointer; margin-top:4px; }
.add-track-form button:disabled{ opacity:.5; cursor:default; }
/* ch5.97R17 — gestion des pistes d’un album : actions Modifier/Supprimer
visuellement sans bouton, avec zone tactile conservée. Le crayon utilise le
tracé Material Icons classique « edit ». */
#albumEditorTrackList .track-manage-edit,
#albumEditorTrackList .track-manage-del{
width:32px;
height:32px;
min-width:32px;
min-height:32px;
padding:0;
margin:0;
border:0;
border-radius:0;
background:transparent;
box-shadow:none;
display:grid;
place-items:center;
color:var(--text-dim);
}
#albumEditorTrackList .track-manage-edit svg{width:17px;height:17px;display:block;}
#albumEditorTrackList .track-manage-del svg{width:18px;height:18px;display:block;}
#albumEditorTrackList .track-manage-edit:active,
#albumEditorTrackList .track-manage-del:active{
color:var(--accent-bright);
background:transparent;
border:0;
}
.add-track-status{ font-size:11.5px; color:var(--text-dim); min-height:14px; }
.upload-progress-bar{ height:6px; background:var(--bg); border-radius:3px; overflow:hidden; display:none; }
.anim-dots::after{ content:''; animation:animDots 1.4s steps(4,end) infinite; }
@keyframes animDots{ 0%{ content:''; } 25%{ content:'.'; } 50%{ content:'..'; } 75%{ content:'...'; } 100%{ content:''; } }
.upload-progress-bar.active{ display:block; }
.upload-progress-fill{ height:100%; width:0%; background:var(--accent); border-radius:3px; transition:width .15s linear; }
.album-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; }
.gallery-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; margin-top:0; }
.gallery-item{ position:relative; }
.gallery-item-thumb{ width:100%; aspect-ratio:1; border-radius:10px; overflow:hidden; background:var(--bg); border:2px solid var(--line); }
.gallery-item-thumb video{ width:100%; height:100%; object-fit:cover; }
.gallery-item-del{ position:absolute; top:-6px; right:-6px; background:var(--bg); color:var(--text-dim); width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); cursor:pointer; font-size:12px;  z-index:1; }
@keyframes galleryItemPulse{ 0%,100%{ background-color:var(--panel); } 50%{ background-color:var(--line); } }
.gallery-grid-item{ position:relative; aspect-ratio:1; border-radius:10px; background-size:cover; background-position:center; background-color:var(--panel); animation:galleryItemPulse 1.8s ease-in-out infinite; border:1px solid var(--line); cursor:pointer;  overflow:hidden; }
.gallery-grid-folder{ animation:none; border:2px solid var(--accent); }
.gallery-grid-folder-label{ position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top, rgba(0,0,0,.75), transparent); color:#fff; font-size:11px; font-weight:700; padding:14px 8px 6px; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; }
.gallery-grid-play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; text-shadow:0 1px 4px rgba(0,0,0,0.7); background:rgba(0,0,0,0.15); }
.gallery-viewer-overlay{ position:fixed; inset:0; -webkit-backdrop-filter:blur(6px); z-index:90; opacity:0; pointer-events:none; transition:opacity .2s; }
.gallery-viewer-overlay.open{ opacity:1; pointer-events:auto; }
.gallery-viewer-card{ position:absolute; inset:0; touch-action:none; }
.gallery-viewer-slide{ position:absolute; inset:32px; display:flex; align-items:center; justify-content:center; transition:transform .32s ease; }
.gallery-viewer-slide img, .gallery-viewer-slide video{ max-width:100%; max-height:100%; width:auto; object-fit:contain; border-radius:16px; box-shadow:0 20px 50px rgba(0,0,0,0.5); }
.gallery-viewer-video-loading{ width:42px; height:42px; border-radius:50%; border:3px solid rgba(239,230,216,0.2); border-top-color:var(--accent-bright); animation:gv-spin .8s linear infinite; }
.preload-spinner{ width:32px; height:32px; border-radius:50%; border:3px solid rgba(239,230,216,0.15); border-top-color:var(--accent-bright); animation:gv-spin .8s linear infinite; }
@keyframes gv-spin{ to{ transform:rotate(360deg); } }
.gallery-viewer-close{ position:absolute; top:14px; right:14px; background:rgba(0,0,0,0.5); border:none; color:#fff; width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:3; font-size:16px;  }
.gallery-viewer-nav{ position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,0.45); border:none; color:#fff; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:3; font-size:16px;  }
.gallery-viewer-nav.prev{ left:10px; }
.gallery-viewer-nav.next{ right:10px; }
.gallery-viewer-counter{ position:absolute; bottom:16px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,0.75); font-size:12px; z-index:3; background:rgba(0,0,0,0.45); padding:4px 10px; border-radius:20px; }
.album-switch-category{ margin-bottom:20px; }
.album-switch-category:last-child{ margin-bottom:0; }
.album-switch-category-label{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-dim); margin-bottom:10px; }
.stats-album-row{ display:flex; gap:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; padding:4px; }
.stats-album-item{ flex-shrink:0; width:52px; text-align:center; }
.stats-album-item-art{ width:52px; height:52px; border-radius:8px; background-size:cover; background-position:center; background-color:var(--bg); border:1px solid var(--line); cursor:pointer;  }
.stats-album-item-art.selected{ border-color:var(--accent); box-shadow:0 0 0 2px var(--accent); }
.stats-album-item-name{ font-size:9px; color:var(--text-dim); margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.album-card{ position:relative; width:100%; min-width:0; }
.album-card-art-wrap{ position:relative; }
.album-card-art{ width:100%; aspect-ratio:1; border-radius:10px; background-size:cover; background-position:center; background-color:var(--bg); cursor:pointer; border:1px solid var(--line);  }
.album-card-name{ font-size:11px; color:var(--text-dim); margin-top:6px; text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.album-card-year{ font-size:10px; color:var(--text-dim); opacity:.7; text-align:center; margin-top:1px; }
.album-card-dl{ position:absolute; bottom:-2px; right:-2px; background:none; border:none; color:#fff; width:24px; height:24px; display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0;  filter:drop-shadow(0 1px 3px rgba(0,0,0,0.8)); font-size:19px; }
.album-card-default{ position:absolute; bottom:-6px; right:-6px; background:var(--accent); border:2px solid var(--panel); color:var(--bg); width:20px; height:20px; border-radius:5px; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; line-height:1; box-shadow:0 2px 6px rgba(0,0,0,0.4); }
.album-card-del{ position:absolute; top:-6px; right:-6px; background:var(--bg); color:var(--text-dim); width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); cursor:pointer; font-size:12px;  }
.album-card-add{ display:flex; align-items:center; justify-content:center; font-size:30px; font-weight:300; color:var(--text-dim); border-style:dashed;  transition:transform .35s cubic-bezier(0.34, 1.56, 0.64, 1); }
.album-card-add:active{ transform:scale(0.88); transition:transform .08s ease; }
.album-card-art.selected{ border-color:var(--accent); box-shadow:0 0 0 2px var(--accent); }

@keyframes menuRiseFromBottom{
0%{transform:translate3d(0,112vh,0);opacity:1}
100%{transform:translate3d(0,0,0);opacity:1}
}
@keyframes menuDropToBottom{
0%{transform:translate3d(0,0,0);opacity:1}
100%{transform:translate3d(0,118vh,0);opacity:1}
}
@keyframes menuFourTurnTiltExit{
0%{transform:translate3d(0,0,0) rotate(0deg);opacity:1}
15%{transform:translate3d(-8px,0,0) rotate(-3.5deg);opacity:1}
30%{transform:translate3d(9px,0,0) rotate(4deg);opacity:1}
45%{transform:translate3d(-7px,-2px,0) rotate(-3deg);opacity:1}
58%{transform:translate3d(5px,-5px,0) rotate(2deg);opacity:1}
66%{transform:translate3d(0,-12px,0) rotate(0deg);opacity:1}
100%{transform:translate3d(0,-138vh,0) rotate(0deg);opacity:1}
}
.menu-panel{ position:relative; width:100%; max-width:380px; height:82vh; touch-action:pan-y pinch-zoom; height:82svh; background:var(--panel); z-index:70; transform:translate3d(0,112vh,0); transition:height .25s ease;  border-radius:18px; box-shadow:0 20px 50px rgba(0,0,0,0.5); pointer-events:none; display:flex; flex-direction:column; overflow:hidden; }
.menu-panel.open{ transform:translate3d(0,0,0); pointer-events:auto; }
.menu-panel.menu-entering{animation:menuRiseFromBottom .15s cubic-bezier(.18,.78,.24,1) both}
.menu-panel.menu-leaving{animation:menuDropToBottom .13s cubic-bezier(.55,.02,.92,.42) both;pointer-events:none;opacity:1}
.menu-panel.menu-four-turn-exit{animation:menuFourTurnTiltExit .72s cubic-bezier(.62,.03,.95,.38) both;pointer-events:none;opacity:1}
@media (prefers-reduced-motion:reduce){
.menu-panel.menu-entering,.menu-panel.menu-leaving,.menu-panel.menu-four-turn-exit{animation-duration:.12s}
.admin-modal{transition-duration:.12s!important}
}
.menu-scroll-area{ overflow-y:auto; flex:1; min-height:0; padding:26px 22px 16px;  -webkit-overflow-scrolling:touch; }
.menu-sticky-footer{ flex-shrink:0; padding:14px 22px calc(22px + var(--mom-ui-bottom-inset,0px));  border-top:1px solid var(--line); background:var(--panel); }
.menu-item{ display:block; width:100%; text-align:left; background:none; border:none; color:var(--text); padding:16px 2px; font-size:15px; cursor:pointer; clear:both; }
.menu-panel.admin-reorder-mode .menu-item-row .menu-item{ touch-action:none; }
html.is-ios .menu-panel.admin-reorder-mode .menu-item-row .menu-item{ touch-action:pan-y; }
.menu-newsletter-box{ position:relative; border:1px solid var(--line); border-radius:10px; padding:12px 14px 6px; margin:-8px 0 8px; }
.menu-newsletter-title{ font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:.04em; color:var(--accent); margin-bottom:8px; text-align:center; }
.menu-newsletter-row{ display:flex; gap:8px; }
.menu-newsletter-row input{ flex:1; min-width:0; background:var(--panel); border:1px solid var(--line); color:var(--text); border-radius:7px; padding:5px 10px; font-size:13px; }
.menu-newsletter-row button{ flex-shrink:0; background:var(--accent); color:var(--bg); border:none; border-radius:7px; padding:0 14px; height:28px; font-weight:800; font-size:12px; cursor:pointer;  }
.menu-newsletter-sub{ font-size:12px; color:var(--text-dim); margin-top:7px; text-align:center; }
.menu-newsletter-status{ font-size:12px; margin-top:5px; }
.menu-item-row{ display:flex; align-items:center; gap:6px; clear:both; touch-action:pan-y; position:relative; user-select:none; -webkit-user-select:none;  }
.menu-item-row.menu-item-dragging{ z-index:20; background:var(--panel); box-shadow:0 12px 26px rgba(0,0,0,0.5); border-radius:8px; opacity:0.97; }
.menu-item-row .menu-item{ flex:1; padding:16px 2px; }
.menu-drag-handle{ flex-shrink:0; color:var(--text); opacity:0.7; display:flex; align-items:center; justify-content:center; padding:8px 4px; margin-right:20px; cursor:grab; touch-action:none;  }
.menu-divider{ height:1px; background:var(--line); margin:8px 0; clear:both; }
.menu-item:hover{ color:var(--accent-bright); }
.menu-content{ padding-top:20px; font-size:13.5px; line-height:1.7; color:var(--text-dim); clear:both; }
.menu-back{ background:none; border:none; color:var(--accent); font-size:13px; cursor:pointer; padding:0; clear:both;  margin-top:24px;  outline:none; }
.menu-title{ font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-top:20px; margin-bottom:4px; clear:both; }
.category-vis-row{ display:flex; align-items:center; gap:10px; margin:6px 0 14px; }
.category-vis-row span{ font-size:12.5px; color:var(--text-dim); font-weight:600; }
.cat-toggle{ position:relative; display:inline-block; width:42px; height:24px; flex-shrink:0; }
.cat-toggle input{ opacity:0; width:0; height:0; }
.cat-toggle-slider{ position:absolute; cursor:pointer; inset:0; background:var(--line); border-radius:24px; transition:background .18s ease; }
.cat-toggle-slider::before{ content:''; position:absolute; height:18px; width:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:transform .18s ease; }
.cat-toggle input:checked + .cat-toggle-slider{ background:var(--accent); }
.cat-toggle input:checked + .cat-toggle-slider::before{ transform:translateX(18px); }
.download-list{ margin-top:10px; clear:both; }
.period-row{ display:flex; gap:8px; margin-top:12px; clear:both; }
.sliding-tabs{ position:relative; display:flex; background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:3px;  }
.sliding-tabs-thumb{ position:absolute; top:3px; left:3px; height:calc(100% - 6px); width:calc(50% - 3px); background:var(--accent); border-radius:6px; transition:transform .28s cubic-bezier(.3,1,.4,1); z-index:0; }
.sliding-tabs button{ position:relative; z-index:1; flex:1; background:none; border:none; padding:9px 4px; font-size:13px; font-weight:700; color:var(--text-dim); cursor:pointer;  transition:color .2s ease;  }
.sliding-tabs button:active{ transform:none; }
.theme-swatch-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.theme-swatch{ display:flex; flex-direction:column; align-items:center; gap:7px; padding:12px 8px; border-radius:12px; border:2px solid var(--line); cursor:pointer;  background:var(--bg); transition:border-color .15s ease; }
.theme-swatch.selected{ border-color:var(--accent); }
.theme-swatch-preview{ position:relative; width:42px; height:42px; border-radius:50%; overflow:hidden; isolation:isolate; box-shadow:inset 0 0 0 1px rgba(0,0,0,0.25),0 2px 6px rgba(0,0,0,0.3); background-clip:padding-box; }
.theme-swatch-label{ font-size:12px; font-weight:700; color:var(--text); text-align:center; }
.custom-theme-disc{position:relative;width:52px;height:52px;border-radius:50%;overflow:hidden;isolation:isolate;box-shadow:inset 0 0 0 1px rgba(0,0,0,.28),0 2px 6px rgba(0,0,0,.3);display:block;background:linear-gradient(135deg,var(--mom-custom-bg,var(--bg)) 50%,var(--mom-custom-accent,var(--accent)) 50%);background-clip:padding-box}
.custom-theme-half{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:0;padding:0;background:transparent;color:transparent;overflow:hidden;cursor:pointer;transition:filter .15s,transform .15s;z-index:1;transform-origin:center}
.custom-theme-half:first-child{clip-path:polygon(0 0,100% 0,0 100%)}
.custom-theme-half:last-child{clip-path:polygon(100% 0,100% 100%,0 100%)}
.custom-theme-half-fill{position:absolute;inset:0;display:block;background:var(--mom-custom-half-color,transparent);pointer-events:none;z-index:0}
.custom-theme-half:active{transform:scale(.97);filter:brightness(1.12)}
.custom-theme-half.selected-target{z-index:2;filter:brightness(1.16) saturate(1.08)}
.custom-theme-half.selected-target::after{content:none}
.custom-theme-disc::after{content:"";position:absolute;inset:2px;z-index:4;box-sizing:border-box;border:2px solid rgba(255,255,255,.98);border-radius:50%;pointer-events:none;opacity:0;background:linear-gradient(135deg,transparent calc(50% - 1.4px),rgba(255,255,255,.98) calc(50% - 1.4px),rgba(255,255,255,.98) calc(50% + 1.4px),transparent calc(50% + 1.4px));filter:drop-shadow(0 0 1px rgba(0,0,0,.98)) drop-shadow(0 0 2.5px rgba(0,0,0,.82))}
.custom-theme-disc[data-mom-custom-selected="bg"]::after{opacity:1;clip-path:polygon(0 0,100% 0,0 100%)}
.custom-theme-disc[data-mom-custom-selected="accent"]::after{opacity:1;clip-path:polygon(100% 0,100% 100%,0 100%)}
.custom-theme-palette{display:none;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px;padding:12px;background:var(--bg);border:1px solid var(--line);border-radius:12px}
.custom-theme-palette.open{display:grid}
.custom-theme-color{aspect-ratio:1;border-radius:50%;border:2px solid rgba(255,255,255,.5);box-shadow:0 1px 4px rgba(0,0,0,.4);cursor:pointer;padding:0}
.custom-theme-color.selected{outline:3px solid var(--accent);outline-offset:2px}
.custom-theme-help{font-size:11px;color:var(--text-dim);line-height:1.45;margin-top:8px;text-align:center}
.theme-select{ position:relative; margin-top:6px; }
.theme-select-trigger{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; background:var(--accent); border:1px solid var(--line); color:var(--bg); border-radius:8px; padding:12px; font-family:inherit; font-size:14px; font-weight:700;  cursor:pointer;  text-align:left; }
.theme-select-chevron{ flex-shrink:0; transition:transform .2s ease; color:var(--text-dim); }
.theme-select.open .theme-select-chevron{ transform:rotate(180deg); }
.theme-select-list{ display:none; position:absolute; top:calc(100% + 4px); left:0; right:0; background:var(--panel); border:1px solid var(--line); border-radius:8px; box-shadow:0 10px 28px rgba(0,0,0,0.5); z-index:30; overflow:hidden; max-height:260px; overflow-y:auto; }
.theme-select.open .theme-select-list{ display:block; }
.theme-select-list button{ display:block; width:100%; text-align:left; background:none; border:none; border-bottom:1px solid var(--line); color:var(--text); padding:12px 14px; font-size:14px; font-family:inherit; cursor:pointer;  }
.theme-select-list button:last-child{ border-bottom:none; }
.theme-select-list button:active{ background:var(--bg); }
.theme-select-list button.selected{ color:var(--accent-bright); font-weight:700; }
.sliding-tabs button.active{ color:var(--bg); }
.period-btn{ flex:1; background:var(--bg); border:1px solid var(--line); color:var(--text-dim); border-radius:6px; padding:8px 4px; font-size:11.5px; font-weight:700; cursor:pointer;  transition:border-color .15s, color .15s; white-space:nowrap; }
.add-track-form .period-btn{ background:var(--bg); color:var(--text-dim); padding:8px 4px; font-size:11.5px; font-weight:700; }

.text-style-toolbar{ display:flex; align-items:center; gap:4px; margin-top:10px; }
.text-style-btn{ width:32px; height:30px; background:var(--bg); border:1px solid var(--line); color:var(--text-dim); border-radius:7px; font-size:13px; font-family:Georgia,'Times New Roman',serif; cursor:pointer; display:flex; align-items:center; justify-content:center;  transition:border-color .15s, color .15s, background-color .15s; flex-shrink:0; }
.add-track-form .text-style-btn{ margin-top:0; }
.text-style-btn.active{ border-color:var(--accent); color:var(--accent-bright); background:rgba(217,138,61,0.14); }
.text-tool-wrap{ position:relative; flex-shrink:0; height:30px;  }
.text-tool-wrap .text-style-btn{ height:100%; }
.text-tool-popup{ position:absolute; top:calc(100% + 6px); left:0; background:var(--panel); border:1px solid var(--line); border-radius:8px; box-shadow:0 8px 20px rgba(0,0,0,0.45); z-index:30; min-width:130px; padding:4px; display:none; }
.text-tool-popup.open{ display:block; }
.text-tool-popup button{ display:block; width:100%; text-align:left; background:none; border:none; color:var(--text); padding:8px 10px; font-size:13px; border-radius:6px; cursor:pointer; }
.text-tool-popup button:active{ background:var(--bg); }
.popup-gallery{ display:flex; flex-wrap:wrap; gap:10px; }
.popup-gallery-item{ position:relative; width:76px; flex-shrink:0; }
#galleryManageList .popup-gallery-item[data-gallery-id]{ touch-action:none; }
html.is-ios #galleryManageList .popup-gallery-item[data-gallery-id]{ touch-action:pan-y; }
.popup-gallery-thumb{ width:76px; height:76px; border-radius:10px; background-size:cover; background-position:center; background-color:var(--bg); border:2px solid var(--line); cursor:pointer;  }
.popup-gallery-folder-thumb{ border-color:var(--accent); position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; }
.popup-gallery-folder-icon{ color:var(--accent); }
.popup-gallery-folder-name{ font-size:9px; color:var(--text); text-align:center; padding:0 4px; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-shadow:0 1px 3px rgba(0,0,0,.8); }
.popup-gallery-item[data-folder-id].gallery-drop-target .popup-gallery-thumb{ outline:3px solid #43a047; outline-offset:-3px; transform:scale(1.06); transition:transform .15s ease; }
#popupImagesGallery .popup-gallery-thumb, #popupVideosGallery .popup-gallery-thumb,
#popupTextsGallery .popup-gallery-text{ height:135px; }
.popup-gallery-thumb.active{ border-color:var(--accent); box-shadow:0 0 0 2px var(--accent); }
.popup-gallery-del{ position:absolute; top:-6px; right:-6px; background:var(--bg); color:var(--text-dim); width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); cursor:pointer; font-size:11px;  z-index:1; }
.popup-gallery-thumb-badge{ position:absolute; bottom:4px; left:4px; background:var(--accent); color:var(--bg); width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; }

.gallery-select-dot{ position:absolute; top:4px; left:4px; width:18px; height:18px; padding:0; border-radius:50%; background:rgba(0,0,0,0.4); border:2px solid rgba(255,255,255,0.8); display:flex; align-items:center; justify-content:center; z-index:3; cursor:pointer;  }
.gallery-select-dot svg{ display:none; width:13px; height:13px; }
.popup-gallery-item.gallery-selected .gallery-select-dot{ background:#43a047; border-color:#43a047; }
.popup-gallery-item.gallery-selected .gallery-select-dot svg{ display:block; }
.popup-gallery-item.gallery-selected .popup-gallery-thumb{ outline:3px solid var(--accent); outline-offset:-3px; opacity:0.85; }

.popup-gallery-add{ display:flex; align-items:center; justify-content:center; font-size:26px; font-weight:300; color:var(--text-dim); border-style:dashed; background:none;  transition:transform .35s cubic-bezier(0.34, 1.56, 0.64, 1); }
.popup-gallery-add:active{ transform:scale(0.88); transition:transform .08s ease; }
.popup-gallery-text{ width:76px; height:76px; border-radius:10px; background:var(--bg); border:2px solid var(--line); cursor:pointer; font-size:9px; color:var(--text-dim); padding:6px; overflow:hidden; text-align:center; display:flex; align-items:center; justify-content:center; line-height:1.3;   }
.popup-gallery-text.active{ border-color:var(--accent); box-shadow:0 0 0 2px var(--accent); color:var(--text); }
.popup-gallery-video{ display:flex; align-items:center; justify-content:center; font-size:24px; color:var(--text-dim); background-size:cover; background-position:center; background-color:var(--bg); position:relative; }
.gallery-video-thumb-img{ position:absolute; inset:0; width:100%; height:100%; max-width:100%; max-height:100%; display:block; object-fit:cover; object-position:center; border-radius:8px; pointer-events:none; }
.gallery-grid-item .gallery-video-thumb-img{ border-radius:inherit; }
.popup-gallery-play{ position:relative; z-index:1; color:#e8dcc8; text-shadow:0 1px 4px rgba(0,0,0,0.8); }
.gallery-upload-progress-track{ height:4px; background:var(--line); border-radius:2px; margin-top:6px; overflow:hidden; }
.gallery-upload-progress-fill{ height:100%; background:var(--accent); border-radius:2px; transition:width .2s ease; }
.popup-gallery-item.gallery-dragging{ opacity:0.85; z-index:10; }
.popup-gallery-item.gallery-dragging .popup-gallery-thumb{ box-shadow:0 10px 24px rgba(0,0,0,0.5); }
.popup-category-box{ border:1px solid var(--line); border-radius:10px; padding:14px 10px; margin:0 -8px 16px; transition:opacity .15s; }
#popupTextInput:empty::before{ content: attr(data-placeholder); color: var(--text-dim); pointer-events: none; }
.popup-category-box.disabled{ opacity:.45; }
.popup-category-header{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:13px; color:var(--text); margin-bottom:12px; cursor:pointer;  }
.popup-category-header input[type=checkbox]{ flex-shrink:0; }
.popup-sound-btn{ position:absolute; left:14px; background:rgba(0,0,0,0.55); border:none; color:#fff; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:2;  }
.countdown-token{ display:inline-flex; align-items:center; justify-content:center; background:none; color:var(--text); border:2px solid #d94b3a; padding:4px 12px; border-radius:12px; font-size:0.85em; font-weight:800; white-space:nowrap; user-select:none; vertical-align:middle;  }
.period-btn.active{ border-color:var(--accent); color:var(--accent-bright); }
.toggle-switch{ appearance:none; -webkit-appearance:none; width:46px; height:22px; min-width:46px; background:var(--line); border-radius:11px; position:relative; cursor:pointer; transition:background-color .2s ease; margin:0; vertical-align:middle;  }
.toggle-switch::before{ content:''; position:absolute; top:3px; left:3px; width:16px; height:16px; background:#fff; border-radius:50%; transition:transform .2s ease; box-shadow:0 1px 3px rgba(0,0,0,0.35); }
.toggle-switch:checked{ background:var(--accent); }
.toggle-switch:checked::before{ transform:translateX(24px); }
.download-row{ display:flex; align-items:center; justify-content:flex-start; gap:10px; padding:9px 0; font-size:12.5px; }
.download-list>.download-row{ border-bottom:1px solid var(--line); }
.concert-row{ display:flex; flex-direction:column; gap:6px; padding:10px 0; font-size:12.5px; border-bottom:1px solid var(--line); }
.concert-row:last-child{ border-bottom:none; }
.concert-row-line1{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.concert-row-line2{ display:flex; align-items:center; gap:4px; }
.concert-date{ font-family:ui-monospace,'SF Mono',Consolas,monospace; font-size:11px; color:var(--text-dim); flex-shrink:0; }
.concert-city{ font-weight:700; flex-shrink:0; max-width:90px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.concert-country{ color:var(--text-dim); flex-shrink:0; font-size:11px; }
.concert-venue{ flex-shrink:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text-dim); }
.concert-row-display .concert-city{ max-width:140px; }
.concert-row-display .concert-venue{ flex:1; min-width:0; }
.concert-thumb{ width:36px; height:36px; border-radius:6px; background-size:cover; background-position:center; background-color:var(--bg); flex-shrink:0; cursor:pointer; border:1px solid var(--line); }
.concert-icon-btn{ width:36px; height:36px; border-radius:8px; background:var(--panel); border:1px solid var(--line); color:var(--accent-bright); cursor:pointer; flex-shrink:0; display:flex; align-items:center; justify-content:center; text-decoration:none; }
.concert-ticket-slot{ margin-right:6px; }
.download-list>.download-row:last-child{ border-bottom:none; }

.download-row a{ background:var(--panel); border:1px solid var(--line); color:var(--text-dim); border-radius:6px; width:30px; height:30px; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-left:auto; }

.download-row a:hover{ color:var(--accent-bright); border-color:var(--accent); }

.comments-section{ margin-top:32px; }
.comments-section h2{ font-size:16px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px; color:var(--text); }
.comment-form{ display:flex; flex-direction:column; gap:8px; margin-bottom:22px; }
.comment-form input, .comment-form textarea{ background:var(--panel); border:1px solid var(--line); color:var(--text); border-radius:8px; padding:10px 12px; font-family:inherit; font-size:16px; resize:vertical; }
.comment-form input:focus, .comment-form textarea:focus{ outline:2px solid var(--accent-bright); outline-offset:1px; }
.comment-form button{ background:var(--accent); color:var(--bg); border:none; border-radius:8px; padding:10px 16px; font-weight:700; cursor:pointer; align-self:flex-start; }
.comment-form button:hover{ background:var(--accent-bright); }
.comment-item{ padding:12px 0; border-bottom:1px solid var(--line);  }
.comment-item:last-child{ border-bottom:none; }
.comment-item .c-name{ font-weight:700; font-size:13px; color:var(--accent-bright); }
.comment-item .c-date{ font-size:10.5px; color:var(--text-dim); margin-left:8px; }
.comment-item .c-delete{ position:absolute; top:10px; right:0; background:none; border:none; color:var(--text-dim); cursor:pointer; font-size:13px; padding:4px 6px; }
.comment-item .c-delete:hover{ color:var(--accent-bright); }
.comment-item .c-text{ font-size:13px; margin-top:3px; color:var(--text); word-break:break-word; }
.comment-item.is-admin .c-text{ padding-right:24px; }
.c-reply-btn{ background:none; border:none; color:var(--accent-bright); font-size:11.5px; font-weight:700; cursor:pointer; margin-right:18px; padding:7px 0 0; }
/* ch5.92 — ancien bouton Traduire remis sur le renderer actuel.
L'ancienne règle nécessitait 10 priorités forcées ; la hiérarchie actuelle permet
une cascade normale, identique pour commentaires, réponses et 1st PopUp. */
.comment-translate-btn{
appearance:none;
-webkit-appearance:none;
display:inline-flex;
align-items:center;
width:auto;
min-width:0;
min-height:0;
margin:7px 18px 0 0;
padding:7px 0 0;
border:0;
background:transparent;
color:var(--accent-bright);
font:inherit;
font-size:11.5px;
line-height:1.2;
font-weight:700;
text-align:left;
cursor:pointer;
touch-action:manipulation;
}
/* ch5.92R3 — `hidden` doit rester l'autorité de visibilité.
La déclaration display:inline-flex du composant ne doit pas réafficher
un bouton que le moteur a classé dans la même langue que la surface. */
.comment-translate-btn[hidden]{ display:none; }
.comment-translate-btn:disabled{ opacity:.62; cursor:default; }
.reply-form{ margin-top:8px; display:flex; flex-direction:column; gap:6px; padding-left:12px; border-left:2px solid var(--line); }
.reply-form input, .reply-form textarea{ background:var(--bg); border:1px solid var(--line); color:var(--text); border-radius:6px; padding:7px 9px; font-family:inherit; font-size:16px; resize:vertical; }
.reply-form input:focus, .reply-form textarea:focus{ outline:2px solid var(--accent-bright); outline-offset:1px; position:relative; z-index:1; }
.reply-form button{ background:var(--accent); color:var(--bg); border:none; border-radius:6px; padding:6px 12px; font-weight:700; font-size:12px; cursor:pointer; align-self:flex-start; }
.replies{ margin-top:10px; padding-left:16px; border-left:2px solid var(--line); }
.replies:empty{ display:none; margin:0; padding:0; border:none; }
.replies .comment-item{ padding:10px 0; }
.search-result-row{ display:flex; align-items:center; gap:10px; padding:8px; border-bottom:1px solid var(--line); cursor:pointer; border-radius:6px;  }
.search-result-row:active{ background:var(--bg); }
.search-result-thumb{ width:36px; height:36px; border-radius:6px; background-size:cover; background-position:center; background-color:var(--bg); border:1px solid var(--line); flex-shrink:0; }
.search-result-text{ display:flex; flex-direction:column; min-width:0; flex:1; }
.search-result-title{ font-size:13.5px; color:var(--text); font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.search-result-sub{ font-size:11.5px; color:var(--text-dim); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#searchResults:not(:empty){ padding-bottom:20px; }
.invite-actions{display:grid;gap:9px;margin-top:16px;}
.invite-actions button{width:100%;border-radius:8px;padding:11px 12px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;}
.invite-message-box{width:100%;min-height:132px;resize:vertical;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:11px;font:inherit;font-size:12.5px;line-height:1.45;}
/* Chantier 5.69 — la Loupe garde sa surface autonome et compacte. */
#searchModalOverlay{ align-items:flex-start; }
.quality-choice{background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:12px 14px;font-size:14px;text-align:left;cursor:pointer}.quality-choice.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);color:var(--accent-bright)}
.commerce-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.commerce-actions button{border-radius:8px;padding:11px 12px;font-weight:800;font-size:13px}.cart-badge{position:absolute;right:-5px;top:-5px;min-width:16px;height:16px;padding:0 3px;border-radius:9px;background:var(--accent);color:var(--bg);font-size:9px;font-weight:900;display:none;align-items:center;justify-content:center}
.menu-btn{position:relative}
.menu-notif-badge{
position:absolute;right:-6px;top:-6px;min-width:18px;height:18px;padding:0 5px;
border-radius:10px;background:#e33;color:#fff;font-size:10px;font-weight:900;
line-height:18px;display:none;align-items:center;justify-content:center;
border:2px solid var(--bg);pointer-events:none;
transform-origin:center;box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.menu-notif-badge.pop{animation:menuNotifPop .48s cubic-bezier(.2,1.7,.4,1)}
.menu-notif-badge.pulse{animation:menuNotifPulse 1.15s ease}
@keyframes menuNotifPop{0%{transform:scale(.35);opacity:.2}65%{transform:scale(1.25);opacity:1}100%{transform:scale(1)}}
@keyframes menuNotifPulse{0%,100%{transform:scale(1)}45%{transform:scale(1.22);box-shadow:0 0 0 7px rgba(227,51,51,0)}55%{box-shadow:0 0 0 0 rgba(227,51,51,.38)}}
.comments-empty{ font-size:12.5px; color:var(--text-dim); font-style:italic; }

html{
width:100%;
max-width:100%;
overflow-x:hidden;
scrollbar-gutter:stable;
}
body{
width:100%;
max-width:100%;
overflow-x:hidden;
}
.menu-overlay,
.gallery-viewer-overlay{
backdrop-filter:blur(6px);
-webkit-backdrop-filter:blur(6px);
transform:none !important;
background:transparent;
}

#firstPopupOverlay{
isolation:isolate;

backface-visibility:hidden;
-webkit-backface-visibility:hidden;
transition:none !important;
}
#firstPopupOverlay > *{
position:relative;
z-index:1;
}
#firstPopupOverlay.popup-exit-running{
pointer-events:none !important;
will-change:opacity;
}
#firstPopupCard.popup-exit-running{
will-change:transform;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
}
body.universal-scroll-locked{
overflow:visible;
overscroll-behavior:none;
}
body.universal-scroll-locked .menu-panel,
body.universal-scroll-locked .admin-modal,
body.universal-scroll-locked .gallery-viewer-card,
body.universal-scroll-locked .first-popup-card{
touch-action:pan-y;
overscroll-behavior:contain;
}
.first-popup-card,
.menu-panel,
.admin-modal{
backface-visibility:hidden;
}

.admin-modal-overlay{
backdrop-filter:none !important;
-webkit-backdrop-filter:none;
transform:none !important;
background:color-mix(in srgb,var(--bg) 88%,transparent);
transition:visibility 0s linear .18s !important;
}
.admin-modal-overlay.open,
.admin-modal-overlay.mom-closing{
visibility:visible !important;
background:color-mix(in srgb,var(--bg) 88%,transparent);
}
.admin-modal-overlay.mom-closing{ pointer-events:none; }
.admin-modal-overlay .admin-modal{
opacity:1;
transition-property:transform;
transition-duration:.16s;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
}
.admin-modal-overlay.mom-closing .admin-modal{
transform:translate3d(0,108vh,0) !important;
opacity:1 !important;
transition-timing-function:cubic-bezier(.55,.02,.92,.42);
}
#searchModalOverlay{ overflow:hidden; }
#searchModalOverlay .admin-modal{
transform:translate3d(0,calc(100svh + 24px),0);
}
#searchModalOverlay.open .admin-modal{ transform:translate3d(0,0,0); }
#searchModalOverlay.mom-closing .admin-modal{
transform:translate3d(0,calc(100svh + 24px),0) !important;
}

#momStartupSolidThemeLayer{
background:var(--bg,#080706);
background-image:none;
backdrop-filter:none;
-webkit-backdrop-filter:none;
filter:none;
}
#firstPopupVeil,
#firstPopupOverlay,
#firstPopupOverlay.open,
#firstPopupOverlay.popup-exit-running{
background:transparent;
background-color:transparent;
background-image:none;
backdrop-filter:none;
-webkit-backdrop-filter:none;
filter:none;
}
#firstPopupOverlay::before,
#firstPopupOverlay::after,
#firstPopupVeil::before,
#firstPopupVeil::after{
display:none;
content:none;
opacity:0 !important;
visibility:hidden !important;
background:transparent;
backdrop-filter:none;
-webkit-backdrop-filter:none;
filter:none;
transition:none !important;
animation:none !important;
}

.controls button,
.controls .play-btn{
border-radius:8px;
}

button,
.icon-btn,
.menu-item,
.toolbar-button{
touch-action:manipulation;

}

#artWrap,
#artWrap.artwork-vertical-flip-active{
perspective:1100px;
transform-style:preserve-3d;
-webkit-transform-style:preserve-3d;
background:transparent;
}
#artworkFlipCard,
.artwork-flip-card{
position:relative;
width:100%;
aspect-ratio:1;
transform:translateZ(0) rotateX(0deg);
transform-origin:50% 50%;
transform-style:preserve-3d;
-webkit-transform-style:preserve-3d;
backface-visibility:visible;
-webkit-backface-visibility:visible;
will-change:auto;
border-radius:inherit;
}
#artWrap.artwork-vertical-flip-active #artworkFlipCard,
#artWrap.artwork-vertical-flip-active .artwork-flip-card{
will-change:transform;
}
.artwork-flip-card > .artwork-flip-front,
.artwork-flip-card > .artwork-flip-back{
position:absolute;
inset:0;
width:100%;
height:100%;
aspect-ratio:1;
}
.artwork-flip-card > .artwork-flip-front{
transform:translateZ(.2px) rotateX(0deg);
}
.artwork-flip-card > .artwork-flip-back{
transform:translateZ(.1px) rotateX(180deg);
}

#artworkStaticBackdrop{
display:none !important;
visibility:hidden !important;
opacity:0 !important;
}
#heroArt,
#artworkQrBack{
height:auto;
outline:none;
}

#artworkQrBack .artwork-qr-card{
width:100%;
height:100%;
margin:0;

}

.admin-modal-overlay,
.gallery-viewer-overlay{
isolation:isolate;
}
.icon-btn-row,
.personal-bottom-bar{
position:fixed;
left:0;
right:0;
bottom:var(--mom-live-dock-bottom,var(--mom-ui-bottom-inset,0px));
top:var(--mom-live-dock-top,auto);
width:100%;
max-width:100vw;
height:var(--mom-dock-row-height);
min-height:var(--mom-dock-row-height);
max-height:var(--mom-dock-row-height);
padding:0 8px;

align-items:center;
justify-items:center;
gap:0;
z-index:var(--mom-dock-z);
background:var(--mom-dock-background);
border-top:1px solid var(--mom-dock-border);
box-shadow:var(--mom-dock-shadow);
backdrop-filter:var(--mom-dock-blur);
-webkit-backdrop-filter:var(--mom-dock-blur);
transform:none;
translate:none;
will-change:auto;
isolation:isolate;
contain:none;
}
.icon-btn-row{
display:grid;
grid-template-columns:repeat(7,minmax(0,1fr));
}
.personal-bottom-bar{display:none;}
html.mom-personal-page .personal-bottom-bar{
display:grid;
grid-template-columns:repeat(7,minmax(0,1fr));
}
html.mom-personal-page .icon-btn-row{display:none;}

/* ch5.97R5 — les overlays personnels vivent dans le DOM commun. Hors route
personnelle ils restent toujours hors flux, même si personal-page.css n'est
pas chargé (ou vient d'être retiré pendant un swap SPA). */
html:not(.mom-personal-page) .personal-control-overlay,
html:not(.mom-personal-page) .personal-avatar-modal{
display:none;
visibility:hidden;
pointer-events:none;
}

#miniPlayer.mini-player{
position:fixed!important;
left:0!important;
right:0!important;
top:var(--mom-live-mini-top,auto)!important;
bottom:var(--mom-live-mini-bottom,calc(var(--mom-dock-row-height) + var(--mom-ui-bottom-inset,0px)))!important;
width:100%!important;
max-width:100vw!important;
min-height:var(--mom-dock-row-height)!important;
height:var(--mom-dock-row-height)!important;
max-height:var(--mom-dock-row-height)!important;
margin:0;


z-index:var(--mom-mini-player-z)!important;
background:var(--mom-dock-background);
border-bottom:0;
filter:none;
-webkit-filter:none;

opacity:1!important;
visibility:hidden!important;
pointer-events:none!important;

transform:translate3d(0,calc(100% + 2px),0)!important;
translate:none;
will-change:transform;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
transition:transform 500ms cubic-bezier(.22,.61,.36,1),visibility 0s linear 500ms!important;
}
#miniPlayer.mini-player.visible{
visibility:visible!important;
pointer-events:auto!important;

transition:transform 500ms cubic-bezier(.16,1,.3,1),visibility 0s linear 0s!important;
}
body.upload-bar-active #miniPlayer.mini-player,
body.download-bar-active #miniPlayer.mini-player{
bottom:calc(var(--mom-dock-row-height) + var(--mom-ui-bottom-inset,0px) + var(--upload-bar-height,44px))!important;
}
#globalUploadBar{
bottom:calc(var(--mom-dock-row-height,56px) + var(--mom-ui-bottom-inset,0px));
}

#artworkFlipCard.artwork-flip-card{
touch-action:none;
overscroll-behavior:contain;
-webkit-user-select:none;
user-select:none;
}

#artWrap.artwork-secret-spinning{
background:transparent;
background-image:none;
}
#artWrap.artwork-secret-spinning #artworkStaticBackdrop{
display:none!important;visibility:hidden!important;opacity:0!important;
}

html.mom-group-route-active #appRoot{
display:block;
visibility:visible;
opacity:1;
pointer-events:auto;
transform:none;
filter:none;
-webkit-filter:none;
}
html.mom-group-route-active #personalPageRoot,
html.mom-group-route-active #personalBottomBar,
html.mom-group-route-active #platformHome,
html.mom-group-route-active #momPersonalAtomicLayer{
display:none;
visibility:hidden;
opacity:0;
pointer-events:none;
}
#miniPlayer.mini-player.visible{
transform:translate3d(0,var(--mom-up-next-mini-y,0px),0)!important;
}
body.mom-up-next-pulling #miniPlayer.mini-player.visible,
body.mom-up-next-animating #miniPlayer.mini-player.visible,
body.mom-up-next-open #miniPlayer.mini-player.visible{
box-shadow:0 10px 28px -16px rgba(0,0,0,.72),0 -3px 8px rgba(0,0,0,.22);
}
#momUpNextPage{

top:0;
bottom:auto;
z-index:var(--mom-up-next-page-z,1090);


color:var(--text);
visibility:hidden;
pointer-events:none;

transition:none;
}
#momUpNextPage.mom-visible{
visibility:visible;
pointer-events:auto;
}
#momUpNextPage .mom-up-next-scroll{

overflow-y:auto;
overscroll-behavior:contain;
-webkit-overflow-scrolling:touch;
padding:12px 8px 0;


}
.mom-up-next-heading{
display:flex;
align-items:flex-end;
justify-content:space-between;
gap:12px;
padding:4px 8px 12px;
border-bottom:1px solid var(--line);
}
.mom-up-next-heading h2{
margin:1px 0 0;
font-size:19px;
line-height:1.15;
color:var(--text);
}
.mom-up-next-eyebrow{
font-size:10px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
color:var(--text-dim);
}
.mom-up-next-count{
min-width:28px;
height:28px;
padding:0 8px;
border:1px solid var(--line);
border-radius:999px;
display:flex;
align-items:center;
justify-content:center;

color:var(--text-dim);
font-size:12px;
font-weight:800;
}
.mom-up-next-list{padding-bottom:0}
.mom-up-next-row{
min-height:58px;
padding:8px 5px;
gap:7px;
touch-action:pan-y;
background:transparent;
}
.mom-up-next-row .drag-handle{
width:24px;
min-width:24px;
padding-left:0;
cursor:grab;
touch-action:none;
user-select:none;
-webkit-user-select:none;
position:relative;
z-index:2;
}
.mom-up-next-row .drag-handle::before{
content:'';
position:absolute;
inset:-9px -7px;
}
.mom-up-next-row.dragging .drag-handle{cursor:grabbing}
.mom-up-next-album-thumb{
width:40px;
height:40px;
min-width:40px;
padding:0;
border:0;
background-color:var(--panel);
background-size:cover;
background-position:center;
cursor:pointer;

}
/* ch5.96R — l'avatar du groupe a été retiré de À suivre : la pochette devient
le premier visuel après la poignée et le titre récupère directement l'espace. */
.mom-up-next-row .info{padding-top:3px}
.mom-up-next-row .dur{font-size:10.5px}
.mom-up-next-row .dl-btn,
.mom-up-next-row .track-like-btn{
flex:0 0 auto;
}
.mom-up-next-row .mom-up-next-like[data-liked="1"]{color:#FFD700}
.mom-up-next-empty{
margin:24px 8px;
padding:22px 14px;
border:1px dashed var(--line);
border-radius:12px;
color:var(--text-dim);
text-align:center;
font-size:13px;
}
body.mom-up-next-open,
body.mom-up-next-open #appRoot,
body.mom-up-next-open #personalPageRoot{
overscroll-behavior:none!important;
}
@media (prefers-reduced-motion:reduce){
body.mom-up-next-open #miniPlayer.mini-player.visible{transition-duration:.01ms!important}
}

#artWrap{
overflow:visible;
contain:layout style;
}
#artworkFlipCard.artwork-flip-card{
z-index:2;
overflow:visible;
}
#artWrap.artwork-vertical-flip-active,
#artWrap.artwork-secret-spinning{
overflow:visible;
contain:layout style;
}
#firstPopupVeil,
#momStartupSolidThemeLayer{
position:fixed;
inset:0;
width:100vw;
height:100vh;
height:100dvh;
max-width:none;
max-height:none;
margin:0;
clip-path:none;
-webkit-clip-path:none;
mask:none;
-webkit-mask:none;
}
#firstPopupVeil{
contain:none!important;
isolation:auto!important;
transform:none;
}

#miniPlayer .mini-player-nav,
#miniPlayer .mini-player-play,
#miniPlayer .mini-player-like,
#miniPlayer .mini-player-art{
touch-action:manipulation;
}
#miniPlayerUpNextHandle.mini-player-up-next-handle{
position:absolute;

margin:0;
padding:0;
border:0;
border-radius:999px;
background:transparent;
color:inherit;
transform:translateX(-50%);

cursor:grab;
touch-action:none;

user-select:none;
-webkit-user-select:none;
}
#miniPlayerUpNextHandle.mini-player-up-next-handle > span{
position:absolute;
left:50%;

border-radius:999px;
transform:translateX(-50%);
background:color-mix(in srgb,var(--text-dim) 58%,transparent);
box-shadow:0 1px 1px rgba(0,0,0,.08);
pointer-events:none;
}
body.mom-up-next-pulling #miniPlayerUpNextHandle,
body.mom-up-next-open #miniPlayerUpNextHandle{cursor:grabbing;}


#artWrap.artwork-face-speed-blur-active #heroArt,
#artWrap.artwork-face-speed-blur-active #artworkQrBack{
will-change:filter,transform;
}

@media (prefers-reduced-motion:reduce){
body.mom-up-next-animating #momUpNextPage,
body.mom-up-next-open #momUpNextPage{transition-duration:.01ms;}
}

#miniPlayer .mini-player-info{
min-width:0;
margin-right:0!important;
}
#miniPlayerPrevBtn,
#miniPlayerPlayBtn,
#miniPlayerNextBtn,
#miniPlayerLikeBtn{
flex-shrink:0;
}

#miniPlayerUpNextHandle.mini-player-up-next-handle{
left:48%;
top:0;
width:82px;
min-width:82px;
height:24px;
min-height:24px;
z-index:30;
}
#miniPlayerUpNextHandle.mini-player-up-next-handle > span{
top:3px;
width:34px;
height:3px;
}

#miniPlayer.mini-player{
display:flex!important;
align-items:center;
gap:3px;
padding:7px 2px 7px 8px;
overflow:visible!important;
}
#miniPlayer.mini-player #miniPlayerArt{order:1;flex:0 0 42px;}
#miniPlayer.mini-player .mini-player-info{
order:2;
flex:1 1 auto;
min-width:0;
margin:0 2px 0 0;
}
#miniPlayer.mini-player #miniPlayerUpNextHandle.mini-player-up-next-handle{

flex:0 0 64px;

align-self:center;

padding:0;

border:0;
border-radius:10px;
background:transparent;

touch-action:none;
cursor:grab;
}
#miniPlayer.mini-player #miniPlayerUpNextHandle.mini-player-up-next-handle>span{

opacity:.9;
}
#miniPlayer.mini-player #miniPlayerPrevBtn{
order:4;
width:29px;
min-width:29px;
height:34px;
padding:0;
}
#miniPlayer.mini-player #miniPlayerPlayBtn{
order:5;
width:38px;
min-width:38px;
height:38px;
padding:0;
}
#miniPlayer.mini-player #miniPlayerNextBtn{
order:6;
width:29px;
min-width:29px;
height:34px;
padding:0;
}
#miniPlayer.mini-player #miniPlayerLikeBtn{
order:7;
flex:0 0 33px;
width:33px!important;
min-width:33px!important;
height:34px;
margin:0;
padding:0;
}

#momUpNextPage{
opacity:1!important;
border:0;

}
body.mom-up-next-pulling #momUpNextPage,
body.mom-up-next-animating #momUpNextPage,
body.mom-up-next-open #momUpNextPage{
visibility:visible!important;
pointer-events:auto!important;
opacity:1!important;
}

#customSiteHeader[data-mom-pull-geometry-locked="1"]{
transform-origin:top left;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
will-change:transform;
contain:layout style;
isolation:isolate;
}
#customSiteHeader.mom-header-pulling,
#customSiteHeader.mom-header-pull-open,
#customSiteHeader.mom-header-pull-animating{
background-attachment:scroll;
animation:none!important;
}

#miniPlayer.mini-player #miniPlayerUpNextHandle.mini-player-up-next-handle{
position:absolute;
order:0;
left:50%!important;
right:auto!important;
top:0!important;
bottom:auto!important;
transform:translateX(-50%);
width:92px!important;
min-width:92px!important;
height:24px;
min-height:24px;
margin:0;
z-index:34!important;
}
#miniPlayer.mini-player .mini-player-up-next-spacer{
order:3;
display:block;
flex:0 0 64px;
width:64px;
min-width:64px;
height:1px;
pointer-events:none;
}
#miniPlayer.mini-player #miniPlayerUpNextHandle.mini-player-up-next-handle>span{
left:50%;
top:5px!important;
width:36px!important;
height:3px;
transform:translateX(-50%);
}

#momUpNextPage .mom-up-next-scroll{touch-action:pan-y!important;}
#momUpNextPage .mom-up-next-row,
#momUpNextPage .mom-up-next-drag-handle{touch-action:none!important;}

#artHorizontalLayer{
overflow:visible;
isolation:isolate;
box-shadow:none;
--mom-art-shadow-scale-x:1;
--mom-art-shadow-inset-y:0%;
--mom-art-shadow-opacity:1;
--mom-art-shadow-shift-y:0px;
}
#artHorizontalLayer::before{
content:'';
position:absolute;

z-index:0;

pointer-events:none;

filter:none;
-webkit-filter:none;

will-change:transform,opacity;

}
#artHorizontalLayer > #artWrap{
position:absolute;
z-index:2;
overflow:visible;
}
#artHorizontalLayer .art-horizontal-snapshot{
z-index:3;
box-shadow:
0 18px 34px 2px rgba(0,0,0,.25),
0 7px 18px rgba(0,0,0,.13);
}

#customSiteHeader .mom-header-pull-handle{
position:absolute;
left:50%;
bottom:0;
width:92px;
height:24px;
transform:translateX(-50%);
border:0;
border-radius:999px;
background:transparent;

pointer-events:none;
}
#customSiteHeader .mom-header-pull-handle>span{
position:absolute;
left:50%;
bottom:5px;
width:36px;
height:3px;
transform:translateX(-50%);
border-radius:999px;
background:color-mix(in srgb,var(--text-dim) 58%,transparent);
box-shadow:0 1px 1px rgba(0,0,0,.08);
opacity:.9;
}
#momHeaderPullPage .mom-header-pull-profile{
position:absolute;
top:max(16px,env(safe-area-inset-top));
left:16px;
right:16px;
display:flex;
align-items:center;
gap:18px;
min-height:108px;
pointer-events:none;
color:var(--text);
z-index:2;
}
#momHeaderPullPage.mom-header-pull-interactive .mom-header-pull-profile{pointer-events:auto;}
.mom-header-pull-avatar{
position:relative;
flex:0 0 99px;
width:99px;
height:99px;
padding:0;
overflow:hidden;
border-radius:50%;
appearance:none;
-webkit-appearance:none;
background:color-mix(in srgb,var(--panel) 86%,#000 14%);
border:1px solid color-mix(in srgb,var(--text) 18%,transparent);
box-shadow:0 9px 26px -13px rgba(0,0,0,.82);
display:grid;
place-items:center;
color:inherit;
font:inherit;

}
.mom-header-pull-avatar.mom-has-image{cursor:zoom-in;}
.mom-header-pull-avatar[aria-disabled="true"]{cursor:default;}
.mom-header-pull-avatar img{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
display:block;
}
.mom-header-pull-avatar img[hidden]{display:none;}
.mom-header-pull-avatar-fallback{
font-size:17px;
font-weight:850;
letter-spacing:.04em;
color:var(--text-dim);
}

.mom-header-avatar-preview{
position:fixed;
inset:0 0 var(--mom-header-avatar-preview-bottom,var(--mom-bottom-bar-height,56px)) 0;
z-index:var(--mom-window-z-base,4500);
display:flex;
align-items:center;
justify-content:center;
padding:24px;
box-sizing:border-box;
-webkit-backdrop-filter:blur(6px);
backdrop-filter:blur(6px);
opacity:0;
visibility:hidden;
pointer-events:none;
transition:opacity .2s cubic-bezier(.22,.72,.24,1),visibility 0s linear .2s;
will-change:opacity;
transform:translateZ(0);
touch-action:none;
overscroll-behavior:none;
}
.mom-header-avatar-preview::before{
content:"";
position:absolute;
inset:0;
z-index:0;
background:rgba(0,0,0,.52);
pointer-events:none;
}
.mom-header-avatar-preview.open{
opacity:1;
visibility:visible;
pointer-events:auto;
transition:opacity .2s cubic-bezier(.22,.72,.24,1),visibility 0s linear 0s;
}
.mom-header-avatar-preview-card{
position:relative;
z-index:2;
width:min(88vw,620px);
max-height:82dvh;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
border-radius:16px;
box-shadow:0 24px 70px rgba(0,0,0,.5);
transform-origin:0 0;
will-change:transform,border-radius,opacity;
pointer-events:auto;
}
.mom-header-avatar-preview-card img{
display:block;
max-width:100%;
max-height:82dvh;
width:auto;
height:auto;
object-fit:contain;
border-radius:inherit;
}
.mom-header-avatar-preview-close{
z-index:3;
}
.mom-header-pull-profile-copy{
min-width:0;
flex:1 1 auto;
display:flex;
flex-direction:column;
justify-content:center;
gap:5px;
}
.mom-header-pull-phrase-row{
display:flex;
align-items:center;
gap:7px;
min-width:0;
}
.mom-header-pull-phrase{
min-width:0;
max-width:100%;
font-size:15px;
line-height:1.28;
font-weight:650;
color:var(--text);
text-wrap:balance;
}
.mom-header-pull-phrase.mom-empty{
color:var(--text-dim);
font-style:italic;
font-weight:520;
}
.mom-header-pull-edit{
flex:0 0 34px;
width:34px;
height:34px;
padding:0;
border:0;
border-radius:50%;
background:color-mix(in srgb,var(--panel) 74%,transparent);
color:var(--text);
display:grid;
place-items:center;
font-size:18px;
line-height:1;

}
.mom-header-pull-edit[hidden]{display:none;}
.mom-header-pull-editor{
display:grid;
grid-template-columns:minmax(0,1fr) 34px 34px;
align-items:center;
gap:6px;
width:100%;
margin-top:2px;
}
.mom-header-pull-editor[hidden]{display:none;}
.mom-header-pull-input{
min-width:0;
height:38px;
padding:0 11px;
border-radius:12px;
border:1px solid var(--line);
background:color-mix(in srgb,var(--panel) 88%,transparent);
color:var(--text);
font:inherit;
outline:none;
}
.mom-header-pull-input:focus{border-color:var(--accent);}
.mom-header-pull-save,.mom-header-pull-cancel{
width:34px;
height:34px;
padding:0;
border:0;
border-radius:50%;
display:grid;
place-items:center;
background:color-mix(in srgb,var(--panel) 86%,transparent);
color:var(--text);
font-size:18px;

}
.mom-header-pull-save{color:var(--accent-bright,var(--accent));}
@media(max-width:420px){
#momHeaderPullPage .mom-header-pull-profile{left:13px;right:13px;gap:14px;min-height:98px;}
.mom-header-pull-avatar{flex-basis:90px;width:90px;height:90px;}
.mom-header-pull-phrase{font-size:14px;}
}

.mom-material-icon{display:block;width:1em;height:1em;fill:currentColor;flex:none;pointer-events:none;}
button>.mom-material-icon,label>.mom-material-icon,.personal-setting-icon>.mom-material-icon,.personal-setting-chevron>.mom-material-icon{margin:auto;}
.mom-header-pull-edit .mom-material-icon{width:18px;height:18px;}
.mom-header-pull-save .mom-material-icon,.mom-header-pull-cancel .mom-material-icon{width:19px;height:19px;}
.personal-setting-icon .mom-material-icon{width:20px;height:20px;}
.personal-setting-chevron .mom-material-icon,
.mom-language-head-icon .mom-material-icon{width:18px;height:18px;}
.mom-language-chevron .mom-material-icon{width:17px;height:17px;}
#debugMenuItem{gap:6px;}
#debugMenuItem>.mom-material-icon{width:15px;height:15px;}
#offlineAlbumIcon .mom-material-icon{width:18px;height:18px;}
.mom-material-success-hero{width:38px;height:38px;margin:0 auto 6px;color:var(--accent);}
.mom-material-success-hero .mom-material-icon{width:38px;height:38px;}
.mom-password-eye .mom-material-icon{width:20px;height:20px;}
.gallery-viewer-nav .mom-material-icon{width:24px;height:24px;}

.personal-message-back{display:inline-flex;align-items:center;gap:6px;}
.personal-message-back>.mom-material-icon{width:18px;height:18px;}
.personal-message-image-button>.mom-material-icon,
#personalAvatarPlus>.mom-material-icon{width:22px;height:22px;}
#miniPlayerLikeBtn>.mom-material-icon{width:20px;height:20px;}

.menu-back{display:flex;align-items:center;justify-content:center;gap:6px;}
.menu-back>.mom-material-icon{width:17px;height:17px;flex:0 0 17px;}
.language-check .mom-material-icon,.check .mom-material-icon{width:16px;height:16px;display:block;}
.mom-admin-notification-icon>.mom-material-icon{width:18px;height:18px;display:block;}
.mom-admin-answered{display:inline-flex;align-items:center;gap:3px;}
.mom-admin-answered>.mom-material-icon{width:13px;height:13px;}
.popup-gallery-add>.mom-material-icon{width:24px;height:24px;}

.admin-health-status{display:flex;align-items:center;gap:7px}.admin-health-status>.mom-material-icon{width:18px;height:18px;flex:0 0 18px}

.mom-theme-header-actions button{
min-width:0;
margin:0;
border:1px solid var(--line);
border-radius:8px;
background:var(--panel);
color:var(--text);
box-shadow:none;
font:inherit;


}
.mom-theme-header-actions #momHeaderChange{
background:var(--accent);
border-color:var(--accent);
color:var(--bg);
}
.mom-theme-header-actions button:disabled{
opacity:.38;
filter:none;
}
.mom-theme-header-actions button:not(:disabled):active{
transform:scale(.985);
}

#miniPlayer.mini-player #miniPlayerPrevBtn{transform:translateX(-8px);}
#miniPlayer.mini-player #miniPlayerPlayBtn{transform:translateX(-4px);}
#miniPlayer.mini-player #miniPlayerNextBtn{transform:translateX(0);}

#personalBottomBar.personal-bottom-bar,
.icon-btn-row{
block-size:var(--mom-dock-row-height,56px);
min-block-size:var(--mom-dock-row-height,56px);
max-block-size:var(--mom-dock-row-height,56px);
}

#artHorizontalLayer::before{
left:10%;
right:10%;
top:auto;
bottom:1.5%;
height:9%;
border-radius:50%;
background:rgba(0,0,0,.055);
transform-origin:50% 50%;
transform:translate3d(0,var(--mom-art-shadow-shift-y),0) scaleX(var(--mom-art-shadow-scale-x));
opacity:var(--mom-art-shadow-opacity);
box-shadow:
0 17px 30px 7px rgba(0,0,0,.28),
0 8px 17px 3px rgba(0,0,0,.16);
}
body #artworkStaticBackdrop,
#artWrap.artwork-qr-visible #artworkStaticBackdrop{
display:none!important;
visibility:hidden!important;
opacity:0!important;
background-image:none;
}

#artworkQrBack .artwork-qr-card::after{background:rgba(0,0,0,.30);}
#artworkQrBack .artwork-qr-title,
#artworkQrBack .artwork-qr-help{
color:#fff;
text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.72);
background:rgba(0,0,0,.58);
border-radius:999px;
box-decoration-break:clone;
-webkit-box-decoration-break:clone;
}
#artworkQrBack .artwork-qr-title{padding:5px 11px;font-weight:800;}
#artworkQrBack .artwork-qr-help{padding:4px 9px;background:rgba(0,0,0,.47);}

.icon-btn-row button:not(.first-popup-thumb-btn):not(.personal-bottom-brand){
width:38px;
height:38px;
min-width:38px;
min-height:38px;
padding:8px;
border:1px solid var(--line);
border-radius:9px;
background:var(--panel);
color:var(--text);

display:grid!important;
place-items:center;
}
.icon-btn-row button:not(.first-popup-thumb-btn):not(.personal-bottom-brand)>.mom-material-icon,
.icon-btn-row button:not(.first-popup-thumb-btn):not(.personal-bottom-brand)>svg{
width:21px;
height:21px;
margin:auto;
}
.icon-btn-row button:not(.first-popup-thumb-btn):not(.personal-bottom-brand)>.mom-material-icon{fill:currentColor;stroke:none;}

.mom-header-pull-avatar{border-width:2px;}

body.mom-up-next-pulling #personalPageRoot,
body.mom-up-next-animating #personalPageRoot,
body.mom-up-next-open #personalPageRoot,
body.mom-up-next-pulling #appRoot,
body.mom-up-next-animating #appRoot,
body.mom-up-next-open #appRoot{
overflow-x:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;
}

body.mom-up-next-pulling #miniPlayer,
body.mom-up-next-animating #miniPlayer,
body.mom-up-next-open #miniPlayer,
body.mom-up-next-pulling #personalBottomBar,
body.mom-up-next-animating #personalBottomBar,
body.mom-up-next-open #personalBottomBar,
body.mom-up-next-pulling .icon-btn-row,
body.mom-up-next-animating .icon-btn-row,
body.mom-up-next-open .icon-btn-row{
max-width:100vw!important;min-width:0!important;backface-visibility:hidden;-webkit-backface-visibility:hidden;
}



.mom-header-crop-overlay{align-items:center;padding:18px;}
.mom-header-crop-modal{
width:min(480px,100%);height:auto;
max-height:88svh;margin:0 auto;padding:54px 18px 18px;overflow-y:auto;
border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);
}
.mom-header-crop-modal h2{margin:0 42px 8px 0;font-size:18px;line-height:1.12;font-weight:800;}
.mom-header-crop-modal>p{margin:0 0 13px;color:var(--text-dim);font-size:11px;line-height:1.35;}
/* ch5.97R60 — cet ID est aussi utilisé par l'éditeur inline Groupe.
L'ancienne hauteur fixe de 112 px gagnait sur .mom-group-header-crop-viewport
et déformait l'export 1000×230. */
#momHeaderCropViewport{position:relative;width:100%;height:auto;min-height:0;aspect-ratio:1000/230;overflow:hidden;border-radius:18px;background:#050505;touch-action:none;}
#momHeaderCropViewport img{position:absolute;left:50%;top:50%;max-height:none;transform-origin:center;will-change:transform;pointer-events:none;}
.mom-header-crop-frame{position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--text) 45%,transparent);border-radius:inherit;pointer-events:none;}
.mom-header-crop-zoom-label{display:flex;justify-content:space-between;align-items:center;margin:4px 0 2px;color:var(--text-dim);font-size:11px;}
#momHeaderCropZoom{width:100%;margin:0 0 11px;accent-color:var(--accent);}
#momHeaderCropZoom::-webkit-slider-thumb{background:var(--accent);}
.mom-header-crop-actions{display:flex;gap:10px;}
.mom-header-crop-actions button{flex:1;min-height:42px;border-radius:10px;font:inherit;font-size:13px;}
#momHeaderCropSave{font-weight:800;}

.mom-theme-header-click-options .theme-select{margin-top:6px;}

body.mom-up-next-animating #momUpNextPage,
body.mom-up-next-open #momUpNextPage{transition:top .46s cubic-bezier(.22,.78,.2,1);}

/* MOM ch5.97R59 — pas de séparateur sous « Clic sur l'entête ». */
.mom-theme-header-click-options{margin-top:14px;padding-top:0;padding-bottom:10px;margin-bottom:10px;border-bottom:0;}
.mom-theme-header-click-options>div:first-child{margin-top:0;margin-bottom:4px;line-height:1.15;}
#themeModalTabs{margin:12px 0 14px;padding:3px;border-top:0;}
#themeModalTabs > button{height:34px;min-height:34px;padding:0 4px;}

body.mom-up-next-pulling.mom-up-next-open #miniPlayer.mini-player.visible,
body.mom-up-next-pulling #momUpNextPage,
body.mom-up-next-pulling.mom-up-next-open #momUpNextPage{transition:none!important;}

#customSiteHeader.no-image::before{
content:'MY OWN MUSIC';position:absolute;left:50%;right:auto;top:50%;bottom:auto;
width:auto;height:auto;transform:translate(-50%,-50%);background:none;opacity:.55;
font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--text-dim);white-space:nowrap;z-index:2;
pointer-events:none;
}

body.mom-route-dock-swap #personalBottomBar.personal-bottom-bar,
body.mom-route-dock-swap .icon-btn-row{
transition:none;
animation:none;
}

.mom-theme-header-actions button,
#themeModalTabs button,
.sliding-tabs button,
.theme-select-trigger,
.theme-select-list button,
.mom-header-crop-actions button,
.commerce-actions button,
.invite-actions button{
font-family:inherit;
font-size:var(--mom-ui-button-font-size);
line-height:var(--mom-ui-button-line-height);
}
.period-btn,
.admin-center-tabs button,
.admin-toolbar button,
.admin-comment-actions button{
font-size:var(--mom-ui-button-font-size-compact);
line-height:var(--mom-ui-button-line-height);
}
.mom-theme-header-actions button{font-weight:650;}

#customSiteHeader .mom-header-pull-handle{z-index:8;}

body.mom-up-next-pulling #momUpNextPage,
body.mom-up-next-animating #momUpNextPage,
body.mom-up-next-open #momUpNextPage{
bottom:var(--mom-up-next-sheet-bottom,calc(var(--mom-dock-row-height,56px) + var(--mom-ui-bottom-inset,0px)));
}

#momUpNextPage,
body.mom-up-next-pulling #momUpNextPage,
body.mom-up-next-animating #momUpNextPage,
body.mom-up-next-open #momUpNextPage{
backface-visibility:visible;-webkit-backface-visibility:visible;
position:fixed!important;
left:0!important;
right:0!important;
top:var(--mom-up-next-page-top,52px)!important;
bottom:var(--mom-up-next-page-bottom,56px)!important;
width:100vw!important;
min-width:100vw!important;
max-width:100vw!important;
height:auto!important;
overflow:hidden!important;
background:transparent;
box-shadow:none;
transform:none!important;
contain:layout style paint;
will-change:auto;
isolation:isolate;
}
#momUpNextPage .mom-up-next-motion{
position:absolute!important;
inset:0!important;
overflow:hidden!important;
background:var(--bg);
color:var(--text);
transform:translate3d(0,var(--mom-up-next-motion-y,100dvh),0)!important;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
will-change:transform;
}
#momUpNextPage .mom-up-next-scroll{
position:absolute!important;
inset:0!important;
}
body.mom-up-next-pulling #momUpNextPage .mom-up-next-motion,
body.mom-up-next-open:not(.mom-up-next-animating) #momUpNextPage .mom-up-next-motion{
transition:none!important;
}
body.mom-up-next-animating #momUpNextPage .mom-up-next-motion{
transition:transform .46s cubic-bezier(.22,.78,.2,1);
}
body.mom-up-next-pulling #miniPlayer.mini-player.visible,
body.mom-up-next-animating #miniPlayer.mini-player.visible,
body.mom-up-next-open #miniPlayer.mini-player.visible{
left:0!important;
right:0!important;
bottom:calc(var(--mom-dock-row-height,56px) + var(--mom-ui-bottom-inset,0px))!important;
width:100vw!important;
max-width:100vw!important;
transform:translate3d(0,var(--mom-up-next-mini-y,0px),0)!important;
will-change:transform!important;
contain:layout style!important;
}
body.mom-up-next-pulling #miniPlayer.mini-player.visible{
transition:none!important;
}
body.mom-up-next-animating #miniPlayer.mini-player.visible{
transition:transform 500ms cubic-bezier(.22,.78,.2,1)!important;
}
body.mom-up-next-pulling #personalBottomBar.personal-bottom-bar,
body.mom-up-next-animating #personalBottomBar.personal-bottom-bar,
body.mom-up-next-open #personalBottomBar.personal-bottom-bar,
html:not(.mom-personal-page) body.mom-up-next-pulling .icon-btn-row,
html:not(.mom-personal-page) body.mom-up-next-animating .icon-btn-row,
html:not(.mom-personal-page) body.mom-up-next-open .icon-btn-row{
pointer-events:auto!important;
translate:none;
z-index:calc(var(--mom-up-next-page-z,5300) + 20)!important;
visibility:visible!important;
opacity:1!important;
transform:none!important;
clip-path:none;
-webkit-clip-path:none;
}
@media (prefers-reduced-motion:reduce){
body.mom-up-next-animating #momUpNextPage .mom-up-next-motion,
body.mom-up-next-animating #miniPlayer.mini-player.visible{transition-duration:.01ms!important;}
}

body.mom-up-next-pulling #menuOverlay:not(.open),
body.mom-up-next-animating #menuOverlay:not(.open),
body.mom-up-next-open #menuOverlay:not(.open){
transition:none!important;
}

.icon-btn-row.mom-dock-row,
#personalBottomBar.personal-bottom-bar.mom-dock-row{
position:fixed;
left:0;
right:0;
top:var(--mom-live-dock-top,auto);
bottom:var(--mom-live-dock-bottom,var(--mom-ui-bottom-inset,0px));
width:100vw!important;
max-width:100vw;
height:56px;
min-height:56px;
max-height:56px;
block-size:56px;
min-block-size:56px;
max-block-size:56px;
padding:0 8px;
margin:0;

display:grid;
grid-template-columns:repeat(7,minmax(0,1fr));
align-items:center;
justify-items:center;
gap:0;
overflow:visible!important;
background:var(--mom-dock-background,var(--panel));
transform:none;
translate:none;
z-index:var(--mom-dock-z,9000);
}
html.mom-personal-page .icon-btn-row.mom-dock-row,
html:not(.mom-personal-page) #personalBottomBar.personal-bottom-bar.mom-dock-row{display:none!important;}
html.mom-personal-page #personalBottomBar.personal-bottom-bar.mom-dock-row{display:grid;}

/* ch5.97R73 — prolonge visuellement le dock dans la safe-area lorsque le
navigateur autorise l'edge-to-edge. Aucun impact quand l'inset vaut 0. */
.icon-btn-row.mom-dock-row::after,
#personalBottomBar.personal-bottom-bar.mom-dock-row::after{
content:"";
position:absolute;
left:0;
right:0;
top:100%;
height:var(--mom-ui-bottom-inset,0px);
background:var(--mom-system-bar-color,var(--mom-dock-background,var(--panel)));
pointer-events:none;
}

#cartBtn,
#personalCartBtn{
position:relative;
display:grid;
place-items:center;
width:38px;
height:38px;
min-width:38px;
min-height:38px;
margin:0;
padding:8px;
border:1px solid var(--line);
border-radius:9px;
background:var(--panel);
color:var(--text);

}
#cartBtn>svg,
#personalCartBtn>svg{
display:block;
width:100%;
height:100%;
fill:currentColor;
stroke:none;
}
#cartBtn.cart-has-items,
#personalCartBtn[data-has-items="1"]{
color:var(--text);
border-color:var(--line);
}
#cartBtn.cart-has-items>svg,
#personalCartBtn[data-has-items="1"]>svg{
color:#d6a51f;
fill:currentColor;
stroke:none;
filter:drop-shadow(0 0 1px rgba(255,229,132,.72)) drop-shadow(0 1px 1px rgba(92,57,0,.38));
}
#cartBadge.cart-badge,
#personalCartBadge.personal-cart-badge{
position:absolute;
top:-7px;
right:-7px;
min-width:20px;
height:20px;
padding:0 5px;

border-radius:999px;
background:#D9A441;
color:#21170d;
font-size:11px;
font-weight:900;
line-height:20px;
box-shadow:0 2px 8px rgba(0,0,0,.42);
z-index:12;
align-items:center;
justify-content:center;
}

html.mom-personal-route-building #momPersonalAtomicLayer{
display:block;
visibility:visible;
opacity:1;
pointer-events:auto;
z-index:4400;
}

#momUpNextScroll,
#momUpNextList{
touch-action:none!important;
}

html,body{
overscroll-behavior:none;
overscroll-behavior-y:none;
}
.mom-native-gesture-surface{
-webkit-user-select:none;
user-select:none;
-webkit-touch-callout:none;

}
.mom-native-gesture-lock{touch-action:none;}

#momUpNextScroll{overscroll-behavior-y:contain;}

#momUpNextPage.mom-precomposed{
visibility:visible!important;
pointer-events:none!important;
opacity:1!important;
}
#momUpNextPage.mom-precomposed .mom-up-next-motion{
will-change:transform;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
}
body.mom-up-next-pulling #momUpNextPage.mom-precomposed,
body.mom-up-next-animating #momUpNextPage.mom-precomposed,
body.mom-up-next-open #momUpNextPage.mom-precomposed{
pointer-events:auto!important;
}

body:not(.mom-up-next-pulling):not(.mom-up-next-animating):not(.mom-up-next-open) #momUpNextPage.mom-precomposed .mom-up-next-motion{
transition:none!important;
}

html.mom-personal-page #personalThemeChoices .custom-theme-half{
padding:0;
margin:0;
border:0;
border-radius:0;
background:transparent;
box-shadow:none;
color:transparent;
overflow:hidden;
}
html.mom-personal-page #personalThemeChoices .custom-theme-half-fill{
position:absolute;
inset:0;
display:block;
background:var(--mom-custom-half-color,transparent);
pointer-events:none;
z-index:0;
}
html.mom-personal-page #personalCustomThemePalette .custom-theme-color{
aspect-ratio:1/1;
min-width:0;
min-height:0;
width:auto;
height:auto;
padding:0;
margin:0;
border:2px solid rgba(255,255,255,.5);
border-radius:50%;
background:var(--mom-custom-color);
box-shadow:0 1px 4px rgba(0,0,0,.4);
}
html.mom-personal-page #personalCustomThemePalette .custom-theme-color.selected{
outline:3px solid var(--accent);
outline-offset:2px;
}

.controls button:not(.play-btn){
box-shadow:0 2px 9px rgba(0,0,0,.18),0 0 1px rgba(0,0,0,.16);
}
.controls .play-btn{
box-shadow:
0 4px 12px rgba(0,0,0,.24),
0 0 10px color-mix(in srgb,var(--accent) 24%,transparent);
}

.controls .play-btn svg{
filter:drop-shadow(0 1.5px 2px rgba(0,0,0,.28));
-webkit-filter:drop-shadow(0 1.5px 2px rgba(0,0,0,.28));
}

.icon-btn-row.mom-dock-row,
#personalBottomBar.personal-bottom-bar.mom-dock-row,
#miniPlayer.mini-player{
/* ch5.97R89 — rollback R74 ; cette déclaration n'a pas besoin d'être
prioritaire : les docks et le mini-player possèdent déjà leur fond canonique. */
background:var(--mom-system-bar-color,var(--panel));
border-top:0;
box-shadow:0 -3px 8px rgba(0,0,0,.22);
backdrop-filter:none;
-webkit-backdrop-filter:none;
}

#customSiteHeader,
#customSiteHeader.mom-header-pulling,
#customSiteHeader.mom-header-pull-open,
#customSiteHeader.mom-header-pull-animating{
/* L'ombre extérieure est portée par #momHeaderEdgeShadow. Le header garde
son clip Android sans pouvoir couper l'ombre. */
box-shadow:none;
}

#momHeaderEdgeShadow{
position:fixed;
left:0;
top:0;
width:0;
height:0;
z-index:var(--mom-header-pull-shadow-z,1100);
pointer-events:none;
background:transparent;
border-radius:0 0 22px 22px;
box-shadow:var(--mom-header-shadow);
opacity:0;
visibility:hidden;
transform:translate3d(0,0,0);
transform-origin:top left;
will-change:transform,border-radius;
}
#momHeaderEdgeShadow.mom-visible{
opacity:1;
visibility:visible;
}
#momHeaderEdgeShadow.mom-animating{
transition:transform .46s cubic-bezier(.22,.78,.2,1),border-radius .46s cubic-bezier(.22,.78,.2,1);
}
@media (prefers-reduced-motion:reduce){
#momHeaderEdgeShadow.mom-animating{transition-duration:.01ms;}
}

#miniPlayer.mini-player:not(.visible){
box-shadow:none;
will-change:transform;
transform:translate3d(0,calc(200% + 12px),0)!important;
visibility:hidden!important;
pointer-events:none!important;
}
#miniPlayer.mini-player.visible{
box-shadow:var(--mom-dock-shadow);
will-change:transform!important;
}

#miniPlayer:not(.visible) ~ #momUpNextPage.mom-precomposed,
body:not(.mini-player-visible) #momUpNextPage.mom-precomposed{
visibility:hidden!important;
pointer-events:none!important;
}

#artWrap.artwork-vertical-flip-active:not(.artwork-secret-spinning) #heroArt,
#artWrap.artwork-vertical-flip-active:not(.artwork-secret-spinning) #artworkQrBack{
filter:none;
-webkit-filter:none;
}

circle.equalizer-curve-point,
circle[id^="eqCurvePoint"] {
stroke: transparent;
stroke-width: 28px;
pointer-events: all;
touch-action: none;
paint-order: stroke fill;
}

circle.equalizer-curve-point.mom-doubletap-armed,
circle[id^="eqCurvePoint"].mom-doubletap-armed {
filter: drop-shadow(0 0 5px rgba(255,255,255,.95));
}

html.mom-home-auth-pending #platformHome{display:none}

#homeAccountTypeTabs{
position:relative;
z-index:4;
pointer-events:auto;
}
#homeAccountTypeTabs button{
position:relative;
z-index:6;
pointer-events:auto;
touch-action:manipulation;
}

#platformHome{
position:relative;
min-height:100dvh;

padding-bottom:72px;
background-image:
linear-gradient(
to bottom,
rgba(0,0,0,.55) 0%,
rgba(0,0,0,.61) 45%,
rgba(0,0,0,.70) 100%
),
url('/img/cassette.webp');
background-position:center center !important;
background-size:cover !important;
background-repeat:no-repeat;
}
#homeAuthContent{
margin:0 auto;
}
#homeLoginForm,
#homeSignupForm{
min-height:0;
}
#homeLoginBtn,
#homeSignupBtn{
margin-top:22px;
}
#momPermanentFooterTagline{
position:fixed;
left:16px;
right:16px;
bottom:calc(12px + var(--mom-ui-bottom-inset,0px));
z-index:50;
display:none;
visibility:hidden;
opacity:0;
margin:0;
padding:0;
text-align:center;
white-space:nowrap;
font-size:12px;
line-height:1.2;
color:var(--text-dim);
pointer-events:none;
user-select:none;
}

#searchModalOverlay.open{z-index:1165;}
body:has(#searchModalOverlay.open) #miniPlayer.visible{
filter:none;
-webkit-filter:none;
opacity:1!important;
visibility:visible!important;
isolation:isolate;
}

.mom-local-upload-progress{display:none;position:relative;width:100%;margin:7px 0 11px;padding:0 2px;z-index:auto;background:transparent;border:0;box-shadow:none}.mom-local-upload-progress.active{display:block}.mom-upload-progress-copy{align-items:center;color:var(--text-dim)}.mom-upload-progress-bar{display:block;width:0;height:100%;border-radius:inherit;background:var(--accent);transition:width 100ms linear}.mom-local-upload-progress.indeterminate .mom-upload-progress-bar{width:34%;animation:momLocalUploadMove 900ms ease-in-out infinite}@keyframes momLocalUploadMove{0%{transform:translateX(-120%)}100%{transform:translateX(310%)}}.personal-background-image-preview{width:100%;aspect-ratio:16/7;margin:10px 0 0;border-radius:12px;background-size:cover;background-position:center;border:1px solid var(--line)}#personalThemeAvatarCropArea[hidden]{display:none}

#tabTheme #themeModalTabs > button{
display:flex;
align-items:center;
justify-content:center;
line-height:1;
padding-top:0;
padding-bottom:0;
}

#miniPlayer .mini-player-progress{
position:absolute;
left:0;
right:0;
top:0;
height:2px;
min-height:2px;
margin:0;
padding:0;

overflow:visible;
border-top:0;
pointer-events:auto;
touch-action:none;
cursor:pointer;
z-index:12;
}
#miniPlayer .mini-player-progress::before{
content:'';
position:absolute;
left:0;
right:0;
top:-9px;
bottom:-9px;
height:18px;
background:transparent;
}
#miniPlayer .mini-player-progress-fill{
height:2px;
min-height:2px;
}
#miniPlayer .mini-player-progress.mom-seeking .mini-player-progress-fill{
transform:none;
transform-origin:center;
}

#miniPlayerArt{
position:relative;
z-index:20;
pointer-events:auto;
cursor:pointer;
touch-action:manipulation;

}

#miniPlayerLikeBtn{
width:34px;
height:34px;
min-width:34px;
flex:0 0 34px;
margin:0 3px 0 0;
padding:0;
border:0;
background:transparent;
box-shadow:none;
color:var(--text-dim,#aaa);
font:400 27px/34px system-ui,sans-serif;
text-align:center;

}
#miniPlayerLikeBtn[data-liked="1"]{color:#FFD700}

#momInlinePersonalSignupOverlay{
position:fixed;
inset:0;
z-index:var(--mom-window-z-base,4500);
display:none;
align-items:flex-end;
justify-content:center;
background:rgba(0,0,0,.38);
backdrop-filter:blur(9px);
-webkit-backdrop-filter:blur(9px);
}
#momInlinePersonalSignupOverlay.open{display:flex}
.mom-inline-signup-card{
position:relative;
width:min(100%,430px);

padding:24px 22px calc(24px + var(--mom-ui-bottom-inset,0px));
border-radius:22px 22px 0 0;
background:var(--panel,#17120f);
color:var(--text,#fff);
box-shadow:0 -18px 50px rgba(0,0,0,.35);
}
.mom-inline-signup-card .brand{
font-weight:900;
line-height:.86;
margin-bottom:18px;
}
.mom-inline-signup-card h2{margin:0 38px 6px 0;font-size:19px}
.mom-inline-signup-card p{
margin:0 32px 18px 0;
color:var(--text-dim,#aaa);
font-size:12px;
line-height:1.35;
}
#momInlineSignupForm{display:flex;flex-direction:column;gap:10px}
#momInlineSignupForm input{
width:100%;
min-height:44px;

padding:0 12px;
border:1px solid var(--line,rgba(255,255,255,.14));
border-radius:12px;
background:var(--bg,#090807);
color:var(--text,#fff);
font:inherit;
font-size:14px;
}
#momInlineSignupSlug{min-height:14px;font-size:11px;color:var(--text-dim,#aaa)}
#momInlineSignupError{min-height:15px;font-size:12px;color:#e5736b}
#momInlineSignupSubmit{
min-height:44px;
border:0;
border-radius:999px;
background:var(--accent);
color:var(--bg);
font-weight:800;
}
.mom-inline-signup-close{
position:absolute;
right:14px;
top:12px;
width:34px;
height:34px;
padding:5px;
border:0;
background:transparent;
color:var(--text);
}
.mom-inline-signup-close svg{display:block;width:24px;height:24px}

#miniPlayer.mini-player{
touch-action:none!important;
-webkit-user-select:none;
user-select:none;
}
#miniPlayer .mini-player-info{
touch-action:none;
-webkit-user-select:none;
user-select:none;
}
#miniPlayer button,
#miniPlayer #miniPlayerArt,
#miniPlayer .mini-player-progress{
-webkit-user-select:none;
user-select:none;
}

.c-text a,.personal-message-bubble a{color:var(--accent-bright);text-decoration:underline;text-underline-offset:2px}.personal-message-bubble.mine a{color:inherit}

.external-search-note{font-size:11px;color:var(--text-dim);line-height:1.4;margin:6px 4px 8px;}
.external-search-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:3px 6px;border-radius:999px;border:1px solid var(--line);color:var(--text-dim);white-space:nowrap;}
.external-search-invite{flex-shrink:0;border:1px solid var(--accent);background:transparent;color:var(--accent);border-radius:7px;padding:7px 9px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;}
.external-search-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite;vertical-align:-2px;margin-right:6px;}

.mom-password-field{
position:relative;
width:100%;
}
.mom-password-field input{
width:100%;

padding-right:46px;
}
.mom-password-eye{
position:absolute;
top:50%;
right:12px;
transform:translateY(-50%);
width:32px;
height:32px;
margin:0;
padding:0;
border:0;
background:transparent;
color:var(--text-dim);
font-size:20px;
line-height:32px;
cursor:pointer;
z-index:3;

touch-action:manipulation;
}

#artistFollowBtn{
position:absolute;
z-index:8;
top:10px;
right:10px;
width:38px;
height:38px;
border:0;
border-radius:50%;
background:rgba(0,0,0,.48);
color:var(--text-dim,#aaa);
font-size:27px;
line-height:38px;
text-align:center;
padding:0;

}
#artistFollowBtn[data-liked="1"]{color:#FFD700}
.track-like-btn{
width:34px;
height:34px;
border:0;
background:transparent;
padding:0;
color:var(--text-dim,#aaa);
font-size:23px;
line-height:34px;
flex:0 0 34px;

}
.track-like-btn[data-liked="1"]{color:#FFD700}

.track-row .dur{
margin-left:auto;
margin-right:-2px;
transform:translateX(4px);
flex-shrink:0;
}
.track-row .dl-btn,
.track-row .track-like-btn{
margin-left:0;
margin-right:-3px;
transform:translateX(4px);
flex-shrink:0;
}

.comment-item{
position:relative;
}
.comment-item.has-avatar{
padding-left:44px;
}
.comment-avatar{
position:absolute;
left:0;
top:0;
width:34px;
height:34px;
border-radius:50%;
object-fit:cover;
background:var(--panel,#17120f);
border:1px solid var(--line,rgba(255,255,255,.12));
}
.comment-compose-avatar{
width:32px;
height:32px;
border-radius:50%;
object-fit:cover;
background:var(--panel,#17120f);
border:1px solid var(--line,rgba(255,255,255,.12));
display:none;
margin-bottom:6px;
}
.comment-compose-avatar.visible{
display:block;
}

html.mom-instant-personal-shell #momStartupSolidThemeLayer,
html.mom-instant-personal-shell #firstPopupVeil{
opacity:0 !important;
visibility:hidden !important;
pointer-events:none !important;
}
html.mom-instant-personal-shell #personalPageRoot{
display:block;
visibility:visible;
opacity:1;
pointer-events:none;
}
html.mom-instant-personal-shell #personalBottomBar{
display:grid;
visibility:visible;
opacity:1;
pointer-events:none;
}
html.mom-instant-personal-shell #personalFavoritesGrid{
display:none;
}
html.mom-instant-personal-shell #personalNewReleases:not([hidden]){
display:block;
}
html.mom-instant-personal-shell #personalPageRoot,
html.mom-instant-personal-shell #personalBottomBar{
animation:none;
transition:none;
}

html.mom-instant-generic-shell::before{
content:"My\A Own\A Music";
white-space:pre-line;
position:fixed;
inset:0;
z-index:2147483000;
display:grid;
place-items:center;
padding-bottom:8vh;

background:var(--bg,#181410);
color:var(--text,#f4efe8);
font:800 38px/0.78 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
letter-spacing:-.055em;
text-align:center;
pointer-events:none;
}

#menuPanel.mom-menu-compositor-ready:not(.open){
visibility:visible !important;
pointer-events:none !important;
transform:translate3d(0,118vh,0) !important;
opacity:1 !important;
will-change:transform;
contain:layout paint style;
}

body.is-admin #menuViewTabs{display:block !important;}
body:not(.is-admin) #menuViewTabs,
body.is-admin #adminLoginBtn{display:none !important;}
body:not(.is-admin) #adminLoginBtn,
body.is-admin #menuPanel[data-active-view="admin"] #menuStickyFooter{display:flex !important;}
body:not(.is-admin) #menuStickyFooter,
body.is-admin #menuPanel[data-active-view="visitor"] #menuStickyFooter{display:none;}

html:not(.mom-personal-page) button.mom-bottom-brand{
position:absolute;
left:-1px;
top:7px;
bottom:7px;
width:58px;
height:auto;
min-width:0;
min-height:0;
margin:0;
padding:0 0 0 9px;
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:center;

overflow:hidden;
border:1px solid var(--line);
border-left:0;
border-radius:0 9px 9px 0;
background:transparent;
color:var(--text-dim);
font:900 12px/.88 inherit;
letter-spacing:.035em;
text-align:left;
opacity:.82;
pointer-events:auto;
cursor:pointer;
touch-action:manipulation;
-webkit-appearance:none;
appearance:none;
z-index:2;
}

#miniPlayer.mini-player .mini-player-info{
padding-left:3px;

}

#momUpNextList .mom-up-next-row{
--mom-up-next-dismiss-x:0px;
--mom-up-next-dismiss-counter-x:0px;
isolation:isolate;
will-change:auto;
}

#momUpNextList .mom-up-next-row.mom-up-next-removing{pointer-events:none;}
#momUpNextList .mom-up-next-remove-action{
position:absolute;
left:0;
top:0;
bottom:0;
width:var(--mom-up-next-dismiss-x);
min-width:0;
max-width:100%;

display:flex;
align-items:center;
justify-content:flex-end;
padding:0 14px 0 7px;
overflow:hidden;
border-radius:0 7px 7px 0;
background:#e84d46;
color:#fff;
transform:translate3d(var(--mom-up-next-dismiss-counter-x),0,0);
pointer-events:none;
z-index:0;
opacity:0;
transition:opacity 55ms linear;
}
#momUpNextList .mom-up-next-row.mom-up-next-swiping .mom-up-next-remove-action,
#momUpNextList .mom-up-next-row.mom-up-next-removing .mom-up-next-remove-action{opacity:1;}
#momUpNextList .mom-up-next-remove-icon{
flex:0 0 21px;
width:21px;
height:21px;
display:grid;
place-items:center;
}
#momUpNextList .mom-up-next-remove-icon svg{display:block;width:21px;height:21px;}
#momUpNextList .mom-up-next-row.mom-up-next-swiping{box-shadow:0 5px 16px rgba(0,0,0,.16);}
@media (prefers-reduced-motion:reduce){
#momUpNextList .mom-up-next-row.mom-up-next-swiping,
#momUpNextList .mom-up-next-row.mom-up-next-removing{transition-duration:.01ms;}
}

#momUpNextList .mom-up-next-row{
touch-action:none!important;
overscroll-behavior-x:none;
-webkit-user-select:none;
user-select:none;
}
#momUpNextList .mom-up-next-row.mom-up-next-swiping,
#momUpNextList .mom-up-next-row.mom-up-next-removing{
will-change:transform;
touch-action:none;
}
#momUpNextList .mom-up-next-row.mom-up-next-swiping > :not(.mom-up-next-remove-action){
pointer-events:none!important;
}

.comment-form,
.reply-form,
#firstPopupCommentBox > div{
position:relative;
}

.comment-form > button[type="submit"],
.reply-form > button,
#firstPopupCommentSendBtn{
position:absolute;

margin:0;

display:grid;
place-items:center;
border:0;
border-radius:0!important;
background:transparent!important;
box-shadow:none;
color:var(--accent-bright);
font-size:0!important;
line-height:0;
cursor:pointer;

z-index:3;
}
#firstPopupCommentSendBtn{color:#fff!important;}

.comment-form > button[type="submit"]:disabled,
.reply-form > button:disabled,
#firstPopupCommentSendBtn:disabled{opacity:.38;}

#momUpNextList .mom-up-next-row.mom-up-next-slot-primed,
#momUpNextList .mom-up-next-row.mom-up-next-slot-moving{
will-change:transform;
backface-visibility:hidden;
-webkit-backface-visibility:hidden;
transform:translateZ(0);
}

body.mom-window-over-up-next #personalBottomBar.personal-bottom-bar,
html:not(.mom-personal-page) body.mom-window-over-up-next .icon-btn-row{
z-index:var(--mom-dock-z,9000)!important;
}

.comment-form textarea,
.reply-form textarea,
#firstPopupCommentText{

height:auto;
min-height:54px;
max-height:none;
padding:7px 40px 7px 10px!important;
line-height:1.25;
resize:none;
overflow-y:hidden;
field-sizing:content;
}
.comment-form > button[type="submit"],
.reply-form > button,
#firstPopupCommentSendBtn{
right:6px;
bottom:6px;
width:28px;
height:28px;
min-width:28px;
min-height:28px;
padding:3px!important;
}
.comment-form > button[type="submit"]::before,
.reply-form > button::before,
#firstPopupCommentSendBtn::before{
content:'';
display:block;
background:currentColor;
-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.2 3.4C2.5 3.1 1.9 3.8 2.2 4.5L5.1 10.7C5.3 11.1 5.7 11.4 6.2 11.4H16.4L6.2 12.6C5.7 12.7 5.3 12.9 5.1 13.3L2.2 19.5C1.9 20.2 2.5 20.9 3.2 20.6L21.4 12.9C22.5 12.4 22.5 10.9 21.4 10.4L3.2 3.4Z'/%3E%3C/svg%3E") center/contain no-repeat;
mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.2 3.4C2.5 3.1 1.9 3.8 2.2 4.5L5.1 10.7C5.3 11.1 5.7 11.4 6.2 11.4H16.4L6.2 12.6C5.7 12.7 5.3 12.9 5.1 13.3L2.2 19.5C1.9 20.2 2.5 20.9 3.2 20.6L21.4 12.9C22.5 12.4 22.5 10.9 21.4 10.4L3.2 3.4Z'/%3E%3C/svg%3E") center/contain no-repeat;
width:22px;
height:22px;
}

#momUpNextPage .mom-up-next-scroll{
display:flex!important;
flex-direction:column;
}
#momUpNextList{flex:0 0 auto;}
#momUpNextPage .mom-up-next-blank-close-zone{
flex:1 0 72px;
min-height:72px!important;
width:100%!important;
touch-action:none!important;
background:transparent;
}

body.mom-window-over-up-next .menu-overlay.open,
body.mom-window-over-up-next .admin-modal-overlay.open,
body.mom-window-over-up-next .gallery-viewer-overlay.open,
body.mom-window-over-up-next .lyrics-overlay.open,
body.mom-window-over-up-next #searchModalOverlay.open,
body.mom-window-over-up-next .personal-window-overlay.open:not([data-mom-window-priority="below-up-next"]),
body.mom-window-over-up-next .personal-control-overlay.open:not([data-mom-window-priority="below-up-next"]){
z-index:var(--mom-window-over-up-next-z,6000)!important;
}

:where(
button,
a[href],
input,
select,
textarea,
[role="button"],
[role="link"],
[tabindex]:not([tabindex="-1"])
):focus-visible{
outline:2px solid var(--accent-bright,var(--accent,currentColor));
outline-offset:3px;
}

@media (forced-colors:active){
:where(
button,
a[href],
input,
select,
textarea,
[role="button"],
[role="link"],
[tabindex]:not([tabindex="-1"])
):focus-visible{
outline:2px solid Highlight;
}
}

/* === ch5.90 — Thème Groupe Full custom (aperçu + rendu validé) === */
#momFullCustomBackdrop{
display:none;
position:fixed;
inset:0;
z-index:0;
overflow:hidden;
pointer-events:none;
background:var(--bg);
}
html.mom-group-full-custom #momFullCustomBackdrop{display:block;}
#momFullCustomBackdrop .mom-full-custom-bg-image{
position:absolute;
left:50%;
top:50%;
width:100vw;
height:100dvh;
max-width:none;
max-height:none;
object-fit:cover;
object-position:center;
transform-origin:center center;
transform:translate(-50%,-50%) translate3d(var(--mom-full-custom-x,0%),var(--mom-full-custom-y,0%),0) scale(var(--mom-full-custom-scale,1.12));
will-change:transform;
user-select:none;
-webkit-user-drag:none;
}
#momFullCustomBackdrop .mom-full-custom-bg-blur{
filter:blur(22px) saturate(.96) brightness(.84);
clip-path:inset(var(--mom-full-custom-blur-top,88px) 0 var(--mom-full-custom-blur-bottom,260px) 0);
}
html.mom-group-full-custom #appRoot{
position:relative;
z-index:1;
background:transparent;
}
html.mom-group-full-custom #customSiteHeader{
background-color:transparent;
}
html.mom-group-full-custom #appRoot .now-title,
html.mom-group-full-custom #appRoot .now-artist,
html.mom-group-full-custom #appRoot .now-album,
html.mom-group-full-custom #appRoot .tape-time,
html.mom-group-full-custom #appRoot .list>h2{
text-shadow:0 1px 5px rgba(0,0,0,.72);
}
html.mom-group-full-custom .icon-btn-row.mom-dock-row{
background-color:transparent;
}

.mom-full-custom-theme-entry{
margin-top:18px;
padding:13px;
border:1px solid var(--line);
border-radius:14px;
background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 92%,var(--accent) 8%),var(--panel));
}
.mom-full-custom-theme-entry.active{border-color:color-mix(in srgb,var(--accent) 68%,var(--line));}
.mom-full-custom-entry-copy{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:12px;
margin-bottom:11px;
}
.mom-full-custom-entry-copy>div{min-width:0;}
.mom-full-custom-entry-copy strong{display:block;font-size:14px;color:var(--text);}
.mom-full-custom-entry-copy span{display:block;margin-top:4px;font-size:11px;line-height:1.45;color:var(--text-dim);}
.mom-full-custom-entry-badge{
flex:0 0 auto;
padding:4px 7px;
border-radius:999px;
background:var(--accent);
color:var(--bg);
font-size:9.5px;
font-style:normal;
font-weight:800;
text-transform:uppercase;
letter-spacing:.04em;
}
.mom-full-custom-entry-action{
width:100%;
min-height:42px;
border:1px solid var(--line);
border-radius:10px;
background:var(--bg);
color:var(--text);
font:inherit;
font-size:12.5px;
font-weight:750;
}

.mom-full-custom-preview-overlay{
display:none;
position:fixed;
inset:0;
z-index:12050;
background:#050505;
color:#fff;
touch-action:none;
}
.mom-full-custom-preview-overlay.open{display:block;}
.mom-full-custom-preview-shell{
width:100%;
height:100%;
display:grid;
place-items:center;
}
.mom-full-custom-preview-stage{
position:relative;
width:min(100vw,720px);
height:100dvh;
overflow:hidden;
background:#090909;
isolation:isolate;
touch-action:none;
}
.mom-full-custom-preview-bg{
position:absolute;
z-index:0;
left:50%;
top:50%;
width:100%;
height:100%;
max-width:none;
object-fit:cover;
transform-origin:center center;
user-select:none;
-webkit-user-drag:none;
will-change:transform;
}
.mom-full-custom-preview-middle-blur{
position:absolute;
z-index:1;
left:0;
right:0;
top:88px;
bottom:56px;
background:rgba(0,0,0,.03);
backdrop-filter:blur(22px) saturate(.96) brightness(.84);
-webkit-backdrop-filter:blur(22px) saturate(.96) brightness(.84);
pointer-events:none;
}
.mom-full-custom-preview-header{
position:absolute;
z-index:3;
left:0;
right:0;
top:0;
height:88px;
border-radius:0 0 22px 22px;
box-shadow:0 3px 8px rgba(0,0,0,.25);
pointer-events:none;
}
.mom-full-custom-preview-header span{
position:absolute;
left:50%;
bottom:7px;
width:34px;
height:4px;
transform:translateX(-50%);
border-radius:999px;
background:rgba(255,255,255,.78);
box-shadow:0 1px 4px rgba(0,0,0,.5);
}
.mom-full-custom-preview-content{
position:absolute;
z-index:3;
left:18px;
right:18px;
top:116px;
display:flex;
flex-direction:column;
align-items:center;
pointer-events:none;
text-shadow:0 1px 5px rgba(0,0,0,.8);
}
.mom-full-custom-preview-artwork{
display:block;
width:min(70vw,330px);
aspect-ratio:1;
object-fit:cover;
border-radius:18px;
box-shadow:0 22px 45px -18px rgba(0,0,0,.85);
}
.mom-full-custom-preview-content>strong{
width:100%;
margin-top:16px;
font-size:19px;
line-height:1.1;
text-align:center;
text-transform:uppercase;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.mom-full-custom-preview-content>span{margin-top:5px;font-size:12px;color:rgba(255,255,255,.78);}
.mom-full-custom-preview-progress{
width:min(78vw,360px);
height:4px;
margin-top:20px;
border-radius:999px;
background:rgba(255,255,255,.22);
overflow:hidden;
}
.mom-full-custom-preview-progress i{display:block;width:34%;height:100%;background:rgba(255,255,255,.9);}
.mom-full-custom-preview-controls{
display:flex;
align-items:center;
justify-content:center;
gap:12px;
margin-top:20px;
}
.mom-full-custom-preview-controls b{
display:grid;
place-items:center;
width:42px;
height:42px;
border-radius:10px;
border:1px solid rgba(255,255,255,.24);
background:rgba(18,18,18,.58);
box-shadow:0 5px 14px rgba(0,0,0,.24);
font-size:14px;
}
.mom-full-custom-preview-controls b.play{width:48px;height:48px;}
.mom-full-custom-preview-dock{
position:absolute;
z-index:4;
left:0;
right:0;
bottom:0;
height:56px;
display:grid;
grid-template-columns:repeat(7,minmax(0,1fr));
align-items:center;
justify-items:center;
padding:0 8px;
border-top:1px solid rgba(255,255,255,.2);
background:rgba(0,0,0,.08);
box-shadow:0 -3px 10px rgba(0,0,0,.28);
pointer-events:none;
}
.mom-full-custom-preview-dock i{
display:grid;
place-items:center;
width:38px;
height:38px;
border:1px solid rgba(255,255,255,.22);
border-radius:9px;
background:rgba(18,18,18,.62);
color:#fff;
font-style:normal;
font-size:17px;
}
.mom-full-custom-preview-dock b{
justify-self:start;
font-size:10px;
line-height:.88;
letter-spacing:.03em;
text-shadow:0 1px 4px rgba(0,0,0,.8);
}
.mom-full-custom-preview-editor{
position:absolute;
z-index:8;
left:12px;
right:12px;
bottom:70px;
padding:12px;
border:1px solid rgba(255,255,255,.24);
border-radius:14px;
background:rgba(10,10,10,.78);
box-shadow:0 12px 32px rgba(0,0,0,.38);
backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);
touch-action:auto;
}
.mom-full-custom-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px;}
.mom-full-custom-preview-head strong{font-size:13px;}
.mom-full-custom-preview-head span{max-width:54%;font-size:10px;line-height:1.35;color:rgba(255,255,255,.72);text-align:right;}
.mom-full-custom-preview-editor label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:rgba(255,255,255,.8);}
.mom-full-custom-preview-editor output{font-variant-numeric:tabular-nums;color:#fff;font-weight:800;}
#momFullCustomPreviewScale{width:100%;margin:8px 0 10px;accent-color:#fff;}
.mom-full-custom-preview-actions{display:grid;grid-template-columns:auto 1fr 1fr;gap:7px;}
.mom-full-custom-preview-actions button{
min-height:40px;
border:1px solid rgba(255,255,255,.22);
border-radius:9px;
background:rgba(255,255,255,.08);
color:#fff;
font:inherit;
font-size:11px;
font-weight:750;
}
#momFullCustomPreviewValidate{background:#fff;color:#111;border-color:#fff;}
#momFullCustomPreviewDisable[hidden]{display:none;}
@media(min-width:481px){
.mom-full-custom-preview-header{height:105px;}
.mom-full-custom-preview-middle-blur{top:105px;}
.mom-full-custom-preview-content{top:128px;}
}

/* ch5.96 — Mixtapes : bouton piste + sélecteur global. */
.mom-mixtape-add-icon{
display:inline-block;
width:100%;
height:100%;
background:currentColor;
-webkit-mask:url('/img/mixtape-add.webp?v=1.96.65-ch5.96r15-mixtape-upnext-unified') center/contain no-repeat;
mask:url('/img/mixtape-add.webp?v=1.96.65-ch5.96r15-mixtape-upnext-unified') center/contain no-repeat;
}
.track-row .track-mixtape-btn{
width:26px;
height:26px;
flex:0 0 26px;
margin:0 -7px 0 -5px;
padding:4px;
border:0;
border-radius:8px;
background:transparent;
color:var(--text-dim,#aaa);
transform:translateX(4px);
-webkit-tap-highlight-color:transparent;
}
.track-row .track-mixtape-btn:active{transform:translateX(4px) scale(.92)}
.track-row .track-mixtape-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.track-row .track-mixtape-btn .mom-mixtape-add-icon{width:18px;height:15px}

.mom-mixtape-picker-overlay{
position:fixed;
inset:0;
z-index:var(--mom-window-z-base,4500);
display:none;
align-items:flex-end;
padding:16px;
background:rgba(0,0,0,.38);
backdrop-filter:blur(7px);
-webkit-backdrop-filter:blur(7px);
}
.mom-mixtape-picker-overlay.open{display:flex}
.mom-mixtape-picker-sheet{
position:relative;
width:min(100%,480px);
min-height:min(68dvh,560px);
max-height:82dvh;
margin:0 auto;
padding:28px 16px 16px;
overflow:auto;
border:1px solid var(--line);
border-radius:22px;
background:var(--panel);
color:var(--text);
box-shadow:0 24px 70px rgba(0,0,0,.58);
}
.mom-mixtape-window-handle{
position:absolute;
top:10px;
left:50%;
width:68px;
height:5px;
border-radius:999px;
background:var(--line);
transform:translateX(-50%);
}
.mom-mixtape-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 14px}
.mom-mixtape-picker-head h2{margin:0;font-size:18px}
.mom-mixtape-close{
width:38px;height:38px;padding:8px;border:0;border-radius:12px;background:transparent;color:var(--text)
}
.mom-mixtape-close svg{width:100%;height:100%;display:block}
.mom-mixtape-picker-list{display:grid;gap:8px}
.mom-mixtape-picker-item{
width:100%;min-height:62px;padding:8px 10px;display:grid;grid-template-columns:46px 1fr;align-items:center;gap:11px;
border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--text);text-align:left
}
.mom-mixtape-picker-item:active{transform:scale(.985)}
.mom-mixtape-mini-cover{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:var(--panel) center/cover no-repeat;color:var(--text)}
.mom-mixtape-mini-cover .mom-mixtape-add-icon{width:32px;height:22px}
.mom-mixtape-picker-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.mom-mixtape-picker-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.mom-mixtape-picker-copy small,.mom-mixtape-picker-empty,.mom-mixtape-picker-status{color:var(--text-dim);font-size:11px}
.mom-mixtape-picker-empty{margin:8px 2px 12px}
.mom-mixtape-create-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}
.mom-mixtape-create-form input{
min-width:0;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:inherit
}
.mom-mixtape-create-submit{
min-width:82px;height:44px;padding:0 14px;border:1px solid var(--accent);border-radius:12px;background:var(--accent);color:var(--bg);font-weight:800
}
.mom-mixtape-picker-status{min-height:16px;margin-top:8px;color:var(--accent-bright)}
@media(max-width:360px){
.track-row .track-mixtape-btn{width:24px;height:24px;flex-basis:24px;margin-left:-6px;margin-right:-8px;padding:3px}
.track-row .track-mixtape-btn .mom-mixtape-add-icon{width:17px;height:14px}
}


/* ch5.97R7 — cartes média internes : miniature compacte + lecture via le mini-player global. */
.mom-media-share-card{position:relative;width:52px;height:52px;min-width:52px;min-height:52px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--panel);box-shadow:0 4px 14px rgba(0,0,0,.18)}
.mom-media-share-card img{display:block;width:100%;height:100%;object-fit:cover;background:var(--panel)}
.mom-media-share-play{position:absolute;inset:0;margin:auto;width:30px;height:30px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;transform:none;transform-origin:center;background:rgba(0,0,0,.68);color:#fff;box-shadow:0 2px 9px rgba(0,0,0,.35);cursor:pointer}
.mom-media-share-play svg{width:20px;height:20px;display:block;transform:translateX(1px)}
.mom-media-share-play[data-mom-playing="1"] svg{transform:none}
.mom-media-share-play:active{transform:scale(.94)}
.mom-media-share-card.is-loading .mom-media-share-play{transform:scale(.9)}
.mom-media-share-card.is-unavailable{filter:grayscale(1)}
.mom-media-share-card.is-unavailable .mom-media-share-play{opacity:.52;cursor:default}
.comment-item>.mom-media-share-card{margin-top:7px}
/* ch5.97R31 — dans un commentaire, la miniature partagée est accompagnée du
nom canonique de la piste, de l'album ou de la Mixtape. Le même composant
couvre les trois types afin d'éviter les corrections au cas par cas. */
.mom-media-share-comment-attachment{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;margin-top:7px}
.mom-media-share-comment-attachment>.mom-media-share-card{flex:0 0 52px}
.mom-media-share-comment-copy{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;max-width:min(260px,calc(100% - 62px))}
.mom-media-share-comment-kind{min-width:0;font-size:10px;font-weight:600;line-height:1.15;letter-spacing:.025em;text-transform:uppercase;color:var(--text);opacity:.52;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mom-media-share-comment-title{min-width:0;font-size:12.5px;font-weight:700;line-height:1.25;color:var(--text);overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.mom-media-share-composer-preview{display:flex;align-items:center;gap:7px;width:max-content;max-width:100%;padding:5px 6px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.mom-media-share-composer-preview[hidden]{display:none}
.mom-media-share-remove{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:22px;line-height:28px;display:grid;place-items:center;cursor:pointer}
/* R8 — les boutons internes de la mini-carte ne doivent jamais hériter du gros
bouton d'envoi des composeurs Commentaires/Messages. */
.comment-form .mom-media-share-play,.personal-message-form .mom-media-share-play{width:30px;height:30px;min-width:30px;min-height:30px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.68);color:#fff;font-size:0;line-height:0;font-weight:400;align-self:auto;justify-self:auto}
.comment-form .mom-media-share-remove,.personal-message-form .mom-media-share-remove{width:28px;height:28px;min-width:28px;min-height:28px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:22px;line-height:28px;font-weight:400;align-self:auto;justify-self:auto}
.comment-form .mom-media-share-play:hover,.personal-message-form .mom-media-share-play:hover{background:rgba(0,0,0,.78)}
.comment-form .mom-media-share-remove:hover,.personal-message-form .mom-media-share-remove:hover{background:rgba(0,0,0,.68)}
/* MOM ch5.97R72 — le sélecteur de partage est une sous-fenêtre : il doit toujours passer au-dessus de la fenêtre qui l'a ouvert (Mixtape / actions piste), tout en restant sous le dock et les dialogues système. */
.mom-media-share-overlay{position:fixed;inset:0;z-index:calc(var(--mom-window-over-up-next-z,6000) + 200);display:none;align-items:center;justify-content:center;padding:16px;padding-bottom:calc(16px + var(--mom-dock-reserve,var(--mom-dock-row-height,56px)) + var(--mom-ui-bottom-inset,0px));background:rgba(0,0,0,.38);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);box-sizing:border-box}
.mom-media-share-overlay.open{display:flex}
.mom-media-share-sheet{position:relative;width:min(100%,430px);max-height:calc(100dvh - var(--mom-dock-reserve,var(--mom-dock-row-height,56px)) - var(--mom-ui-bottom-inset,0px) - 32px);margin:0 auto;padding:30px 16px 16px;border:1px solid var(--line);border-radius:22px;background:var(--panel);color:var(--text);box-shadow:0 24px 70px rgba(0,0,0,.58);display:grid;grid-template-columns:1fr 1fr;gap:9px;overflow:auto;overscroll-behavior:contain}
.mom-media-share-sheet-handle{position:absolute;top:10px;left:50%;width:66px;height:5px;border-radius:999px;background:var(--line);transform:translateX(-50%)}
.mom-media-share-title{grid-column:1/-1;display:block;justify-self:stretch;width:100%;font-size:17px;margin-bottom:2px;padding:0 38px;text-align:center}
.mom-media-share-choice-preview{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:11px;min-width:0;padding:8px 0 5px}
.mom-media-share-choice-copy{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;max-width:min(250px,calc(100% - 63px));text-align:left}
.mom-media-share-choice-kind{min-width:0;font-size:10px;font-weight:600;line-height:1.15;letter-spacing:.025em;text-transform:uppercase;color:var(--text);opacity:.52;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mom-media-share-choice-title{min-width:0;font-size:13px;font-weight:700;line-height:1.25;color:var(--text);overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.mom-media-share-destination{min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-weight:750;padding:9px 10px}
.mom-media-share-chooser-close{position:absolute;right:9px;top:8px;width:34px;height:34px;border:0;background:transparent;color:var(--text);font-size:29px;line-height:34px}
.track-row .track-media-share-btn{width:26px;height:26px;flex:0 0 26px;margin:0 -7px 0 -5px;padding:4px;border:0;border-radius:8px;background:transparent;color:var(--text-dim,#aaa);transform:translateX(4px);-webkit-tap-highlight-color:transparent}
.track-row .track-media-share-btn svg{display:block;width:18px;height:18px}
.track-row .track-media-share-btn:active{transform:translateX(4px) scale(.92)}
.track-row .track-media-share-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
@media(max-width:360px){.track-row .track-media-share-btn{width:24px;height:24px;flex-basis:24px;margin-left:-7px;margin-right:-8px;padding:3px}.track-row .track-media-share-btn svg{width:17px;height:17px}.mom-media-share-sheet{grid-template-columns:1fr}}

/* ch5.97R19 — éditeur Album : les trois options de lecture retrouvent
leur respiration historique, avec le libellé aligné à l'interrupteur et
l'aide sous chaque option. */
.album-editor-playback-options{
display:flex;
flex-direction:column;
gap:18px;
margin-top:22px;
}
.album-editor-playback-option{
display:flex;
flex-direction:column;
gap:5px;
min-width:0;
}
.album-editor-playback-option-label{
display:flex;
align-items:center;
gap:12px;
min-width:0;
margin:0;
color:var(--text);
font-size:13px;
line-height:1.25;
}
.album-editor-playback-option-label .toggle-switch{
flex:0 0 auto;
margin:0;
}
.album-editor-playback-option-label span{
min-width:0;
}
.album-editor-playback-option-help{
margin:0;
color:var(--text-dim);
font-size:11px;
line-height:1.35;
}
.album-artwork-file-name:empty{display:none;}

/* ch5.97R45 — bouton d'actions commun aux pistes Groupe et Mixtape. */
.track-row .track-more-btn,
.personal-mixtape-track .track-more-btn{
width:30px;
height:30px;
flex:0 0 30px;
margin:0 -2px 0 1px;
padding:5px;
border:0;
border-radius:8px;
background:transparent;
color:var(--text-dim);
display:grid;
place-items:center;
cursor:pointer;
-webkit-tap-highlight-color:transparent;
}
.track-row .track-more-btn .mom-material-icon,
.track-row .track-more-btn svg,
.personal-mixtape-track .track-more-btn .mom-material-icon,
.personal-mixtape-track .track-more-btn svg{
display:block;
width:20px;
height:20px;
}
.track-row .track-more-btn:active,
.personal-mixtape-track .track-more-btn:active{
transform:scale(.92);
color:var(--accent-bright);
}
.track-row .track-more-btn:focus-visible,
.personal-mixtape-track .track-more-btn:focus-visible{
outline:2px solid var(--accent);
outline-offset:1px;
}

.track-actions-overlay{
z-index:var(--mom-window-z-base,4500);
}
.track-actions-panel{
height:auto;
max-height:min(72svh,560px);
min-height:0;
padding:30px 18px 18px;
gap:0;
overflow:hidden;
}
.track-actions-overlay.open .track-actions-panel{
pointer-events:auto;
}
.track-actions-drag-handle{
position:absolute;
top:4px;
left:50%;
z-index:6;
width:64px;
height:24px;
transform:translateX(-50%);
display:grid;
place-items:start center;
padding-top:5px;
touch-action:none;
cursor:grab;
}
.track-actions-drag-handle span{
display:block;
width:38px;
height:4px;
border-radius:999px;
background:var(--line);
opacity:.9;
}
.track-actions-panel.mom-track-actions-dragging .track-actions-drag-handle{cursor:grabbing}
.track-actions-close{
position:absolute;
top:18px;
right:17px;
z-index:4;
width:34px;
height:34px;
padding:5px;
border:0;
border-radius:9px;
background:transparent;
color:var(--text);
display:grid;
place-items:center;
}
.track-actions-close svg{
width:24px;
height:24px;
}
.track-actions-header{
display:grid;
grid-template-columns:64px minmax(0,1fr) 38px;
align-items:center;
gap:12px;
padding:16px 38px 15px 4px;
border-bottom:0;
}
.track-actions-artwork{
width:64px;
height:64px;
border-radius:10px;
background:var(--bg) center/cover no-repeat;
box-shadow:0 4px 14px rgba(0,0,0,.18);
}
.track-actions-heading{
min-width:0;
align-self:center;
}
.track-actions-collection,
.track-actions-title{
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.track-actions-collection{
margin-bottom:5px;
color:var(--text-dim);
font-size:12px;
font-weight:650;
}
.track-actions-title{
color:var(--text);
font-size:16px;
font-weight:800;
line-height:1.18;
}
.track-actions-favorite-host{
width:38px;
height:38px;
display:grid;
place-items:center;
transform:translateY(7px);
}
.track-actions-favorite{
width:38px;
height:38px;
padding:7px;
margin:0 0 4px;
align-self:end;
border:0;
border-radius:9px;
background:transparent;
color:var(--text-dim);
display:grid;
place-items:center;
}
.track-actions-favorite .mom-material-icon,
.track-actions-favorite svg{
width:24px;
height:24px;
}
.track-actions-favorite[data-liked="1"]{
color:#FFD700;
}
.track-actions-list{
display:flex;
flex-direction:column;
min-height:0;
overflow-y:auto;
overscroll-behavior:contain;
-webkit-overflow-scrolling:touch;
margin-top:2px;
padding:12px 0 0;
}
.track-actions-list::before{
content:"";
display:block;
width:100%;
height:1px;
margin:0 0 8px;
background:var(--line);
opacity:.95;
}
.track-actions-item{
width:100%;
min-height:52px;
padding:10px 7px;
border:0;
border-bottom:0;
border-radius:0;
background:transparent;
color:var(--text);
display:grid;
grid-template-columns:34px minmax(0,1fr);
align-items:center;
gap:12px;
text-align:left;
font:inherit;
cursor:pointer;
}
.track-actions-item:last-child{
border-bottom:0;
}
.track-actions-item:active{
background:color-mix(in srgb,var(--accent) 10%,transparent);
}
.track-actions-item:focus-visible{
outline:2px solid var(--accent);
outline-offset:-2px;
}
.track-actions-item[hidden]{
display:none;
}
.track-actions-icon{
width:30px;
height:30px;
color:var(--text-dim);
display:grid;
place-items:center;
}
.track-actions-icon svg{
width:25px;
height:25px;
display:block;
}
.track-actions-icon .mom-mixtape-add-icon{
width:25px;
height:21px;
}
.track-actions-queue-icon svg{
width:28px;
height:28px;
}
.track-actions-copy{
min-width:0;
display:flex;
flex-direction:column;
justify-content:center;
gap:3px;
}
.track-actions-kicker{
min-width:0;
color:var(--text-dim);
font-size:11px;
font-weight:650;
line-height:1.15;
}
.track-actions-label{
min-width:0;
color:var(--text);
font-size:14px;
font-weight:700;
line-height:1.2;
}
@media(max-width:360px){
.track-actions-panel{padding-left:14px;padding-right:14px}
.track-actions-header{grid-template-columns:58px minmax(0,1fr) 36px;gap:10px}
.track-actions-artwork{width:58px;height:58px}
.track-actions-favorite{margin-bottom:0}
.track-actions-item{min-height:49px}
}


/* ch5.97R44 — le runtime tardif active la vue simplifiée seulement après
avoir décoré les lignes. En cas d’échec du module, les contrôles R41 restent
visibles et la page reste pleinement utilisable. */
html.mom-track-actions-ready .track-row > .dl-btn,
html.mom-track-actions-ready .track-row > .track-like-btn,
html.mom-track-actions-ready .track-row > .track-mixtape-btn,
html.mom-track-actions-ready .track-row > .track-media-share-btn{
display:none;
}
/* ch5.97R45 — dans une Mixtape, Achat/Favori restent montés comme actions
canoniques de secours, mais la vue simplifiée n'affiche que durée + ⋮. */
html.mom-track-actions-ready .personal-mixtape-track > .personal-mixtape-track-actions{
display:none;
}
html.mom-personal-page #personalSettingsOverlay > .personal-control-sheet > .mom-personal-shell-close{
z-index:60;
pointer-events:auto;
}
