/* Barre du bas (16/10/2026, v3), ordinateur seulement : tailles et alignements homogènes.
   identité (portrait, niveau, nom, 3 jauges alignées) | sorts | objets rapides / panoplies | grimoire | menu (2 × 3 boutons carrés).
   #player-strip, .dock-main et .dock-identity passent en display:contents : leurs éléments se placent dans une seule grille. */
@media (min-width:1001px) and (min-height:560px){
 html[data-theme] body #spell-dock#spell-dock{--cell:50px;display:grid!important;grid-template-columns:56px 200px auto auto auto auto repeat(3,38px);grid-template-rows:repeat(4,14px);column-gap:12px;row-gap:3px;align-items:center;padding:8px 12px!important;width:auto!important;max-width:calc(100vw - 24px)!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;box-sizing:border-box;border-radius:14px!important;background:linear-gradient(180deg,#f6eed6,#e4d8b4)!important;border:1px solid #7a6440!important;box-shadow:0 8px 22px #0007,inset 0 1px 0 #fffc!important}html[data-theme]:where([data-theme="nuit"]) body #spell-dock#spell-dock{border:1px solid #435677!important}
 html[data-theme] body #spell-dock #player-strip,html[data-theme] body #spell-dock .dock-main,html[data-theme] body #spell-dock .dock-identity{display:contents!important}
 /* ---------- identité ---------- */
 html[data-theme] body #spell-dock #dock-portrait{grid-column:1;grid-row:1/5;width:50px!important;height:50px!important;border-radius:50%;object-fit:cover;background:radial-gradient(circle at 50% 35%,#fff3cf,#d9c48f);box-shadow:0 0 0 2px #8a6a2c,0 2px 6px #0005;align-self:center;justify-self:center}html[data-theme]:where([data-theme="nuit"]) body #spell-dock #dock-portrait{box-shadow:0 0 0 2px #3d5379,0 2px 6px #0005}
 html[data-theme] body #spell-dock #player-level{grid-column:1;grid-row:4;justify-self:center;align-self:end;z-index:1;margin:0 0 -9px!important;padding:0 7px!important;border-radius:999px;background:linear-gradient(#f59e2b,#d96b06);color:#fff!important;font:800 9.5px/15px var(--font-ui,sans-serif)!important;box-shadow:0 1px 3px #0008;border:1px solid #9a4a06;white-space:nowrap}
 html[data-theme] body #spell-dock .dock-identity>div{grid-column:2;grid-row:1;display:flex!important;align-items:center;min-width:0;line-height:1}
 html[data-theme] body #spell-dock .dock-identity>div b{font:400 14px/1 var(--font-display,"Bree Serif",serif);color:#2f2a1e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 html[data-theme] body #spell-dock .dock-identity>div small{display:none}
 /* jauges : même hauteur, icône 12 px alignée, valeur écrite dans la jauge */
 html[data-theme] body #spell-dock :is(#player-life,#player-energy){display:grid!important;grid-template-columns:12px 1fr;align-items:center;column-gap:5px;margin:0!important;min-width:0;position:relative}
 html[data-theme] body #spell-dock #player-life{grid-column:2;grid-row:2}
 html[data-theme] body #spell-dock #player-energy{grid-column:2;grid-row:4}
 html[data-theme] body #spell-dock :is(#player-life,#player-energy) img{width:12px!important;height:12px!important;margin:0!important}
 html[data-theme] body #spell-dock :is(#player-life progress,#player-energy progress,#player-xp){-webkit-appearance:none;appearance:none;display:block;width:100%!important;height:13px!important;box-sizing:border-box;border:1px solid #00000040!important;border-radius:6px!important;background:#3b3326!important;overflow:hidden;box-shadow:inset 0 1px 2px #0008}html[data-theme]:where([data-theme="nuit"]) body #spell-dock :is(#player-life progress,#player-energy progress,#player-xp){background:#242d3d!important}
 html[data-theme] body #spell-dock :is(#player-life progress,#player-energy progress,#player-xp)::-webkit-progress-bar{background:#3b3326;border-radius:6px}html[data-theme]:where([data-theme="nuit"]) body #spell-dock :is(#player-life progress,#player-energy progress,#player-xp)::-webkit-progress-bar{background:#242d3d}
 html[data-theme] body #spell-dock #player-life progress::-webkit-progress-value{background:linear-gradient(180deg,#f0716b,#b52a22);border-radius:6px}
 html[data-theme] body #spell-dock #player-life progress::-moz-progress-bar{background:linear-gradient(180deg,#f0716b,#b52a22)}
 html[data-theme] body #spell-dock #player-xp::-webkit-progress-value{background:linear-gradient(180deg,#b58cf0,#7445c4);border-radius:6px}
 html[data-theme] body #spell-dock #player-xp::-moz-progress-bar{background:linear-gradient(180deg,#b58cf0,#7445c4)}
 html[data-theme] body #spell-dock #player-energy progress::-webkit-progress-value{background:linear-gradient(180deg,#f7d06a,#d6951a);border-radius:6px}
 html[data-theme] body #spell-dock #player-energy progress::-moz-progress-bar{background:linear-gradient(180deg,#f7d06a,#d6951a)}
 /* valeurs dans les jauges */
 html[data-theme] body #spell-dock #player-life b{position:absolute;left:17px;right:0;top:0;bottom:0;display:grid;place-items:center;font:800 9px/1 var(--font-ui,sans-serif)!important;color:#fff!important;text-shadow:0 1px 1px #000,0 0 2px #000;pointer-events:none;margin:0!important}
 html[data-theme] body #spell-dock #player-xp-text{display:block!important;grid-column:2;grid-row:3;justify-self:stretch;text-align:center;margin:0 0 0 17px!important;padding:0!important;font:800 9px/11px var(--font-ui,sans-serif)!important;color:#fff!important;text-shadow:0 1px 1px #000,0 0 2px #000;pointer-events:none;z-index:1;white-space:nowrap;overflow:hidden}
 /* ---------- sorts, objets, panoplies, grimoire : cases de même taille ---------- */
 html[data-theme] body #spell-dock #spell-bar{grid-column:3;grid-row:1/5;display:flex!important;gap:5px!important;margin:0!important;align-self:center}
 html[data-theme] body #spell-dock #quick-items{grid-column:4;grid-row:1/5;display:flex!important;gap:5px!important;margin:0!important;padding-left:10px!important;border-left:1px solid #0000002a!important;align-self:center}
 html[data-theme] body #spell-dock #quick-outfits{grid-column:5;grid-row:1/5;display:flex;gap:5px;margin:0!important;padding:0!important;border:0!important;align-self:center}
 html[data-theme] body #spell-dock #quick-outfits:empty,html[data-theme] body #spell-dock #quick-outfits[hidden],html[data-theme] body #spell-dock #quick-outfits:not(:has(button)){display:none!important}
 html[data-theme] body #spell-dock :is(#spell-bar,#quick-items,#quick-outfits)>button,html[data-theme] body #spell-dock #open-book{width:var(--cell)!important;height:var(--cell)!important;min-width:0!important;min-height:0!important;box-sizing:border-box;border-radius:9px!important}
 html[data-theme] body #spell-dock #open-book{grid-column:6;grid-row:1/5;margin:0!important;align-self:center;display:grid!important;place-items:center;padding:2px!important;font:700 9.5px/1 var(--font-ui,sans-serif)!important}
 html[data-theme] body #spell-dock #open-book img{width:22px!important;height:22px!important;margin:0!important}
 html[data-theme] body #spell-dock #cast-tip{position:absolute!important}
 /* ---------- menu : 2 rangées de 3 boutons carrés ---------- */
 html[data-theme] body #spell-dock #player-strip>button{display:grid!important;place-items:center;width:32px!important;height:100%!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;align-self:stretch!important;box-sizing:border-box;font-size:0!important;line-height:0!important;color:transparent!important;border-radius:8px!important;border:1px solid #a8956a!important;background:linear-gradient(180deg,#fffaf0,#eadfbf)!important;box-shadow:0 1px 0 #fff inset,0 1px 2px #0003!important;position:relative;overflow:visible!important;cursor:pointer}
 html[data-theme] body #spell-dock #player-strip>button:hover{background:linear-gradient(180deg,#fff,#f3e3b8)!important;border-color:#e8780c!important}
 html[data-theme] body #spell-dock #player-strip>button>span:not(.hud-pods){display:none!important}
 html[data-theme] body #spell-dock #player-strip>button img,html[data-theme] body #spell-dock #player-strip>button svg{width:18px!important;height:18px!important;margin:0!important;flex:none}
 html[data-theme] body #spell-dock #character-open{grid-column:7;grid-row:1/3}
 html[data-theme] body #spell-dock #inventory-open{grid-column:8;grid-row:1/3}
 html[data-theme] body #spell-dock #jobs-open{grid-column:9;grid-row:1/3}
 html[data-theme] body #spell-dock #guild-hud{grid-column:7;grid-row:3/5}
 html[data-theme] body #spell-dock #rv-switch-open{grid-column:8;grid-row:3/5}
 html[data-theme] body #spell-dock #quick-menu-open{grid-column:9;grid-row:3/5}
 /* aide : dans les Accès rapides ; Assis : petit bouton rond sur le coin du portrait */
 html[data-theme] body #spell-dock #guide-open#guide-open{display:none!important}
 html[data-theme] body #spell-dock #player-sit#player-sit{grid-column:1;grid-row:1/3;justify-self:end;align-self:start;z-index:2;width:20px!important;height:20px!important;margin:-6px -8px 0 0!important;border-radius:50%!important;padding:0!important;background:#fffaf0!important;border:1px solid #8a6a2c!important;box-shadow:0 1px 3px #0006!important}html[data-theme]:where([data-theme="nuit"]) body #spell-dock #player-sit#player-sit{border:1px solid #3d5379!important}
 html[data-theme] body #spell-dock #player-sit#player-sit svg{width:13px!important;height:13px!important;color:#3b3326!important;stroke:#3b3326}html[data-theme]:where([data-theme="nuit"]) body #spell-dock #player-sit#player-sit svg{stroke:#242d3d}
 html[data-theme] body #spell-dock #player-sit#player-sit[aria-pressed=true]{background:#e8780c!important;border-color:#9a4a06!important}
 /* Sac : jauge de pods au bas de l'icône (le chiffre reste dans l'infobulle) */
 html[data-theme] body #spell-dock #inventory-open .hud-pods small{display:none!important}
 html[data-theme] body #spell-dock #inventory-open .hud-pods i{left:4px;right:4px;bottom:2px;height:3px}
 html[data-theme] body #spell-dock #player-strip>button{width:34px!important}
}
/* préparation : pains, potions ET panoplies (se soigner et s'équiper avant de lancer) ; combat en cours : objets inutilisables (pain…) masqués */
html body.in-battle:not(.in-prep) #spell-dock #quick-items .quick-item.no-combat{display:none!important}
@media (min-width:1001px) and (min-height:560px){
 /* XP : même colonne d'icônes que PV et énergie (décalage de 17 px), largeur réduite d'autant : plus de débordement sur les sorts */
 html[data-theme] body #spell-dock #player-xp#player-xp{grid-column:2;grid-row:3;margin:0 0 0 17px!important;width:calc(100% - 17px)!important;max-width:calc(100% - 17px)!important;justify-self:start}
 html[data-theme] body #spell-dock :is(#player-life b,#player-xp-text){font-size:10px!important;line-height:13px!important}
 html[data-theme] body #spell-dock #player-xp-text{max-width:calc(100% - 17px)}
 /* menu : icônes plus grandes et bien centrées */
 html[data-theme] body #spell-dock #player-strip>button{width:38px!important}
 html[data-theme] body #spell-dock #player-strip>button img,html[data-theme] body #spell-dock #player-strip>button svg,html[data-theme] body #spell-dock #player-strip>button .rv-emblem{width:24px!important;height:24px!important;display:block;margin:auto!important}
 html[data-theme] body #spell-dock #inventory-open .hud-pods i{left:6px;right:6px;bottom:3px;height:3px}
}

