/* Compact combat controls; names and the full description remain accessible on hover. */
body.has-combat-ui{--hud-dock-height:134px}body #spell-dock{width:min(620px,calc(100% - 24px))!important;max-width:620px!important;padding:7px 12px 8px!important;bottom:12px!important;border:1px solid #d7c1834d!important;border-radius:12px!important;background:linear-gradient(145deg,#182a24f5,#0f1f1bf5)!important;box-shadow:0 10px 40px #08150ab3,inset 0 1px #ffecc50d!important;backdrop-filter:blur(15px)}body #spell-dock #player-strip{height:25px;margin:0 0 7px;padding:0 0 6px;border-bottom:1px solid #e5d3a31a;gap:8px;font-size:11.5px}body #player-strip button{font-size:11.5px;padding:2px 5px;display:inline-flex;gap:4px;align-items:center;line-height:18px}body #player-strip button img{width:17px;height:17px;object-fit:contain}body #player-strip #character-open{margin-left:auto}body #player-strip #player-xp-text{font-size:11.5px;color:#a7b29c}body #player-strip progress{width:65px;height:3px}#spell-dock .dock-main{display:flex;align-items:center;gap:12px;min-height:57px}.dock-identity{display:flex;align-items:center;gap:7px;min-width:104px}.dock-identity>img{width:39px;height:46px;object-fit:contain;filter:drop-shadow(0 2px 5px #0005)}.dock-identity b{font-size:12px;color:#ebdfbd;display:block}.dock-identity small{display:block;font-size:11.5px;color:#92a392;margin-top:3px}body #spell-bar{gap:8px;flex:1;justify-content:center;padding:0;overflow:visible}body #spell-bar .spell-slot{flex:none;display:block;position:relative;min-width:0;width:49px!important;height:51px!important;border-radius:8px!important;padding:4px!important;border:1px solid #ccbb7955;background:linear-gradient(#2a3c2c,#18281f)!important;text-align:center;max-width:none}body #spell-bar .spell-slot:hover{border-color:#dcca8aaa;box-shadow:0 0 13px #d0b16c1a}body #spell-bar .spell-slot.active{outline:1px solid #e7cf82;outline-offset:2px;background:#465338!important}body #spell-bar .spell-slot img{width:35px;height:35px;display:block;object-fit:contain;pointer-events:none}body #spell-bar .spell-slot>span{display:none}body #spell-bar .spell-slot small.spell-key{position:absolute;top:-5px;left:-4px;display:grid;place-items:center;width:15px;height:15px;color:#f1e3bb;background:#22362a;border:1px solid #b69f6b70;border-radius:4px;font-size:11.5px;z-index:1;line-height:1}body #spell-bar .spell-rank{position:absolute;top:0;right:1px;font-size:11.5px;font-style:normal;color:#e9d48b;text-shadow:0 1px 2px #000}body #spell-bar .spell-slot em{position:absolute;bottom:-2px;left:0;right:0;color:#a6cddd;background:#162921ed;font-size:11.5px;line-height:12px;padding:0 1px;border-radius:3px;white-space:nowrap}body #spell-bar .spell-slot.recharging em{color:#f0c67b;font-size:11.5px}body #spell-bar .spell-empty{height:51px;width:49px;padding:0!important;border:1px dashed #a8b38838;border-radius:8px;position:relative;background:#10231d55;color:#a8b38870}body .spell-empty>small{position:absolute;top:3px;left:5px;font-size:11.5px}body .spell-empty>span{font-size:20px;font-weight:300}.dock-book{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 6px!important;min-width:52px}.dock-book img{width:26px;height:26px;object-fit:contain}.dock-book span{font-size:11.5px;color:#c8d0b7}body #cast-action{flex-direction:row;align-items:center;justify-content:center;min-height:17px;margin-top:7px;gap:9px;line-height:1.3;white-space:nowrap}body #cast-action strong{font-size:11.5px;font-weight:500;color:#d9d5b6;overflow:hidden;text-overflow:ellipsis}body #cast-info{font-size:11.5px;color:#819887;overflow:hidden;text-overflow:ellipsis}body #cast-action #cast-self{position:static;font-size:11.5px;padding:3px 7px;flex-shrink:0;color:#ecd391;border:1px solid #d7bc7b44}body #fight-hud{top:72px!important;left:50%!important;right:auto!important;transform:translateX(-50%);width:min(560px,calc(100% - 24px));flex-wrap:nowrap!important;padding:7px 10px!important;border-radius:9px!important;gap:12px!important;z-index:5!important}body #fight-status{font-size:11.5px;color:#d9ceaa;max-width:65px;line-height:1.4}body #fight-resources{display:flex;gap:8px;align-items:center;flex:1}body .fight-vital{height:23px;position:relative;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:4px;overflow:hidden;flex:1;background:#09191199;border:1px solid #e0d2a526}.fight-vital>img{width:15px;height:15px;object-fit:contain;position:relative;z-index:1}.fight-vital>b{font-size:11.5px;color:#fff5d4;position:relative;z-index:1;font-variant-numeric:tabular-nums}.fight-vital>i{position:absolute;left:0;top:0;bottom:0;background:#88625277;transition:width .1s}:where(html[data-theme="nuit"]) .fight-vital>i{background:#50658a77}.fight-vital.mana>i{background:#4c8d9e77}#fight-enemies{font-size:11.5px;color:#b8c3aa;white-space:nowrap}body #leave-fight{font-size:11.5px;padding:5px 7px!important;border-left:1px solid #e0d2a526;border-radius:0}body #battle-feedback{top:122px!important;font-size:11.5px;padding:8px 13px;background:#192c22f5;max-width:min(480px,calc(100% - 24px))}body.in-battle .combat-launch,body.in-battle .monster-toggle{display:none!important}
@media(max-width:650px){body #spell-dock{width:min(560px,calc(100% - 20px))!important;padding:6px 9px 8px!important}.dock-identity{min-width:82px;gap:4px}.dock-identity>img{width:31px;height:40px}.dock-identity b{font-size:11.5px}.dock-identity small{font-size:11.5px}.dock-main{gap:7px!important}body #spell-bar{gap:7px}body #spell-bar .spell-slot,body #spell-bar .spell-empty{width:45px!important;height:48px!important}body #spell-bar .spell-slot img{width:33px;height:33px}.dock-book{min-width:44px}.dock-book img{width:24px;height:24px}body #cast-info{display:none}body #cast-action{min-height:18px;margin-top:6px}body #fight-hud{top:72px!important}body #fight-status{display:none}}
@media(max-width:430px){body.has-combat-ui{--hud-dock-height:130px}.dock-identity{min-width:31px}.dock-identity>div{display:none}.dock-identity>img{height:37px;width:29px}body #spell-dock .dock-main{gap:8px}body #spell-bar{gap:7px}body #spell-bar .spell-slot,body #spell-bar .spell-empty{width:44px!important;height:48px!important}body #spell-dock #player-strip{font-size:11.5px;gap:6px}body #player-strip #player-xp-text{display:none}body #player-strip progress{width:45px}body #player-strip button{font-size:11.5px;padding:2px 3px}body #player-strip button img{width:15px;height:15px}.dock-book{min-width:36px;padding:4px 2px!important}.dock-book span{font-size:11.5px}body #fight-resources{gap:6px}body #fight-hud{gap:7px!important}.fight-vital>b{font-size:11.5px}#fight-enemies{font-size:11.5px}}
@media(max-width:355px){body #spell-bar .spell-slot,body #spell-bar .spell-empty{width:38px!important;height:45px!important}body #spell-bar .spell-slot img{width:30px;height:30px}body #spell-dock .dock-main{gap:5px}.dock-identity{display:none}}
/* Lisibilité des contrôles : 11,5 px minimum, sans miniatures de texte. */
body.has-combat-ui{--hud-dock-height:158px}body #spell-dock{padding:10px 14px 11px!important;max-width:680px!important;width:min(680px,calc(100% - 24px))!important}body #spell-dock #player-strip{height:29px;margin-bottom:10px;padding-bottom:8px;gap:10px;font-size:12px}body #player-strip button{font-size:12px;gap:5px;padding:2px 5px}body #player-strip #player-xp-text{font-size:11.5px}#spell-dock .dock-main{min-height:61px;gap:16px}.dock-identity{min-width:117px}.dock-identity b{font-family:var(--font-display);font-weight:400;font-size:16px}.dock-identity small{font-size:11.5px}.dock-identity>img{width:40px;height:48px}body #spell-bar{gap:10px}body #spell-bar .spell-slot,body #spell-bar .spell-empty{width:54px!important;height:58px!important}body #spell-bar .spell-slot img{width:42px;height:42px;margin:auto}body #spell-bar .spell-slot small.spell-key{width:18px;height:18px;font-size:11.5px;top:-5px;left:-5px}body #spell-bar .spell-rank{min-width:15px;height:16px;line-height:16px;top:-4px;right:-3px;font-size:11.5px;font-weight:700;border-radius:3px;background:#1c3024;border:1px solid #b6a56c55}body #spell-bar .spell-slot em{font-size:11.5px;line-height:15px;bottom:-3px}body #spell-bar .spell-slot.recharging em{font-size:12px}body .spell-empty>small{font-size:11.5px}.dock-book{min-width:57px}.dock-book span{font-size:11.5px}.dock-book img{width:29px;height:29px}body #cast-action{white-space:normal;min-height:20px;margin-top:10px;line-height:1.4;gap:8px}body #cast-action strong{font-size:11.5px;text-align:center}body #cast-info{font-size:11.5px;display:none}body #cast-action #cast-self{font-size:11.5px;padding:4px 9px}body #fight-hud{width:min(640px,calc(100% - 24px));min-height:44px;top:102px!important}body #fight-status{font-size:11.5px;max-width:84px}.fight-vital>b{font-size:12px}body .fight-vital{height:27px}#fight-enemies{font-size:11.5px}body #leave-fight{font-size:11.5px}body #battle-feedback{font-size:12px;top:155px!important}#combat-ui .combat-note{font-size:12px!important}#combat-ui .class-card small{font-size:11.5px!important}#combat-ui .spell-detail p{font-size:12px!important}.label{font-size:12px!important;padding:4px 9px;line-height:1.3}
@media(max-width:650px){body #spell-dock{padding:9px 11px 10px!important;width:calc(100% - 20px)!important}.dock-identity{min-width:87px;gap:5px}.dock-identity small{display:none}.dock-identity b{font-size:14px}.dock-identity>img{width:30px;height:41px}#spell-dock .dock-main{gap:9px}body #spell-bar{gap:9px}.dock-book{min-width:55px}.dock-book span{font-size:11.5px}body #cast-action{margin-top:9px}body #fight-status{display:none}body #fight-hud{top:107px!important}}
@media(max-width:470px){body.has-combat-ui{--hud-dock-height:156px}body #spell-dock .dock-main{gap:10px}.dock-identity{display:none}body #spell-bar{gap:10px;justify-content:flex-start}body #spell-bar .spell-slot,body #spell-bar .spell-empty{width:52px!important;height:57px!important}body #spell-bar .spell-slot img{width:40px;height:40px}.dock-book{min-width:59px}.dock-book img{width:28px;height:28px}body #spell-dock #player-strip{gap:8px;font-size:11.5px}body #player-strip button{font-size:11.5px;padding:2px 3px}body #player-strip progress{width:32px}body #player-strip #player-xp-text{display:none}body #cast-action strong{font-size:11.5px}body #fight-hud{top:107px!important}body #fight-resources{gap:6px}.fight-vital>b{font-size:11.5px}.fight-vital>img{width:14px;height:14px}#fight-enemies{font-size:11.5px}body #battle-feedback{top:162px!important}.monster-tag b,.monster-tag small{font-size:11.5px!important}}
@media(max-width:355px){body #spell-bar{gap:7px}body #spell-bar .spell-slot,body #spell-bar .spell-empty{width:47px!important}.dock-book{min-width:55px}body #player-strip button{padding-inline:1px;gap:3px}body #player-strip button img{display:none}body #spell-dock .dock-main{gap:7px}}

/* A slot keeps the same DOM node throughout its recharge. */
body #spell-bar .spell-slot{isolation:isolate;overflow:visible}body #spell-bar .spell-slot::after{content:"";position:absolute;inset:3px 3px 13px;background:#091510a8;border-radius:5px;transform:scaleY(var(--recharge,0));transform-origin:bottom;pointer-events:none;z-index:1}body #spell-bar .spell-slot .spell-cost{position:absolute;right:2px;bottom:15px;min-width:19px;padding:1px 3px;border-radius:3px;background:#152f3bed;color:#b5e6f5;font-size:11.5px;line-height:14px;font-weight:600;z-index:2}body #spell-bar .spell-slot em{z-index:3;bottom:-4px;color:#b9dbae;font-weight:600;line-height:17px}body #spell-bar .spell-slot .spell-key,body #spell-bar .spell-rank{z-index:3}body #spell-bar .spell-slot.mana-short{border-color:#689cac99!important}body #spell-bar .spell-slot.mana-short img{filter:saturate(.4) brightness(.65)}body #spell-bar .spell-slot.mana-short em{color:#9fd6eb}body #spell-bar .spell-slot.out-of-range em{color:#e5c591}body #spell-bar .spell-slot.recharging em{color:#f0c67b}body #cast-action strong{line-height:1.45}body.in-battle #cast-action{min-height:32px}body #class-dialog{width:min(820px,94vw)}body #class-dialog .combat-note{font-size:12px}body #book-content{max-height:58vh;padding-right:5px;scrollbar-width:thin}
.loadout-editor{padding:14px;border:1px solid #cbb37559;background:#10221bf2;border-radius:12px;margin:8px 0 16px}.loadout-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:12px}.loadout-heading strong{font-size:15px;color:#eddfb5}.loadout-heading>span{font-size:11.5px;color:#aebfab}.loadout-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.loadout-slot{min-width:0;position:relative;display:grid;grid-template-columns:34px 1fr;gap:7px;padding:12px 8px 7px;border:1px solid #c9b47655;border-radius:8px;background:#28392a}.loadout-key{position:absolute;left:6px;top:-8px;min-width:19px;padding:2px;background:#1b3022;color:#ead795;border:1px solid #bdac7459;border-radius:4px;font-size:11.5px;text-align:center}.loadout-slot>img{width:34px;height:34px;object-fit:contain}.loadout-slot>span{align-self:center;min-width:0;color:#e9e4ca;font-size:11.5px;line-height:1.35;overflow-wrap:anywhere}.loadout-move{grid-column:1/-1;display:flex;justify-content:flex-end;gap:4px}.loadout-move>button{font-size:15px;padding:2px 8px;line-height:20px;border:1px solid #c4b57233;border-radius:4px}.loadout-slot.empty{border-style:dashed;background:#15271d;min-height:92px}.loadout-slot.empty>span{grid-column:1/-1;text-align:center;color:#97a58c}.loadout-editor>p{margin:12px 0 0;font-size:11.5px;line-height:1.6;color:#bac9b6}.spell-detail-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}body .spell-detail-title h3{font-size:15px!important;line-height:1.4}body .spell-detail-title h3>small{margin-left:7px;font-size:11.5px;color:#aebe9f;font-weight:400}.spell-status{border:1px solid #b1c28c45;border-radius:5px;padding:3px 6px;font-size:11.5px;color:#b8caac;white-space:nowrap}.spell-status.prepared{border-color:#ceb57388;background:#cfb5711a;color:#efdc9b}body #combat-ui .spell-detail.locked{opacity:.74}.spell-detail.not-adapted{border-style:dashed;border-color:#a88b7040;background:#322b231f}:where(html[data-theme="nuit"]) .spell-detail.not-adapted{background:#2028351f}.spell-detail.not-adapted .spell-status{color:#d4b18d;border-color:#b99a7345}.adapted-effect{color:#e4e9d4!important;font-size:12px!important;border-left:2px solid #b7ca8b66;padding-left:9px;margin:10px 0!important}.spell-origin{font-size:11.5px;color:#9cac95;margin:9px 0}.spell-origin summary{cursor:pointer;font-size:11.5px}.spell-origin p{margin-top:6px!important;color:#afbca5!important}.next-rank{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;padding:9px 10px;margin-top:9px;background:#bdc8950a;border:1px solid #bbce9840;border-radius:6px;font-size:11.5px;line-height:1.45;color:#b9ccb0}.next-rank>b{color:#dfdcb1;font-size:11.5px}.next-rank>span{font-size:11.5px}.next-rank>small{grid-column:1/-1;color:#a3b69b;font-size:11.5px}.spell-options>button{font-size:12px!important;min-height:32px;padding:6px 10px!important;border:1px solid #c1ae744d;border-radius:6px!important}.spell-options>button[data-upgrade]:not(:disabled){background:#c7b7731c!important;color:#eedfae}.spell-options>small{font-size:11.5px!important}.prepared-list small{font-size:11.5px!important;line-height:1.5;text-align:center}body #prepare-dialog p{font-size:12px}
@media(max-width:600px){.loadout-heading{display:block}.loadout-heading>span{display:block;margin-top:5px;line-height:1.4}.loadout-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.loadout-slot.empty{min-height:76px}.loadout-editor{padding:12px}.spell-detail-title{gap:4px}.spell-status{font-size:11.5px}.next-rank{grid-template-columns:1fr}.next-rank>small{grid-column:1}.spell-detail{grid-template-columns:40px 1fr!important;gap:8px!important;padding:10px!important}.spell-detail>img{width:38px!important;height:38px!important}body #class-dialog{padding:14px 11px}body #class-dialog h2{font-size:23px}body #book-content{padding-right:2px;max-height:56vh}body #cast-action strong{white-space:normal;overflow:visible;text-overflow:clip;font-size:11.5px}}
body #prepare-dialog{width:min(580px,94vw);padding:20px!important;border-radius:13px!important}body #prepare-dialog h2{font-size:24px}body #prepare-dialog .prepared-list{gap:8px}body #prepare-dialog .prepared-list>div{padding:10px 8px;min-width:105px;border-radius:8px}body #prepare-dialog .prepared-list kbd{display:inline-block;padding:1px 4px;border:1px solid #c0ae7570;border-radius:3px;color:#e9d594;font:11.5px var(--font-ui)}body #prepare-dialog .prepare-actions{gap:8px;flex-wrap:wrap;margin-top:16px}body #prepare-dialog .prepare-actions button{font-size:12px!important;min-height:34px;padding:8px 12px!important;border-radius:6px!important}body #prepare-dialog #cancel-prepare{font-size:15px;width:30px;height:30px;padding:4px!important;border:1px solid #c4b57944;border-radius:5px}body #prepare-dialog .basic-attack-note{padding:9px 11px;background:#c8bd8c0d;border:1px solid #bcb07c35;border-radius:6px;font-size:11.5px!important;color:#b4c5ae}
body #class-dialog .spell-filters{gap:7px;margin:0 0 13px;padding-bottom:12px;border-bottom:1px solid #b9be8e33}body #class-dialog .spell-filters button{font-size:12px;min-height:32px;padding:7px 10px;border:1px solid #b0be9140;border-radius:7px;background:#11271b99;color:#b6c8ad}body #class-dialog .spell-filters button[aria-pressed=true]{border-color:#d8c4868a;background:#c8b77620;color:#efdfab}body #class-dialog .spell-filters button b{font-size:11.5px;margin-left:4px;padding:1px 4px;background:#091b1480;border-radius:3px}.book-empty{font-size:12px;line-height:1.5;padding:16px;color:#b5c4ac;text-align:center}body #cast-action.has-active-effects strong{color:#d3e8af;font-size:11.5px;font-variant-numeric:tabular-nums}
@media(max-width:600px){body #class-dialog{overflow:auto}body #book-content{max-height:none;overflow:visible;padding-right:0}}

/* Original Rétro symbols accompany labels; spell artwork keeps its own dimensions. */
#combat-ui .spell-metrics,#prepare-dialog .spell-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:11.5px;line-height:1.45;margin:6px 0}
#combat-ui .spell-metric,#prepare-dialog .spell-metric{display:inline-flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;font-size:11.5px;color:#d6d9bd;line-height:1.5}
#combat-ui .spell-metric>img,#prepare-dialog .spell-metric>img,#combat-ui .spell-effect-line>img{width:17px!important;height:17px!important;min-width:17px;max-width:17px;object-fit:contain;margin:0!important;flex:none;background:transparent;filter:none}
#combat-ui .spell-metric.mana,#prepare-dialog .spell-metric.mana{color:#b9ddeb}#combat-ui .spell-metric.range,#prepare-dialog .spell-metric.range{color:#d6d99d}#combat-ui .spell-metric.recharge,#prepare-dialog .spell-metric.recharge{color:#ddc996}
#combat-ui .spell-role-label{color:#aebe9f!important;margin:3px 0 8px!important;font-size:11.5px!important}#combat-ui .spell-effect-line{display:flex;align-items:flex-start;gap:6px;line-height:1.5;margin:4px 0;font-size:12px}#combat-ui .spell-effect-line>img{margin-top:1px!important}#combat-ui .origin-metrics{margin:9px 0 7px;gap:6px 12px}#combat-ui .spell-origin .origin-note{font-size:11.5px!important;color:#91a38a!important;line-height:1.55}
#combat-ui .next-rank .spell-metrics{margin:0;gap:5px 10px}#combat-ui .next-rank .spell-metric>img{width:15px!important;height:15px!important;min-width:15px;max-width:15px}#prepare-dialog .prepared-metrics{justify-content:center;margin:0;gap:5px 9px}#prepare-dialog .prepared-metrics .spell-metric{font-size:11.5px}#prepare-dialog .prepared-list>div{min-width:155px}
body #cast-action.has-selected-spell{flex-wrap:wrap;row-gap:3px}body #cast-action.has-selected-spell #cast-info{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:5px 12px;flex:1 0 100%;order:3;color:#c0cfb7;overflow:visible;font-size:11.5px}body #cast-action.has-selected-spell #cast-info .spell-metric{font-size:11.5px}body #cast-action.has-selected-spell #cast-info .spell-metric>img{width:15px!important;height:15px!important;min-width:15px;max-width:15px}body.has-combat-ui:has(#cast-action.has-selected-spell){--hud-dock-height:186px}
@media(max-width:600px){#combat-ui .spell-metrics{gap:6px 9px}#combat-ui .spell-metric{font-size:11.5px}#combat-ui .spell-effect-line{font-size:11.5px}#combat-ui .spell-origin .origin-note{margin-bottom:9px!important}#prepare-dialog .prepared-list>div{min-width:140px}body #cast-action.has-selected-spell #cast-info{gap:4px 10px}}
/* Bandeau compact (≈ 95 px au lieu de 160) : marges et cases réduites ; hors combat, la ligne d'aide « n/4 sorts préparés » disparaît
   (les cases « + » et le Grimoire suffisent) ; en combat elle reste pour le sort choisi. */
body.has-combat-ui{--hud-dock-height:104px}body.has-combat-ui.in-battle{--hud-dock-height:134px}body.has-combat-ui:has(#cast-action.has-selected-spell){--hud-dock-height:156px}
body #spell-dock{padding:5px 12px 6px!important}body #spell-dock #player-strip{height:25px;margin-bottom:5px;padding-bottom:4px}
#spell-dock .dock-main{min-height:50px;gap:12px}.dock-identity>img{width:32px;height:40px}.dock-identity b{font-size:15px}
body #spell-bar{gap:8px}body #spell-bar .spell-slot,body #spell-bar .spell-empty{width:48px!important;height:50px!important}body #spell-bar .spell-slot img{width:36px;height:36px}
.dock-book{min-width:50px}.dock-book img{width:24px;height:24px}
body:not(.in-battle) #cast-action:not(.has-selected-spell){display:none!important}body #cast-action{margin-top:6px}
@media(max-width:470px){body.has-combat-ui{--hud-dock-height:100px}body #spell-bar .spell-slot,body #spell-bar .spell-empty{width:46px!important;height:49px!important}}
/* Barre du bas harmonisée : « Accès » au format des autres boutons, « Grimoire » au format d'une case de sort, bouton MJ.
   Bandeau de position sur une ligne (nom de sous-zone coupé « … ») : il ne chevauche plus « Classes & sorts ». */
html[data-theme] body #player-strip :is(#quick-menu-open,#admin-strip){min-height:0!important;height:22px;padding:2px 9px!important;margin-left:2px;border-radius:4px!important;font:700 11.5px var(--font-ui)!important;line-height:18px;align-self:center;box-shadow:none!important}
html[data-theme] body #player-strip #quick-menu-open img{width:15px;height:15px}
html[data-theme] body #player-strip #admin-strip{color:#fff!important;-webkit-text-fill-color:#fff;background:linear-gradient(#b0461c,#7a2a0c)!important;border:1px solid #e08a4c!important;text-shadow:0 1px 1px #0008;letter-spacing:.06em;opacity:1!important}
html[data-theme] body #player-strip #admin-strip:hover{background:linear-gradient(#c85424,#8e3210)!important}html[data-theme]:where([data-theme="nuit"]) body #player-strip #admin-strip:hover{background:linear-gradient(#4a6aa2,#2f476f)!important}
html[data-theme] body #spell-dock .dock-book{width:52px;height:48px;min-width:0;padding:3px 2px!important;gap:1px;justify-content:center;border-radius:8px!important;border:1px solid var(--theme-chrome-line)!important;background:var(--theme-chrome-2)!important;box-shadow:inset 0 1px #fff2!important}
html[data-theme] body #spell-dock .dock-book img{width:22px;height:22px}
html[data-theme] body #spell-dock .dock-book span{font-size:10.5px;line-height:1.1;font-weight:700}
html[data-theme] body #spell-dock .dock-book:hover{filter:brightness(1.12)}
body .title.glass{width:max-content!important;max-width:min(360px,calc(100vw - 24px))!important}
body .title.glass #where{display:block;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
/* Signaler un combat de boss de palier (multiplayer-ui.js) : à côté de « Quitter » */
body #fight-signal{font:700 11.5px/1 inherit;padding:5px 9px;margin-right:4px;border:1px solid #f0b54a;border-radius:7px;background:linear-gradient(#ffd77a,#e09a2a);color:#3b2206;cursor:pointer;white-space:nowrap;box-shadow:0 0 0 0 #ffbf4a88;animation:fightSignal 2.4s ease-in-out infinite}
body #fight-signal:hover{filter:brightness(1.08)}body #fight-signal:disabled{opacity:.55;animation:none;cursor:default}
body>#fight-signal{position:fixed;top:12px;right:12px;z-index:60}
@keyframes fightSignal{50%{box-shadow:0 0 0 5px #ffbf4a00}}
@media (prefers-reduced-motion:reduce){body #fight-signal{animation:none}}
body #spell-bar .spell-slot small.spell-key{top:1px!important;left:1px!important}body #spell-bar .spell-slot .spell-rank{top:1px!important;right:1px!important}/* repères dans la case : ne débordent plus sur la ligne du personnage */

/* Infobulle colorée des sorts (combat-ui.js spellTip) */
html body #rv-spell-tip#rv-spell-tip[role]{position:fixed;z-index:90;max-width:340px;padding:9px 12px;border-radius:9px;border:1px solid #c9a35a!important;background:#1d1a14!important;color:#efe6cf!important;opacity:1!important;font:500 12.5px/1.45 var(--font-ui,sans-serif);box-shadow:0 10px 26px #000a;pointer-events:none}html:where([data-theme="nuit"]) body #rv-spell-tip#rv-spell-tip[role]{background:#12171f!important}
#rv-spell-tip[hidden]{display:none}
#rv-spell-tip header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:2px}
#rv-spell-tip header b{font-size:14px;color:#ffd77a}
#rv-spell-tip header small{opacity:.7}
#rv-spell-tip .tt-meta{margin:0 0 5px;color:#cfc4a6;font-size:12px}
#rv-spell-tip ul{list-style:none;margin:0;padding:6px 0 0;border-top:1px solid #ffffff1f;display:grid;gap:3px}
#rv-spell-tip .tt-state{margin:6px 0 0;font-size:11.5px;color:#9fd38a}
#rv-spell-tip .tt-state:not(.is-ready){color:#f0a070}
#rv-spell-tip .tt-mana{color:#7fb8ff;font-weight:700}
#rv-spell-tip .tt-time{color:#ffe08a;font-weight:600}
#rv-spell-tip .tt-earth{color:#d29b4f}
#rv-spell-tip .tt-fire{color:#ff6a4a}
#rv-spell-tip .tt-water{color:#58b4ff}
#rv-spell-tip .tt-air{color:#6fdc6a}
#rv-spell-tip .tt-neutral{color:#d6d6d6}
#rv-spell-tip .tt-heal{color:#ff8fbf}
#rv-spell-tip .tt-ap{color:#5aa8ff}
#rv-spell-tip .tt-mp{color:#7ee07a}
#rv-spell-tip .tt-special{color:#d8a6ff}
/* barre du personnage : assez large pour Personnage, Métiers, Sac, ? et MJ (avant, Sac sortait du cadre) */
@media (min-width:900px){html body #spell-dock{max-width:880px!important;width:min(880px,calc(100% - 24px))!important}}
html[data-theme] body #rv-spell-tip#rv-spell-tip[role]{background:#1d1a14!important;color:#efe6cf!important;font-size:12.5px!important;padding:9px 12px!important}html[data-theme]:where([data-theme="nuit"]) body #rv-spell-tip#rv-spell-tip[role]{background:#12171f!important}
body.in-battle #quick-items{display:none!important}/* pains et potions interdits en combat */
/* combat-v3 (18/10/2026) : en combat, hauteur réservée au bandeau constante (celle du sort choisi) — la faire varier à chaque sort choisi ou lancé (body:has(#cast-action…)) recalculait les styles de toute la page : 7 à 9 ms, un à-coup à chaque sort */
:root body.has-combat-ui.in-battle:not(#rv-none){--hud-dock-height:156px}
