#multiplayer{font:600 12px/1.5 var(--font-ui,"Nunito Sans",sans-serif);color:var(--theme-ink)}#multiplayer [hidden]{display:none!important}#multiplayer button,#multiplayer a{font:700 12px/1.4 var(--font-ui,"Nunito Sans",sans-serif)}#multiplayer-toggle{position:fixed;right:12px;top:126px;z-index:7;display:flex;align-items:center;gap:7px;border:1px solid var(--theme-chrome-line);border-radius:10px;background:var(--theme-chrome);color:var(--theme-chrome-text);padding:8px 12px;min-height:40px;box-shadow:0 4px 15px #0002}#multiplayer-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}#multiplayer-count{min-width:17px;text-align:center;border-radius:5px;background:var(--theme-gold);color:var(--theme-gold-ink);font-size:11.5px}#multiplayer-panel{position:fixed;z-index:31;right:12px;top:174px;width:min(390px,calc(100vw - 24px));max-height:calc(100dvh - 200px);background:var(--theme-bg);border:1px solid var(--theme-border);border-radius:15px;box-shadow:0 20px 60px #15231155;overflow:auto;overscroll-behavior:contain}#multiplayer-panel>header{position:sticky;top:0;z-index:1;background:var(--theme-paper);display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--theme-border)}#multiplayer-panel header small{font-size:11.5px;letter-spacing:.7px;color:var(--theme-muted)}#multiplayer-panel h2{font:400 24px/1.2 var(--font-display,"Bree Serif",serif);margin:3px 0 0}#multiplayer-panel button{color:var(--theme-ink);background:var(--theme-card);border:1px solid var(--theme-border);border-radius:7px;padding:7px 10px;min-height:36px;cursor:pointer}#multiplayer-panel [data-mp-close]{font-size:24px;padding:0;width:36px}#multiplayer-panel button:hover{filter:brightness(1.04)}#multiplayer-panel button:disabled{opacity:.45;cursor:default}#multiplayer-status{padding:10px 16px;border-bottom:1px solid var(--theme-border);font-size:11.5px;color:var(--theme-muted)}#multiplayer-status[data-state="reconnecting"]{color:var(--theme-negative)}#multiplayer-body{padding:0 16px 18px}#multiplayer-body h3{font:400 19px var(--font-display,"Bree Serif",serif);margin:20px 0 10px}#multiplayer .mp-note{font-size:12px;color:var(--theme-muted);line-height:1.6;margin:10px 0}#multiplayer .mp-person{display:flex;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--theme-border) 40%,transparent)}#multiplayer .mp-person img{width:32px;height:38px;object-fit:contain;flex-shrink:0}#multiplayer .mp-person>div{flex:1;min-width:0}#multiplayer .mp-person strong{display:block;overflow-wrap:anywhere;font-size:12px}#multiplayer .mp-person small{display:block;font-size:11.5px;color:var(--theme-muted)}#multiplayer .mp-person button{font-size:11.5px;padding:6px;min-height:34px}#multiplayer .mp-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--theme-accent);color:var(--theme-accent-text);border-color:var(--theme-accent);border-radius:7px;padding:9px 12px;text-decoration:none;min-height:38px}#multiplayer .mp-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}#multiplayer .mp-access{display:flex;flex-wrap:wrap;gap:5px;border:0;padding:0;margin:14px 0}#multiplayer .mp-access legend{font-size:12px;font-weight:800;margin-bottom:8px}#multiplayer .mp-access button[aria-pressed="true"]{background:var(--theme-accent-soft);border-color:var(--theme-accent);color:var(--theme-accent-ink)}.remote-player-label{position:fixed;z-index:2;pointer-events:none;transform:translate(-50%,-100%);font:700 11.5px/1.3 var(--font-ui,"Nunito Sans",sans-serif);color:#ecffd2;background:#182917d9;border:1px solid #bbd98670;border-radius:5px;padding:3px 6px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-player-label.ally{color:#d1faff;border-color:#6fd5ec80}.remote-player-label.enemy{color:#ffddc1;border-color:#e5936580}
@media(max-width:700px),(max-width:1000px) and (max-height:500px){#multiplayer-toggle{top:calc(env(safe-area-inset-top,0px) + 63px);right:10px;min-height:34px;padding:6px 9px;font-size:11.5px}#multiplayer-panel{top:calc(env(safe-area-inset-top,0px) + 104px);right:8px;width:calc(100vw - 16px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 180px)}#multiplayer-panel>header{padding:12px 14px}#multiplayer-body{padding:0 14px 16px}body.in-battle #multiplayer-toggle{top:calc(env(safe-area-inset-top,0px) + 72px);right:10px}body.in-battle #multiplayer-panel{top:calc(env(safe-area-inset-top,0px) + 113px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - var(--mobile-combat-dock-height,138px) - 130px)}}
#multiplayer .mp-reward-totals{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}#multiplayer .mp-reward-totals>span{display:flex;align-items:center;gap:7px;background:var(--theme-card);border:1px solid var(--theme-border);border-radius:8px;padding:9px 12px;font-size:14px}#multiplayer .mp-reward-totals img{width:22px;height:22px;object-fit:contain}#multiplayer .mp-loot{display:grid;gap:6px;margin:12px 0}#multiplayer .mp-loot>div{display:flex;align-items:center;gap:9px;background:var(--theme-card);border:1px solid var(--theme-border);padding:8px;border-radius:8px}#multiplayer .mp-loot img{width:36px;height:36px;object-fit:contain}#multiplayer .mp-loot span{flex:1;font-size:12px;overflow-wrap:anywhere}#multiplayer .mp-loot strong{font-size:13px;color:var(--theme-accent-ink)}
/* Compact contextual combat cards; social tools live in their own view. */
#multiplayer-toggle{min-height:44px}#multiplayer-panel{top:178px;width:min(360px,calc(100vw - 24px));max-height:min(560px,calc(100dvh - 198px));border-radius:14px;scrollbar-width:thin}#multiplayer-panel>header{gap:5px;padding:10px 10px 10px 14px}#multiplayer-panel>header>div{flex:1;min-width:0}#multiplayer-eyebrow{display:block;font-size:11.5px;letter-spacing:.6px}#multiplayer-panel h2{font-size:22px;line-height:1.15;overflow-wrap:anywhere}#multiplayer-panel button,#multiplayer-panel summary,#multiplayer .mp-person button{min-height:44px}#multiplayer-panel [data-mp-close]{min-width:44px;background:transparent;border-color:transparent}#multiplayer-panel #multiplayer-social{background:transparent;border-color:transparent;color:var(--theme-muted);font-size:11.5px;padding:8px 5px}#multiplayer-panel :focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}#multiplayer-status{margin:10px 14px 0;padding:9px 10px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-card);color:var(--theme-negative)}#multiplayer-body{padding:12px 14px 14px}#multiplayer .mp-note{font-size:11.5px;line-height:1.55;margin:9px 0}#multiplayer .mp-primary{min-height:44px;border-radius:8px}#multiplayer .mp-secondary{background:var(--theme-card)}#multiplayer .mp-quiet{background:transparent;border-color:transparent;color:var(--theme-muted)}#multiplayer .mp-actions{display:flex;flex-wrap:nowrap;gap:8px;margin:12px 0 0}#multiplayer .mp-actions>.mp-primary{flex:1}#multiplayer .mp-actions>.mp-secondary{flex:0 0 auto}#multiplayer .mp-shortcut{width:100%;text-align:left;color:var(--theme-accent-ink);background:var(--theme-accent-soft);margin-bottom:10px}
#multiplayer .mp-target{display:flex;align-items:center;gap:10px;background:var(--theme-card);padding:10px;border:1px solid var(--theme-border);border-radius:10px}#multiplayer .mp-target>div:last-child{min-width:0}#multiplayer .mp-target strong{display:block;font-size:13px;line-height:1.4}#multiplayer .mp-target small{display:block;color:var(--theme-muted);font-size:11.5px;margin-top:3px}#multiplayer .mp-target-art{display:flex;align-items:center;flex:0 0 65px;justify-content:center}#multiplayer .mp-target-art img{width:36px;height:48px;object-fit:contain;margin-left:-12px}#multiplayer .mp-target-art img:first-child{margin-left:0}#multiplayer .mp-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}#multiplayer .mp-mode button[aria-pressed="true"]{background:var(--theme-accent-soft);border-color:var(--theme-accent);color:var(--theme-accent-ink)}#multiplayer .mp-access{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:4px;margin:10px 0}#multiplayer .mp-access legend{font-size:11.5px;margin-bottom:7px}#multiplayer .mp-access button{font-size:11.5px;padding:7px 4px}
#multiplayer .mp-roster{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 10px}#multiplayer .mp-person{gap:8px;padding:7px 0;min-width:0;border:0}#multiplayer .mp-person img{width:28px;height:34px}#multiplayer .mp-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#multiplayer .mp-person button{padding:7px;flex-shrink:0}#multiplayer .mp-roster>.mp-person{padding:7px;background:var(--theme-card);border:1px solid color-mix(in srgb,var(--theme-border) 65%,transparent);border-radius:8px}#multiplayer .mp-details{border-top:1px solid color-mix(in srgb,var(--theme-border) 65%,transparent);margin-top:10px}#multiplayer .mp-details>summary{font-size:11.5px;font-weight:800;color:var(--theme-muted);display:list-item;align-content:center;line-height:1.4;padding:12px 0;list-style-position:inside;cursor:pointer}#multiplayer .mp-details[open]>summary{color:var(--theme-ink)}#multiplayer .mp-details .mp-details{margin-top:5px}#multiplayer .mp-invitation{display:flex;align-items:center;gap:10px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-card);padding:8px;margin-bottom:9px}#multiplayer .mp-invitation>div{flex:1;min-width:0}#multiplayer .mp-invitation strong,#multiplayer .mp-invitation small{display:block;font-size:12px;overflow-wrap:anywhere}#multiplayer .mp-invitation small{font-size:11.5px;color:var(--theme-muted)}
#multiplayer .mp-reward-totals{margin:0 0 10px;flex-wrap:nowrap}#multiplayer .mp-reward-totals>span{flex:1;padding:10px;font-size:13px}#multiplayer .mp-reward-totals img{width:21px;height:21px}#multiplayer .mp-loot{gap:5px;margin:10px 0;max-height:156px;overflow:auto;scrollbar-width:thin}#multiplayer .mp-loot>div{gap:8px;padding:7px}#multiplayer .mp-loot img{width:30px;height:30px}
@media(max-width:700px),(max-width:1000px) and (max-height:500px){#multiplayer-toggle{top:calc(env(safe-area-inset-top,0px) + 60px);right:8px;min-height:44px;padding:7px 10px}#multiplayer-panel{top:calc(env(safe-area-inset-top,0px) + 109px);right:8px;width:min(360px,calc(100vw - 16px));max-height:min(530px,calc(100dvh - env(safe-area-inset-top,0px) - 185px))}#multiplayer-panel>header{padding:9px 8px 9px 12px}#multiplayer-panel h2{font-size:21px}#multiplayer-body{padding:11px 12px 12px}body.in-battle #multiplayer-toggle{top:calc(env(safe-area-inset-top,0px) + 70px)}body.in-battle #multiplayer-panel{top:calc(env(safe-area-inset-top,0px) + 119px);max-height:min(530px,calc(100dvh - env(safe-area-inset-top,0px) - var(--mobile-combat-dock-height,138px) - 135px))}}
/* Keep group controls below the combat HUD; small landscape panels use the
   available screen height instead of subtracting the spell dock twice. */
@media(max-width:700px){
 body.in-battle #multiplayer-toggle{top:calc(124px + var(--mobile-safe-top,env(safe-area-inset-top,0px)))}
 body.in-battle #multiplayer-panel{top:calc(176px + var(--mobile-safe-top,env(safe-area-inset-top,0px)));max-height:min(530px,calc(100dvh - var(--mobile-safe-top,env(safe-area-inset-top,0px)) - var(--mobile-safe-bottom,env(safe-area-inset-bottom,0px)) - var(--mobile-combat-height,130px) - 192px))}
}
@media(max-width:1000px) and (max-height:500px){
 #multiplayer-toggle,body.in-battle #multiplayer-toggle{top:calc(68px + var(--mobile-safe-top,env(safe-area-inset-top,0px)))}
 #multiplayer-panel,body.in-battle #multiplayer-panel{top:calc(68px + var(--mobile-safe-top,env(safe-area-inset-top,0px)));width:min(360px,calc(100vw - 16px));max-height:calc(100dvh - var(--mobile-safe-top,env(safe-area-inset-top,0px)) - var(--mobile-safe-bottom,env(safe-area-inset-bottom,0px)) - 84px)}
 body.multiplayer-open #multiplayer-toggle{visibility:hidden;pointer-events:none}
}
/* Invitations de groupe / combat : notification façon DOFUS Rétro (parchemin, barre brune, Accepter orange). */
#mp-toasts{position:fixed;top:calc(env(safe-area-inset-top,0px) + 70px);left:50%;transform:translateX(-50%);z-index:70;display:flex;flex-direction:column;gap:6px;width:min(320px,calc(100vw - 32px));pointer-events:none}
#mp-toasts .mp-toast{pointer-events:auto;border:2px solid var(--rs-frame,#5b5242);border-radius:3px;background:var(--window-paper,#e5dfc4);color:#1b1710;box-shadow:0 0 0 1px #0008,inset 0 0 0 1px #fff9,0 6px 18px #0006;font:12px/1.4 Verdana,Tahoma,sans-serif;animation:mp-toast-in .18s ease-out}:where(html[data-theme="nuit"]) #mp-toasts .mp-toast{border:2px solid var(--rs-frame,#3c4961)}
#mp-toasts .mp-toast header{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:24px;padding:2px 3px 2px 8px;background:linear-gradient(180deg,#6b6150,#4a4234 55%,#3b3428);border-bottom:1px solid #1d1910}:where(html[data-theme="nuit"]) #mp-toasts .mp-toast header{background:linear-gradient(180deg,#475874,#303b4e 55%,#252e3e);border-bottom:1px solid #10151d}
#mp-toasts .mp-toast header strong{color:#fff6dc;font-weight:700;text-shadow:0 1px 0 #000a}
#mp-toasts .mp-toast-close{width:20px;height:20px;padding:0;border:1px solid #9a8f70;border-radius:2px;background:#2c261b;color:#fff3d6;font:700 14px/1 Verdana,sans-serif;cursor:pointer}:where(html[data-theme="nuit"]) #mp-toasts .mp-toast-close{background:#1a212d}
#mp-toasts .mp-toast p{margin:7px 9px;font-weight:700}
#mp-toasts .mp-toast-actions{display:flex;gap:6px;justify-content:flex-end;padding:0 8px 8px}
#mp-toasts .mp-toast-actions button{min-height:26px;padding:3px 14px;border:1px solid var(--rs-frame,#5b5242);border-radius:2px;background:linear-gradient(#e2dcbd,#c4bd99);box-shadow:inset 0 1px #fff8;color:#1b1710;font:700 12px Verdana,Tahoma,sans-serif;cursor:pointer}:where(html[data-theme="nuit"]) #mp-toasts .mp-toast-actions button{border:1px solid var(--rs-frame,#3c4961)}
#mp-toasts .mp-toast-actions .mp-primary{border-color:#6e3a05;background:linear-gradient(180deg,#ffffff40,#ffffff00 55%,#00000020),var(--rs-orange,#e8780c);color:#fff;text-shadow:0 1px 0 #0006}
@keyframes mp-toast-in{from{opacity:0;transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){#mp-toasts .mp-toast{animation:none}}
#mp-toasts .mp-toast-timer{display:block;margin:-4px 9px 6px;font-weight:700;color:#8a4a00}
/* Bulle de discussion (astrub-game.js placeBubble) : style Dofus, au-dessus de l'étiquette, deux messages au plus, fondu de sortie. */
.speech-bubble{position:fixed;z-index:2;pointer-events:none;transform:translate(-50%,calc(-100% - 30px));transform-origin:50% 100%;display:flex;flex-direction:column;gap:3px;max-width:230px;width:max-content;padding:6px 10px 7px;font:600 12.5px/1.35 Verdana,Tahoma,var(--font-ui,sans-serif);color:#1b1710;background:#fffef7;border:1.5px solid #3b3222;border-radius:10px;box-shadow:0 3px 8px #0005;text-align:center;transition:opacity .4s ease}:where(html[data-theme="nuit"]) .speech-bubble{border:1.5px solid #222b3b}
.speech-bubble::after{content:"";position:absolute;left:50%;bottom:-7px;width:11px;height:11px;transform:translateX(-50%) rotate(45deg);background:#fffef7;border-right:1.5px solid #3b3222;border-bottom:1.5px solid #3b3222}:where(html[data-theme="nuit"]) .speech-bubble::after{border-right:1.5px solid #222b3b;border-bottom:1.5px solid #222b3b}
.speech-bubble p{margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.speech-bubble p+p{padding-top:3px;border-top:1px dashed #3b322240}:where(html[data-theme="nuit"]) .speech-bubble p+p{border-top:1px dashed #222b3b40}
.speech-bubble p:not(:last-child){opacity:.62;font-size:11.5px}
.speech-bubble.is-new{animation:rv-bubble-in .22s cubic-bezier(.2,1.5,.4,1)}
.speech-bubble.is-leaving{opacity:0}
.speech-bubble[hidden]{display:none}
@keyframes rv-bubble-in{from{transform:translate(-50%,calc(-100% - 22px)) scale(.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.speech-bubble.is-new{animation:none}}
/* Option « Noms des joueurs : au survol » */
.remote-player-label.name-hidden,#label.name-hidden{visibility:hidden}
/* Joueur en combat sur la carte (Retrofus Ascension et Hécate) : étiquette rouge sombre, personnage translucide (astrub-game.js). */
.remote-player-label.is-fighting{background:#3a1512e6!important;color:#ffd9cf!important;border-color:#b5401d!important;box-shadow:0 0 10px #b5401d66}:where(html[data-theme="nuit"]) .remote-player-label.is-fighting{border-color:#415e91!important;box-shadow:0 0 10px #415e9166}

/* Invitation par pseudo. */
.mp-search{display:flex;flex-direction:column;gap:6px;padding:6px 2px}.mp-search input{width:100%;padding:7px 9px;border-radius:8px;border:1px solid #b9ab80;background:#fffaf0;font:inherit}
.mp-search-results{display:flex;flex-direction:column;gap:4px}.mp-search-row{display:flex;align-items:center;gap:8px;padding:5px 7px;border-radius:8px;background:#f4ecd4;border:1px solid #d8cba3}
.mp-search-row>div{flex:1;min-width:0;display:flex;flex-direction:column}.mp-search-row small{opacity:.75}.mp-search-error{color:#a33025}

/* Appel à l'aide. */
#multiplayer-panel .mp-help,.mp-actions .mp-help{background:linear-gradient(180deg,#ff8a5c,#d9431c)!important;color:#fff!important;border-color:#8a2508!important;font-weight:800}

/* Combat : fenêtre centrée ; icônes d'accès du placement. */
html[data-theme] #multiplayer-panel[data-view=combat]{left:50%!important;top:50%!important;right:auto!important;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 24px))!important;max-height:calc(100dvh - 40px)!important}
.mp-access-icons{display:flex;gap:6px;justify-content:center;margin:2px 0 10px}
html[data-theme] .mp-access-icons .mp-icon{width:44px;height:40px;padding:0!important;border-radius:10px!important;font-size:19px!important;line-height:1!important;display:grid;place-items:center}
html[data-theme] .mp-access-icons .mp-icon[aria-pressed=true]{background:linear-gradient(180deg,#ffd27a,#e9a23a)!important;border-color:#a8640c!important;box-shadow:inset 0 1px #fff8,0 0 0 2px #f0a43a66!important}
html[data-theme] .mp-access-icons .mp-icon-help{margin-left:8px}
html[data-theme] .mp-access-icons .mp-icon-help[aria-pressed=true]{background:linear-gradient(180deg,#ff8a5c,#d9431c)!important;border-color:#8a2508!important}

/* Barre de placement (discrète, au-dessus du bandeau du bas). */
#mp-placement-bar{position:fixed;left:50%;bottom:calc(var(--hud-dock-height,100px) + 12px);transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:12px;background:#2f2717e6;border:1px solid #8a6a2c;box-shadow:0 6px 18px #0006;color:#f7ebc8;font:700 12px/1 var(--font-ui,sans-serif)}:where(html[data-theme="nuit"]) #mp-placement-bar{background:#19202de6;border:1px solid #3d5379}
#mp-placement-bar .mp-bar-group{display:flex;gap:3px;padding:0 4px;border-left:1px solid #8a6a2c66;border-right:1px solid #8a6a2c66}:where(html[data-theme="nuit"]) #mp-placement-bar .mp-bar-group{border-left:1px solid #3d537966;border-right:1px solid #3d537966}
#mp-placement-bar button{min-width:30px;height:30px;padding:0 8px;border-radius:8px;border:1px solid #8a6a2c;background:#f3e3b8;color:#2b1f0c;font:800 13px/1 var(--font-ui,sans-serif);cursor:pointer}:where(html[data-theme="nuit"]) #mp-placement-bar button{border:1px solid #3d5379}
#mp-placement-bar button[aria-pressed=true]{background:linear-gradient(180deg,#ffd27a,#e9a23a);border-color:#a8640c}
#mp-placement-bar .mp-bar-help[aria-pressed=true]{background:linear-gradient(180deg,#ff8a5c,#d9431c);color:#fff}
#mp-placement-bar button:disabled{opacity:.4;cursor:default}
#mp-placement-bar .mp-bar-ready{min-width:86px;background:linear-gradient(180deg,#f7a54a,#d86c08);color:#fff;border-color:#7a3a00}#mp-placement-bar .mp-bar-ready.is-on{background:linear-gradient(180deg,#9bd36a,#4f8f22);border-color:#2f5a12}
#mp-placement-bar .mp-bar-time b{font-size:14px;color:#ffd27a}#mp-placement-bar .mp-bar-count{opacity:.8;font-weight:600}

html body #mp-toasts{top:max(calc(env(safe-area-inset-top,0px) + 70px),calc(var(--rv-top-stack,0px) + 8px))!important}
/* barre de placement (16/10/2026) : icônes d'accès (cadenas…) bien visibles sur fond clair, état choisi en orange */
html body .mp-bar-group>button{background:#fff8e6!important;border:1px solid #b9a77c!important;color:#2f2a1e!important;font-size:17px!important;filter:none!important;opacity:1!important;text-shadow:none!important;box-shadow:0 1px 0 #0002!important}
html body .mp-bar-group>button[aria-pressed="true"]{background:#e8780c!important;border-color:#b45a05!important;color:#fff!important;box-shadow:0 0 0 2px #e8780c55!important}
html body .mp-bar-group>button:disabled{opacity:.45!important}