/* cœur de vitalité (16/10/2026) : à la place de la jauge de PV, entre l'identité et les sorts */
@media (min-width:1001px) and (min-height:560px){
 html[data-theme] body #spell-dock#spell-dock{grid-template-columns:56px 200px 64px auto auto auto auto repeat(3,38px)!important}
 html[data-theme] body #spell-dock #player-life#player-life{display:none!important}
 html[data-theme] body #spell-dock #player-xp#player-xp{grid-row:2}html[data-theme] body #spell-dock #player-xp-text{grid-row:2!important}
 html[data-theme] body #spell-dock #player-energy{grid-row:3!important}
 html[data-theme] body #spell-dock #hp-heart{grid-column:3;grid-row:1/5}
 html[data-theme] body #spell-dock #spell-bar{grid-column:4!important}html[data-theme] body #spell-dock #quick-items{grid-column:5!important}html[data-theme] body #spell-dock #quick-outfits{grid-column:6!important}html[data-theme] body #spell-dock #open-book{grid-column:7!important}
 html[data-theme] body #spell-dock #character-open{grid-column:8!important}html[data-theme] body #spell-dock #inventory-open{grid-column:9!important}html[data-theme] body #spell-dock #jobs-open{grid-column:10!important}
 html[data-theme] body #spell-dock #guild-hud{grid-column:8!important}html[data-theme] body #spell-dock #rv-switch-open{grid-column:9!important}html[data-theme] body #spell-dock #quick-menu-open{grid-column:10!important}
 html body.in-prep #spell-dock #quick-outfits:not([hidden]){grid-column:6!important}
}
html[data-theme] body #spell-dock #hp-heart#hp-heart{position:relative;width:62px!important;height:56px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;cursor:pointer;align-self:center;justify-self:center;min-height:0!important;min-width:0!important}
#hp-heart svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 2px 3px #0007)}
/* cœur Rétro : rempli selon la vie (fond noir), rouge brillant, contour blanc épais, reflet en haut à gauche, chiffre bleu marine */#hp-heart .hh-back{fill:#1b1416}#hp-heart .hh-fill{fill:url(#hh-grad)}#hp-heart .hh-line{fill:none;stroke:#fff;stroke-width:6;stroke-linejoin:round}#hp-heart .hh-shine{fill:#ffffff70}
#hp-heart[data-level=low] svg{animation:hh-beat 1s infinite}@keyframes hh-beat{50%{opacity:.75}}
#hp-heart .hh-text{position:absolute;inset:0 0 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:.95;pointer-events:none}
#hp-heart .hh-text b{font:900 19px/1 'Arial Black','Arial',sans-serif;color:#14185a;letter-spacing:-.5px;text-shadow:none}
#hp-heart[data-mode=both] .hh-text b{font-size:13px}#hp-heart[data-mode=both] .hh-text b+b{opacity:.85}
#hp-heart .hh-text small{font:900 12px/1 'Arial Black','Arial',sans-serif;color:#14185a}
/* 16/10/2026 : console MJ visible, % d'XP lisible, icônes du menu centrées */
@media (min-width:1001px) and (min-height:560px){
 html[data-theme] body #spell-dock #admin-strip#admin-strip{grid-column:2;grid-row:4;justify-self:start;align-self:center;width:auto!important;height:16px!important;padding:0 10px!important;font:800 10px/14px var(--font-ui,sans-serif)!important;color:#fff!important;background:linear-gradient(#c0392b,#8e1b12)!important;border:1px solid #6b1209!important;border-radius:999px!important;letter-spacing:.04em}
 html[data-theme] body #spell-dock #admin-strip#admin-strip::after{content:" · Console"}
 html[data-theme] body #spell-dock #player-xp-text#player-xp-text{color:#fff!important;text-shadow:0 1px 1px #000,0 0 3px #000,0 0 1px #000!important;font-weight:800!important}
 html[data-theme] body #spell-dock #player-strip>button:not(#admin-strip){display:flex!important;align-items:center!important;justify-content:center!important}
 html[data-theme] body #spell-dock #player-strip>button:not(#admin-strip) img,html[data-theme] body #spell-dock #player-strip>button:not(#admin-strip) svg{margin:0!important;position:static}
}
@media (min-width:1001px) and (min-height:560px){
 /* bouton MJ : une seule ligne */
 html[data-theme] body #spell-dock #admin-strip#admin-strip{display:inline-flex!important;align-items:center!important;gap:3px;white-space:nowrap!important;height:17px!important}
 /* XP : icône à gauche comme les autres jauges, jauge soignée, texte centré */
 html[data-theme] body #spell-dock #player-xp-text#player-xp-text{margin:0!important;padding-left:17px!important;background:url(ui-assets/experience.svg) no-repeat 0 center/12px 12px!important;text-align:center;justify-self:stretch;width:auto!important;max-width:none!important}
 html[data-theme] body #spell-dock #player-xp#player-xp{height:14px!important;border-radius:7px!important;box-shadow:inset 0 1px 3px #000a,0 1px 0 #fff8!important}
 html[data-theme] body #spell-dock #player-xp#player-xp::-webkit-progress-value{background:linear-gradient(180deg,#c9a4ff 0%,#8a55e0 55%,#6a35c0 100%);border-radius:7px;box-shadow:inset 0 1px 0 #ffffff66}
}
/* sort sélectionné (16/10/2026) : la fiche du sort flotte au-dessus du bandeau au lieu d'étirer la grille */
html[data-theme] body #spell-dock #cast-action{position:absolute!important;left:50%!important;bottom:calc(100% + 8px)!important;transform:translateX(-50%);grid-column:auto!important;grid-row:auto!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center!important;justify-content:center!important;gap:6px 10px!important;width:max-content;max-width:min(560px,calc(100vw - 24px));margin:0!important;padding:7px 12px!important;border-radius:12px;background:linear-gradient(180deg,#fffaf0,#f1e6c8)!important;border:1px solid #c9b483;box-shadow:0 6px 18px #0004;font:600 12px/1.35 var(--font-ui,sans-serif)!important;color:#3b3326!important;white-space:normal!important;z-index:5;pointer-events:auto}
html[data-theme] body #spell-dock #cast-action:not(:has(#cast-name:not(:empty),#cast-info:not(:empty))){display:none!important}
html[data-theme] body #spell-dock #cast-action :is(#cast-name,#cast-info){display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;color:#3b3326!important;font-size:12px!important;text-align:left}
html[data-theme] body #spell-dock #cast-action :is(#cast-info)>*{display:inline-flex!important;align-items:center;gap:3px;margin:0!important}
html[data-theme] body #spell-dock #cast-action .combat-help-button{flex:none;padding:3px 9px!important;min-height:0!important}
/* fiche du sort : seulement quand un sort est sélectionné (plus d'aide permanente au-dessus du bandeau) */
html[data-theme] body #spell-dock #cast-action:not(.has-selected-spell):not(:has(#consume-item:not([hidden]))){display:none!important}
/* cœur (16/10/2026) : chiffres blancs cernés de sombre, lisibles sur le rouge ; % sur la même ligne, bien centré */
html[data-theme] body #hp-heart#hp-heart .hh-text{inset:0 0 8px;gap:1px}
html[data-theme] body #hp-heart#hp-heart .hh-text b{color:#fff!important;font:900 18px/1 'Arial Black','Arial',sans-serif;letter-spacing:-.3px;text-shadow:0 0 2px #4a0000,0 1px 0 #4a0000,1px 0 0 #4a0000,-1px 0 0 #4a0000,0 -1px 0 #4a0000,0 2px 3px #0008!important;opacity:1!important}
html[data-theme] body #hp-heart#hp-heart[data-mode=both] .hh-text b{font-size:15px}
html[data-theme] body #hp-heart#hp-heart .hh-sep{display:block;width:26px;height:2px;border-radius:2px;background:#ffffffcc;box-shadow:0 1px 0 #4a000099}
html[data-theme] body #hp-heart#hp-heart .hh-max{font:800 11px/1 'Arial Black','Arial',sans-serif;color:#ffe2dc!important;text-shadow:0 0 2px #4a0000,0 1px 0 #4a0000}
html[data-theme] body #hp-heart#hp-heart .hh-pct{display:inline-flex;align-items:baseline;justify-content:center;padding-left:4px}
html[data-theme] body #hp-heart#hp-heart .hh-pct small{font:900 11px/1 'Arial Black','Arial',sans-serif;color:#fff;margin-left:1px;text-shadow:inherit}
html[data-theme] body #hp-heart#hp-heart .hh-text b.hh-pct{padding:0;font-size:16px;margin-left:-1px}
html[data-theme] body #hp-heart#hp-heart .hh-pct small{font-size:9.5px;margin-left:0}
/* bandeau d'aide du sort retiré (16/10/2026, jugé gênant) : la fiche du sort reste au survol des icônes */
@media (min-width:701px){html[data-theme] body #spell-dock #cast-action#cast-action{display:none!important}}
/* bandeau (16/10/2026) : Grimoire retiré (déjà dans Mon personnage) ; pains, potions et équipements rapides sur 2 lignes */
html[data-theme] body #spell-dock #open-book#open-book{display:none!important}
html[data-theme] body #spell-dock #quick-items#quick-items,html[data-theme] body #spell-dock #quick-outfits#quick-outfits:has(button){display:grid!important;grid-auto-flow:column;grid-template-rows:repeat(2,31px);grid-auto-columns:31px;gap:3px!important;align-content:center}
html[data-theme] body #spell-dock :is(#quick-items,#quick-outfits)>button{width:31px!important;height:31px!important;padding:1px!important;border-radius:8px!important}
html[data-theme] body #spell-dock :is(#quick-items,#quick-outfits)>button img{width:22px!important;height:22px!important}
html[data-theme] body #spell-dock :is(#quick-items,#quick-outfits)>button :is(small,em,b){font-size:9.5px!important;line-height:1!important}
#hp-heart .hh-fill{transition:y .35s ease-out,height .35s ease-out}
