/* Styles de nom des soutiens (cosmetics-store.php / name-style-ui.js) sur l'étiquette du joueur (#label), celles des autres
   (.remote-player-label) et les aperçus (.rv-name-preview). data-name-style = style, data-tier = palier (badge), data-title = titre. */
:root{--rv-tier-follower:#e9cf8a;--rv-tier-cawotte:#ff9d47;--rv-tier-pourpre:#cf8cff;--rv-tier-turquoise:#4fe3d2;--rv-tier-vulbis:#93a9ff;--rv-tier-tachete:#ffd84a}
.rv-name-preview{display:inline-block;font:700 11.5px/1.3 var(--font-ui,"Nunito Sans",sans-serif);padding:3px 7px;border-radius:5px;background:#182917d9;color:#ecffd2;border:1px solid #bbd98670;white-space:nowrap}
/* Couleurs et lueur portées par des variables enregistrées (@property) : les animations passent malgré les !important du thème. */
@property --ns{syntax:'<color>';inherits:true;initial-value:#ffe9a8}
@property --ns-glow{syntax:'<color>';inherits:true;initial-value:#ffcf5a}
@property --ns-blur{syntax:'<length>';inherits:false;initial-value:6px}
@property --ns-pos{syntax:'<percentage>';inherits:false;initial-value:0%}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-name-style]:not([data-name-style=""]){background:linear-gradient(#211a12f2,#15100af2) padding-box,linear-gradient(135deg,var(--ns-glow),#fff6,var(--ns-glow)) border-box!important;border:1.5px solid transparent!important;border-radius:6px!important;color:var(--ns)!important;text-shadow:0 0 var(--ns-blur) var(--ns-glow),0 1px 1px #000!important;box-shadow:0 0 calc(var(--ns-blur) * 1.7) color-mix(in srgb,var(--ns-glow) 55%,transparent),0 2px 6px #0007!important;max-width:190px!important;overflow:visible!important}html[data-theme]:where([data-theme="nuit"]) :is(#label,.remote-player-label,.rv-name-preview)[data-name-style]:not([data-name-style=""]){background:linear-gradient(#131820f2,#0b0e14f2) padding-box,linear-gradient(135deg,var(--ns-glow),#fff6,var(--ns-glow)) border-box!important}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-name-style][data-name-style="palier"]{--ns:var(--rv-tier,#ffe9a8);--ns-glow:var(--rv-tier,#ffcf5a)}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-name-style][data-name-style="or"]{--ns:#ffe08a;--ns-glow:#e6a817}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-name-style][data-name-style="givre"]{--ns:#e3f9ff;--ns-glow:#66cfff;animation:rvNsFrost 3.2s ease-in-out infinite}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-name-style][data-name-style="braise"]{--ns:#ffc078;--ns-glow:#ff5a1f;animation:rvNsEmber 1.4s ease-in-out infinite}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-name-style][data-name-style="sylve"]{--ns:#caff9c;--ns-glow:#3fcf5c}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-name-style][data-name-style="astral"]{--ns:#f0e4ff;--ns-glow:#9b5cff;background:radial-gradient(circle at 18% 30%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 72% 70%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 46% 20%,#d9c4ff 0 .8px,transparent 1.3px),linear-gradient(#22123af2,#120a24f2) padding-box,linear-gradient(135deg,#9b5cff,#fff8,#5c7bff) border-box!important;animation:rvNsTwinkle 2.6s ease-in-out infinite}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-name-style][data-name-style="holo"]{--ns:#ffd1f2;--ns-glow:#ff7ad9;background:linear-gradient(#17121ef2,#0f0b16f2) padding-box,linear-gradient(90deg,#ff7ad9,#7af5ff,#b8ff7a,#ffe57a,#ff7ad9,#7af5ff,#b8ff7a,#ffe57a,#ff7ad9) border-box!important;background-size:100% 100%,200% 100%!important;background-position:0 0,var(--ns-pos) 0!important;animation:rvNsHolo 4s linear infinite}
@keyframes rvNsFrost{50%{--ns-blur:11px;--ns-glow:#a8e6ff}}
@keyframes rvNsEmber{0%,100%{--ns-blur:5px;--ns-glow:#ff5a1f}50%{--ns-blur:11px;--ns-glow:#ffae3d}}
@keyframes rvNsTwinkle{50%{--ns-blur:10px;--ns-glow:#c7a2ff}}
@keyframes rvNsHolo{0%{--ns-pos:0%;--ns:#ffd1f2;--ns-glow:#ff7ad9}25%{--ns:#c9fbff;--ns-glow:#7af5ff}50%{--ns:#efffc9;--ns-glow:#b8ff7a}75%{--ns:#fff3c4;--ns-glow:#ffe57a}100%{--ns-pos:100%;--ns:#ffd1f2;--ns-glow:#ff7ad9}}
@media(prefers-reduced-motion:reduce){html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-name-style]{animation:none!important}}
/* Badge du palier devant le nom (Dofus du palier ; étoile pour Follower). */
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-tier]:not([data-tier=""]):not([data-tier="none"])::before{content:"";display:inline-block;width:12px;height:12px;margin:-2px 4px 0 0;vertical-align:middle;background:center/contain no-repeat url(ui-assets/experience.svg);filter:drop-shadow(0 0 2px #000)}
:is(#label,.remote-player-label,.rv-name-preview)[data-tier="cawotte"]{--rv-tier:var(--rv-tier-cawotte)}:is(#label,.remote-player-label,.rv-name-preview)[data-tier="cawotte"]::before{background-image:url(ui-assets/dofus-cawotte.svg)!important}
:is(#label,.remote-player-label,.rv-name-preview)[data-tier="pourpre"]{--rv-tier:var(--rv-tier-pourpre)}:is(#label,.remote-player-label,.rv-name-preview)[data-tier="pourpre"]::before{background-image:url(ui-assets/dofus-pourpre.svg)!important}
:is(#label,.remote-player-label,.rv-name-preview)[data-tier="turquoise"]{--rv-tier:var(--rv-tier-turquoise)}:is(#label,.remote-player-label,.rv-name-preview)[data-tier="turquoise"]::before{background-image:url(ui-assets/dofus-turquoise.svg)!important}
:is(#label,.remote-player-label,.rv-name-preview)[data-tier="vulbis"]{--rv-tier:var(--rv-tier-vulbis)}:is(#label,.remote-player-label,.rv-name-preview)[data-tier="vulbis"]::before{background-image:url(ui-assets/dofus-vulbis.svg)!important}
:is(#label,.remote-player-label,.rv-name-preview)[data-tier="tachete"]{--rv-tier:var(--rv-tier-tachete)}:is(#label,.remote-player-label,.rv-name-preview)[data-tier="tachete"]::before{background-image:url(ui-assets/dofus-tachete.svg)!important}
:is(#label,.remote-player-label,.rv-name-preview)[data-tier="follower"]{--rv-tier:var(--rv-tier-follower)}
/* Titre « Bienfaiteur d'Astrub » (24 h après un palier) sous le nom. */
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-title]:not([data-title=""])::after{content:attr(data-title);display:block;font:italic 700 10px/1.2 var(--font-ui,sans-serif);letter-spacing:.03em;color:#ffd76a;text-shadow:0 0 5px #e6a817,0 1px 1px #000;text-align:center}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-title]:not([data-title=""]):not([data-name-style]),html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-title]:not([data-title=""])[data-name-style][data-name-style=""]{background:linear-gradient(#2a2010f2,#17110af2) padding-box,linear-gradient(135deg,#ffd76a,#fff8,#e6a817) border-box!important;border:1.5px solid transparent!important;color:#fff3cf!important;box-shadow:0 0 12px #e6a81788!important;max-width:190px!important;overflow:visible!important}
/* Boss mondiaux (monster-groups.js) : étiquette toujours visible au-dessus du groupe. */
.monster-tag.world-boss{display:block;border:2px solid #ffcf5a!important;background:linear-gradient(#5a1d0cf2,#2c0d05f2)!important;box-shadow:0 0 16px #ff8a2a99,0 3px 12px #0008!important;animation:rvBossPulse 1.8s ease-in-out infinite;text-align:center!important}:where(html[data-theme="nuit"]) .monster-tag.world-boss{background:linear-gradient(#1f2e47f2,#0f1622f2)!important}
.monster-tag.world-boss b{color:#ffe08a!important;font-size:12.5px;letter-spacing:.03em}.monster-tag.world-boss small{color:#ffd9b8!important}
@keyframes rvBossPulse{50%{box-shadow:0 0 26px #ffb04acc,0 3px 12px #0008}}
/* MJ invisible (/invisible) : rappel permanent à l'écran du MJ, nom et personnage en transparence. */
body.mj-invisible #label::before{content:"\1f47b  ";}
body.mj-invisible #label{opacity:.75}
body.mj-invisible::after{content:"\1f47b  Invisible pour les joueurs \2014  /visible pour r\e9 appara\ee tre";position:fixed;z-index:65;left:50%;top:calc(env(safe-area-inset-top,0px) + 10px);transform:translateX(-50%);padding:5px 14px;border:1.5px solid #b9a5ff;border-radius:999px;background:linear-gradient(#2c2146f2,#18122af2);color:#e8dcff;font:700 12.5px var(--font-ui,sans-serif);box-shadow:0 0 14px #8f6bff88,0 3px 10px #0008;pointer-events:none;white-space:nowrap}
/* Rappel « invisible » : en bas, discret, pour ne jamais masquer la barre du haut (surtout sur mobile). */
body.mj-invisible::after{top:auto!important;bottom:calc(var(--hud-dock-height,150px) + 14px)!important;font-size:12px!important;padding:3px 12px!important;opacity:.9}
@media (max-width:700px){body.mj-invisible::after{content:"\1f47b  Invisible"!important;bottom:calc(env(safe-area-inset-bottom,0px) + 96px)!important;font-size:11.5px!important}}

/* ===== Effets du nom réglables (12/10/2026) : lumineux, brillance, chromatique ; œuf du palier ===== */
:is(#label,.remote-player-label,.rv-name-preview)[data-tier="follower"]::before{background-image:url(ui-assets/dofus-follower.svg)!important}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-glow="1"]{text-shadow:0 0 6px var(--ns-glow,#ffcf5a),0 0 12px var(--ns-glow,#ffcf5a),0 1px 1px #000!important}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-glow="2"]{animation:rvFxPulse 1.6s ease-in-out infinite!important}
@keyframes rvFxPulse{0%,100%{text-shadow:0 0 4px var(--ns-glow,#ffcf5a),0 1px 1px #000}50%{text-shadow:0 0 10px var(--ns-glow,#ffcf5a),0 0 20px var(--ns-glow,#ffcf5a),0 1px 1px #000}}
/* Brillance : éclat périodique (le fond du style reste intact) ; avec Chromatique, les deux dans une même animation de filtre */
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-shine]{animation:rvFxGlint 3.2s ease-in-out infinite}
@keyframes rvFxGlint{0%,62%,100%{filter:none}72%{filter:brightness(1.55) drop-shadow(0 0 5px #fff)}80%{filter:brightness(1.15)}}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-chroma]{animation:rvFxChroma 6s linear infinite}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-chroma][data-fx-shine]{animation:rvFxChromaGlint 6s linear infinite}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-chroma][data-fx-glow="2"]{animation:rvFxChroma 6s linear infinite,rvFxPulse 1.6s ease-in-out infinite!important}
@keyframes rvFxChroma{to{filter:hue-rotate(360deg)}}
@keyframes rvFxChromaGlint{0%{filter:hue-rotate(0deg)}30%{filter:hue-rotate(108deg)}35%{filter:hue-rotate(126deg) brightness(1.55) drop-shadow(0 0 5px #fff)}40%{filter:hue-rotate(144deg)}80%{filter:hue-rotate(288deg)}85%{filter:hue-rotate(306deg) brightness(1.55) drop-shadow(0 0 5px #fff)}90%{filter:hue-rotate(324deg)}100%{filter:hue-rotate(360deg)}}
/* Chat : même style en version texte (sans cadre) */
.chat-author[data-chat-ns]{color:var(--ns,#ffe9a8)!important;font-weight:800}
.chat-author[data-chat-ns="palier"]{--ns:#ffd27a}.chat-author[data-chat-ns="or"]{--ns:#ffd24a}.chat-author[data-chat-ns="givre"]{--ns:#7fd8ff}.chat-author[data-chat-ns="braise"]{--ns:#ff8a3d}.chat-author[data-chat-ns="sylve"]{--ns:#6fe07a}.chat-author[data-chat-ns="astral"]{--ns:#b98cff}.chat-author[data-chat-ns="holo"]{--ns:#ff7ad9}
.chat-author[data-fx-glow]{text-shadow:0 0 6px color-mix(in srgb,var(--ns,#ffcf5a) 80%,transparent)}
.chat-author[data-fx-glow="2"]{animation:rvFxChatPulse 1.6s ease-in-out infinite}
@keyframes rvFxChatPulse{50%{text-shadow:0 0 12px var(--ns,#ffcf5a),0 0 3px var(--ns,#ffcf5a)}}
.chat-author[data-fx-shine]{animation:rvFxGlint 3.2s ease-in-out infinite}
.chat-author[data-fx-shine][data-fx-chroma]{animation:rvFxChromaGlint 6s linear infinite}
.chat-author[data-fx-chroma]{animation:rvFxChroma 6s linear infinite}
@media(prefers-reduced-motion:reduce){:is(#label,.remote-player-label,.rv-name-preview,.chat-author)[data-fx-glow],:is(#label,.remote-player-label,.rv-name-preview,.chat-author)[data-fx-shine],:is(#label,.remote-player-label,.rv-name-preview,.chat-author)[data-fx-chroma]{animation:none!important}}
/* Fenêtre « Style du nom » : effets */
.ns-fx{display:grid;gap:8px;padding:10px;border-radius:8px;background:#0000000f;border:1px solid #8a806455}:where(html[data-theme="nuit"]) .ns-fx{border:1px solid #5a6f9455}
.ns-fx h3{margin:0;font-size:13.5px}
.ns-fx-preview{display:flex;justify-content:center;padding:12px;border-radius:6px;background:radial-gradient(circle at 50% 40%,#4d6b3a,#22311a)}
.ns-fx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.ns-fx-opt{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;background:#ffffff59;border:1px solid #8a806466;font-size:12.5px;font-weight:700;cursor:pointer}:where(html[data-theme="nuit"]) .ns-fx-opt{border:1px solid #5a6f9466}
.ns-fx-opt select{margin-left:auto;font-size:12px}
.ns-fx-opt small{width:100%;font-weight:600;opacity:.7}
.ns-fx-opt.is-locked{opacity:.55;cursor:not-allowed}
/* Encadrements du pseudo (13/10/2026, à la DOFUS 3) : data-fx-frame sur l'étiquette ; intérieur sombre, bordure décorée en dégradé, lueur. */
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-frame]:not([data-fx-frame=""]){--fr-in:#1d150d;--fr-a:#8a5a2b;--fr-b:#e2b36a;--fr-glow:transparent;padding:4px 12px!important;border:2px solid transparent!important;border-radius:5px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--fr-in) 92%,#fff),var(--fr-in)) padding-box,linear-gradient(135deg,var(--fr-a),var(--fr-b) 30%,var(--fr-a) 50%,var(--fr-b) 70%,var(--fr-a)) border-box!important;box-shadow:0 0 0 1px #0009,0 0 10px var(--fr-glow),inset 0 1px 0 #ffffff26,0 3px 8px #0008!important;overflow:visible!important}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-frame="bois"]:not([data-fx-frame=""]){--fr-in:#2a1d10;--fr-a:#6b4423;--fr-b:#c08a4e}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-frame="parchemin"]:not([data-fx-frame=""]){--fr-in:#3a2c18;--fr-a:#bfa36a;--fr-b:#f5e6bd;border-style:double!important;border-width:3px!important}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-frame="feuillage"]:not([data-fx-frame=""]){--fr-in:#14240f;--fr-a:#2f6b1f;--fr-b:#9fdc6a;--fr-glow:#6fcf4a55;border-radius:12px 3px 12px 3px!important}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-frame="or"]:not([data-fx-frame=""]){--fr-in:#241808;--fr-a:#a8740f;--fr-b:#ffe7a0;--fr-glow:#ffcf5a77}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-frame="givre"]:not([data-fx-frame=""]){--fr-in:#0e1d2a;--fr-a:#4fa8d8;--fr-b:#e8fbff;--fr-glow:#8fe3ff88;border-radius:3px 10px 3px 10px!important}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-frame="braise"]:not([data-fx-frame=""]){--fr-in:#2a0f06;--fr-a:#b8320c;--fr-b:#ffb347;--fr-glow:#ff6a2a88;animation:rvFrEmber 1.6s ease-in-out infinite}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-frame="royal"]:not([data-fx-frame=""]){--fr-in:#1e0f2c;--fr-a:#6b2fa0;--fr-b:#ffd76a;--fr-glow:#b46bff66;border-width:3px!important;border-radius:8px!important}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-frame="astral"]:not([data-fx-frame=""]){--fr-in:#0c0b22;--fr-glow:#8c7bff88;background:linear-gradient(180deg,#17153a,#0c0b22) padding-box,conic-gradient(from var(--fr-turn,0deg),#ff6bd5,#7bd3ff,#b6ff7b,#ffe27b,#ff6bd5) border-box!important;animation:rvFrAstral 4s linear infinite}
html[data-theme] :is(#label,.remote-player-label,.rv-name-preview)[data-fx-frame="mj"]:not([data-fx-frame=""]){--fr-in:#2a0808;--fr-a:#a3161a;--fr-b:#ffd76a;--fr-glow:#ff3b3b77;border-width:3px!important;border-radius:3px!important;box-shadow:0 0 0 1px #000,0 0 0 4px #a3161a55,0 0 14px var(--fr-glow),0 3px 8px #0008!important}
@property --fr-turn{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes rvFrAstral{to{--fr-turn:360deg}}
@keyframes rvFrEmber{50%{--fr-glow:#ffb34799}}
@media (prefers-reduced-motion:reduce){:is(#label,.remote-player-label,.rv-name-preview)[data-fx-frame]{animation:none!important}}
/* panneau « Apparence du pseudo » */
#name-style-dialog .ns-hero{display:grid;justify-items:center;gap:6px;padding:18px 12px 12px;border-radius:10px;background:radial-gradient(ellipse at 50% 35%,#4d6b3a,#1b2614);color:#f3ecd2;text-align:center}
#name-style-dialog .ns-hero .rv-name-preview{font-size:15px;padding:5px 12px}
#name-style-dialog .ns-hero .ns-hero-title{font:italic 700 12px/1.2 var(--font-ui,sans-serif);color:#ffd76a;text-shadow:0 0 5px #e6a817;min-height:14px}
#name-style-dialog .ns-hero small{font-size:11.5px;opacity:.85}
#name-style-dialog .ns-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
#name-style-dialog .ns-tabs button{min-height:34px;border:1px solid #c9b47c;border-radius:8px;background:#fffaf0;font:700 12.5px var(--font-ui,sans-serif);color:#3d3420;cursor:pointer}
#name-style-dialog .ns-tabs button[aria-pressed=true]{background:linear-gradient(#f2a64a,#d7791a);border-color:#a0520a;color:#fff}
#name-style-dialog .ns-tab-body{min-height:150px}
#name-style-dialog .ns-list{display:grid;gap:5px}
#name-style-dialog .ns-pick{display:grid;text-align:left;gap:1px;padding:8px 11px;border:1px solid #d6c79a;border-radius:9px;background:#fffaf0;cursor:pointer;font:inherit;color:#2b2214}
#name-style-dialog .ns-pick b{font-size:13px}#name-style-dialog .ns-pick small{font-size:11.5px;color:#7a6d4f}
#name-style-dialog .ns-pick.is-on{border-color:#e07b17;box-shadow:0 0 0 2px #e07b1755;background:#fff1d6}
#name-style-dialog .ns-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
#name-style-dialog .ns-actions .ns-save{min-height:38px;padding:0 22px;border-radius:9px;border:1px solid #a0520a;background:linear-gradient(#f2a64a,#d7791a);color:#fff;font:800 13.5px var(--font-ui,sans-serif);cursor:pointer}
#name-style-dialog .ns-frames .ns-option{background:radial-gradient(circle at 50% 30%,#4d6b3a,#22311b)}

/* guilde comme DOFUS Rétro (16/10/2026) : grand emblème à gauche sur toute la hauteur du cadre, nom de la guilde au-dessus du pseudo, aligné à gauche */
html[data-theme] body :is(#label,.remote-player-label).has-guild.has-guild:not([data-x-none]):not([data-y-none]){overflow:visible!important;padding:21px 12px 5px 48px!important;min-width:calc(var(--gl,8) * .62em + 62px);max-width:none!important;box-sizing:border-box;text-align:left!important;min-height:44px}
html[data-theme] body :is(#label,.remote-player-label).has-guild.has-guild::after{text-align:left!important}
:is(#label,.remote-player-label) .lbl-guild{position:absolute;left:7px;top:0;bottom:0;right:10px;display:flex;align-items:center;pointer-events:none}
:is(#label,.remote-player-label) .lbl-guild .rv-emblem{flex:none;filter:drop-shadow(0 1px 2px #000c)}
:is(#label,.remote-player-label) .lbl-guild::after{content:attr(data-name);position:absolute;left:41px;right:0;top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 12px/14px var(--font-ui,sans-serif);color:#efe6cf;text-shadow:0 1px 2px #000;letter-spacing:.01em;font-style:normal}
