/* One scrollable book, clear actions and opaque hover states in every theme. */
#combat-ui #class-dialog{box-sizing:border-box;width:min(880px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;overflow:hidden;border-radius:16px;background:var(--window-paper);color:var(--theme-ink);font:400 14px/1.45 var(--font-ui)}
#combat-ui #class-dialog[open]{display:flex;flex-direction:column}
#combat-ui #class-dialog :is(button,summary,select){min-height:44px;font:700 13px/1.35 var(--font-ui);touch-action:manipulation}
#combat-ui #class-dialog :is(small,kbd){font-size:12px;line-height:1.35}
#combat-ui #class-dialog :is(button,select,summary):focus-visible{outline:3px solid var(--theme-accent-ink);outline-offset:2px}
#combat-ui #class-dialog>header{flex:none;min-height:64px;padding:10px 16px;gap:14px}
#combat-ui #class-dialog>header h2{font-size:25px;color:var(--window-text)}
#combat-ui #class-dialog>nav{display:flex;flex:none;align-items:center;gap:6px;padding:8px 16px;background:var(--theme-card);border-bottom:1px solid var(--theme-border)}
#combat-ui #class-dialog>nav>button{padding:8px 13px;background:var(--theme-card)!important;color:var(--theme-ink)!important;border:1px solid transparent;border-radius:8px}
#combat-ui #class-dialog>nav>button:is(:hover,:focus-visible):not(:disabled){background:var(--theme-paper-deep)!important;color:var(--theme-ink)!important;border-color:var(--theme-border)}
#combat-ui #class-dialog>nav>button.active{background:var(--theme-accent-soft)!important;color:var(--theme-ink)!important;border-color:var(--theme-accent);box-shadow:inset 0 -2px var(--theme-accent)}
#combat-ui #class-dialog #reset-spells{font-size:12px;font-weight:600;border-color:var(--theme-border);margin-left:2px}
#combat-ui #class-dialog #spell-points{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px;margin-left:auto;font-size:13px;font-weight:700;color:var(--theme-ink)!important;line-height:1.4}
#combat-ui #class-dialog #spell-points :is(span,b,strong){color:var(--theme-ink)!important}
#combat-ui #class-dialog #spell-points img{width:19px;height:20px;object-fit:contain}
#combat-ui #class-dialog #book-content{flex:1 1 auto;min-height:0;max-height:none;padding:14px 16px 16px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:14px}
#combat-ui #class-dialog .book-class-intro{margin:0 0 12px;font-size:14px;color:var(--theme-ink)}

/* The cropped original characters occupy the cards, rather than empty padding. */
#combat-ui #class-dialog .class-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#combat-ui #class-dialog .class-card{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:12px;min-width:0;min-height:108px;padding:9px 12px;text-align:left;border:1px solid var(--theme-border);border-radius:11px;background:var(--theme-card)!important;color:var(--theme-ink)!important;box-shadow:0 2px 3px #00000008;transition:background .13s,border-color .13s,box-shadow .13s}
#combat-ui #class-dialog .class-card>img{display:block;width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 3px 2px #00000024)}
#combat-ui #class-dialog .class-card>span{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:4px}
#combat-ui #class-dialog .class-card strong{font:800 18px/1.2 var(--font-ui);color:var(--theme-ink)!important;overflow-wrap:normal}
#combat-ui #class-dialog .class-card small{margin:0;font-size:12px;color:var(--theme-muted)!important}
#combat-ui #class-dialog .class-card em{display:inline-block;font-size:12px;font-style:normal;font-weight:800;color:var(--theme-accent-ink);line-height:1.2}
#combat-ui #class-dialog .class-card:is(:hover,:focus-visible):not(:disabled){background:var(--theme-paper-deep)!important;color:var(--theme-ink)!important;border-color:var(--theme-accent);box-shadow:inset 0 0 0 1px var(--theme-accent)}
#combat-ui #class-dialog .class-card.active,#combat-ui #class-dialog .class-card.active:is(:hover,:focus-visible){background:var(--theme-accent-soft)!important;color:var(--theme-ink)!important;border-color:var(--theme-accent);box-shadow:inset 0 0 0 1px var(--theme-accent)}
#combat-ui #class-dialog button:disabled{opacity:1;color:var(--theme-muted)!important;background:var(--theme-paper-deep)!important;cursor:not-allowed;box-shadow:none}
#combat-ui #class-dialog .class-card:disabled>img{filter:grayscale(.25);opacity:.8}

/* Four compact spell slots retain their names and physical keyboard numbers. */
#combat-ui #class-dialog .book-loadout{padding:11px 12px 12px;border:1px solid var(--theme-border);border-radius:11px;background:var(--theme-card)}
#combat-ui #class-dialog .book-loadout-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 9px;font-size:13px;color:var(--theme-muted)}
#combat-ui #class-dialog .book-loadout-heading>strong{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:800;color:var(--theme-ink)}
#combat-ui #class-dialog .book-loadout-heading strong span{padding:1px 6px;border-radius:5px;background:var(--theme-accent-soft);color:var(--theme-accent-ink);font-size:12px}
#combat-ui #class-dialog .book-loadout-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
#combat-ui #class-dialog .book-loadout-slot{position:relative;display:flex;align-items:center;gap:8px;min-width:0;height:58px;padding:7px 8px 7px 22px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-paper)!important;color:var(--theme-ink)!important;text-align:left}
#combat-ui #class-dialog .book-loadout-slot>img{width:34px;height:34px;object-fit:contain;flex:none}
#combat-ui #class-dialog .book-loadout-slot>strong{font-size:12px;line-height:1.3;font-weight:800;overflow-wrap:anywhere;color:inherit!important}
#combat-ui #class-dialog .book-loadout-slot>kbd{position:absolute;top:5px;left:5px;min-width:13px;line-height:16px;font:800 12px/1.3 var(--font-ui);color:var(--theme-muted);background:transparent}
#combat-ui #class-dialog .book-loadout-slot.is-empty{border-style:dashed;background:transparent!important;color:var(--theme-muted)!important;justify-content:center;padding-left:13px}
#combat-ui #class-dialog .book-loadout-slot.is-empty>span{font-size:25px;line-height:1;font-weight:400}
#combat-ui #class-dialog .book-loadout-slot:is(:hover,:focus-visible){background:var(--theme-accent-soft)!important;color:var(--theme-ink)!important;border-color:var(--theme-accent)}
#combat-ui #class-dialog .spell-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:12px 0;padding:0;border:0}
#combat-ui #class-dialog .spell-filters button{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 10px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-card)!important;color:var(--theme-ink)!important;font-size:13px}
#combat-ui #class-dialog .spell-filters button b{display:inline-grid;place-items:center;min-width:20px;padding:1px 4px;border-radius:4px;background:var(--theme-paper-deep);font-size:12px;color:var(--theme-ink)!important}
#combat-ui #class-dialog .spell-filters button:is(:hover,:focus-visible){background:var(--theme-paper-deep)!important;color:var(--theme-ink)!important;border-color:var(--theme-accent)}
#combat-ui #class-dialog .spell-filters button[aria-pressed=true]{background:var(--theme-accent-soft)!important;color:var(--theme-ink)!important;border-color:var(--theme-accent);box-shadow:inset 0 -2px var(--theme-accent)}
#combat-ui #class-dialog .spell-filters .book-help{margin-left:auto;border-color:transparent;background:transparent!important;color:var(--theme-accent-ink)!important}

/* The left index chooses a single readable spell sheet. Only #book-content scrolls. */
#combat-ui #class-dialog .book-browser{display:grid;grid-template-columns:214px minmax(0,1fr);gap:14px;align-items:start}
#combat-ui #class-dialog .book-spell-index{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;margin:0;padding:0;overflow:visible;max-height:none}
#combat-ui #class-dialog .book-spell-index>button{display:flex;align-items:center;gap:9px;width:100%;min-width:0;min-height:56px;padding:7px 8px;text-align:left;border:1px solid transparent;border-radius:8px;background:var(--theme-card)!important;color:var(--theme-ink)!important}
#combat-ui #class-dialog .book-spell-index>button>img{width:34px;height:34px;object-fit:contain;flex:none}
#combat-ui #class-dialog .book-spell-index>button>span{display:flex;flex-direction:column;gap:3px;min-width:0}
#combat-ui #class-dialog .book-spell-index strong{font-size:13px;line-height:1.3;font-weight:800;color:var(--theme-ink)!important}
#combat-ui #class-dialog .book-spell-index small{font-size:12px;color:var(--theme-muted)!important}
#combat-ui #class-dialog .book-spell-index>button:is(:hover,:focus-visible){background:var(--theme-paper-deep)!important;color:var(--theme-ink)!important;border-color:var(--theme-border)}
#combat-ui #class-dialog .book-spell-index>button[aria-pressed=true]{background:var(--theme-accent-soft)!important;color:var(--theme-ink)!important;border-color:var(--theme-accent);box-shadow:inset 3px 0 var(--theme-accent)}
#combat-ui #class-dialog .book-mobile-picker{display:none}
#combat-ui #class-dialog .book-selected-spell{display:block;min-width:0;margin:0;padding:15px;border:1px solid var(--theme-border);border-radius:11px;background:var(--theme-card)!important;color:var(--theme-ink)}
#combat-ui #class-dialog .book-spell-heading{display:flex;align-items:center;justify-content:flex-start;gap:13px;min-height:64px;margin:0 0 14px;padding:0;border:0;background:transparent}
#combat-ui #class-dialog .book-spell-heading>img{width:58px;height:58px;object-fit:contain;flex:none}
#combat-ui #class-dialog .book-spell-heading>div{min-width:0}
#combat-ui #class-dialog .book-spell-role{display:block;margin-bottom:3px;font-size:12px;font-weight:700;color:var(--theme-muted)}
#combat-ui #class-dialog .book-spell-heading h3{margin:0 0 5px;font:800 22px/1.15 var(--font-ui);color:var(--theme-ink)}
#combat-ui #class-dialog .spell-status{display:inline-block;padding:2px 6px;border:1px solid var(--theme-border);border-radius:5px;font-size:12px;font-weight:600;color:var(--theme-ink);background:var(--theme-paper)}
#combat-ui #class-dialog .spell-status.prepared{background:var(--theme-accent-soft);border-color:var(--theme-accent);color:var(--theme-accent-ink)}
#combat-ui #class-dialog .book-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}
#combat-ui #class-dialog .book-stat-grid .spell-metric{display:flex;align-items:center;gap:8px;min-width:0;margin:0;padding:9px 8px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-paper);color:var(--theme-ink)}
#combat-ui #class-dialog .book-stat-grid .spell-metric>img{width:23px;height:25px;object-fit:contain;flex:none}
#combat-ui #class-dialog .book-stat-grid .spell-metric>span{display:flex;flex-direction:column;gap:1px;min-width:0}
#combat-ui #class-dialog .book-stat-grid strong{font-size:18px;line-height:1.2;color:var(--theme-ink)}
#combat-ui #class-dialog .book-stat-grid small{font-size:12px;color:var(--theme-muted);white-space:nowrap}
#combat-ui #class-dialog .book-stat-grid .mana{background:var(--theme-mana-bg);border-color:color-mix(in srgb,var(--theme-mana-ink) 35%,transparent)}
#combat-ui #class-dialog .book-stat-grid .mana :is(strong,small){color:var(--theme-mana-ink)}
#combat-ui #class-dialog .book-effects>strong{font-size:13px;font-weight:800;color:var(--theme-ink)}
#combat-ui #class-dialog .adapted-effect{display:flex;flex-direction:column;gap:5px;margin:7px 0;background:transparent}
#combat-ui #class-dialog .spell-effect-line{display:flex;align-items:flex-start;gap:7px;padding:0;font-size:14px;line-height:1.45;color:var(--theme-ink)}
#combat-ui #class-dialog .spell-effect-line>img{width:20px;height:21px;object-fit:contain;flex:none;margin-top:1px}
#combat-ui #class-dialog .book-critical{margin:7px 0 0;font-size:12px;color:var(--theme-muted)}
#combat-ui #class-dialog .book-critical .spell-metric{display:flex;align-items:center;gap:6px;font-size:12px}
#combat-ui #class-dialog .book-critical img{width:18px;height:18px;object-fit:contain}
#combat-ui #class-dialog .book-casting{margin:13px 0 11px;padding:9px 10px;border-left:3px solid var(--theme-accent);border-radius:0 6px 6px 0;background:var(--theme-paper);color:var(--theme-ink);font-size:13px;line-height:1.45}
#combat-ui #class-dialog .spell-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 0}
#combat-ui #class-dialog .spell-options>button{min-height:44px;padding:9px 10px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-paper)!important;color:var(--theme-ink)!important;font-size:13px;font-weight:800}
#combat-ui #class-dialog .spell-options>button:is(:hover,:focus-visible):not(:disabled){background:var(--theme-paper-deep)!important;color:var(--theme-ink)!important;border-color:var(--theme-accent)}
#combat-ui #class-dialog .spell-options>.book-primary:not(:disabled),#combat-ui #class-dialog .spell-options>[data-upgrade]:not(:disabled){background:var(--theme-accent)!important;color:var(--theme-accent-text)!important;border-color:var(--theme-accent)}
#combat-ui #class-dialog .spell-options>:is(.book-primary,[data-upgrade]):is(:hover,:focus-visible,:active):not(:disabled){background:var(--theme-accent-hover)!important;color:var(--theme-accent-text)!important;border-color:var(--theme-accent-hover)}
#combat-ui #class-dialog .spell-options>button:disabled{background:var(--theme-paper-deep)!important;color:var(--theme-muted)!important;border-color:var(--theme-border)}
#combat-ui #class-dialog .book-reorder{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:12px;color:var(--theme-muted)}
#combat-ui #class-dialog .book-reorder>span{flex:1}
#combat-ui #class-dialog .book-reorder>button{width:44px;height:44px;padding:0;border:1px solid var(--theme-border);background:var(--theme-paper)!important;color:var(--theme-ink)!important;font-size:19px}
#combat-ui #class-dialog .book-reorder>button:is(:hover,:focus-visible):not(:disabled){background:var(--theme-accent-soft)!important;color:var(--theme-ink)!important;border-color:var(--theme-accent)}
#combat-ui #class-dialog :is(.book-rank-preview,.spell-origin){margin:10px 0 0;border-top:1px solid var(--theme-border);padding:0;background:transparent;font-size:12px;color:var(--theme-muted)!important}
#combat-ui #class-dialog :is(.book-rank-preview,.spell-origin)>summary{display:list-item;align-content:center;min-height:44px;padding:10px 0;font-size:12px;color:var(--theme-ink)!important;cursor:pointer}
#combat-ui #class-dialog :is(.book-rank-preview,.spell-origin)>summary:hover{color:var(--theme-accent-ink)!important}
#combat-ui #class-dialog :is(.book-rank-preview,.spell-origin) :is(p,small){font-size:12px;color:var(--theme-muted)}
#combat-ui #class-dialog .next-rank{display:flex;flex-direction:column;gap:6px;margin:0 0 10px;padding:10px;background:var(--theme-paper);border-radius:7px;font-size:12px}
#combat-ui #class-dialog .spell-origin .spell-metrics{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 10px;font-size:12px}
#combat-ui #class-dialog .spell-origin .spell-metric{display:inline-flex;align-items:center;gap:5px}
#combat-ui #class-dialog .spell-origin .spell-metric img{width:19px;height:19px;object-fit:contain}

@media(max-width:700px){
 #combat-ui #class-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:13px;font-size:13px}
 #combat-ui #class-dialog>header{min-height:59px;padding:8px 11px}#combat-ui #class-dialog>header h2{font-size:22px}
 #combat-ui #class-dialog>nav{gap:5px;padding:7px 10px;flex-wrap:wrap}#combat-ui #class-dialog>nav>button{padding:7px 10px}
 #combat-ui #class-dialog #spell-points{font-size:12px;gap:4px}#combat-ui #class-dialog #spell-points img{display:none}
 #combat-ui #class-dialog[data-book-view=spells] #spell-points{order:3;justify-content:flex-start;width:calc(100% - 108px);margin:0;min-height:38px}
 #combat-ui #class-dialog #reset-spells{order:4;margin-left:auto;min-height:44px;padding:6px 8px}
 #combat-ui #class-dialog #book-content{padding:11px 10px 12px;scrollbar-gutter:auto}
 #combat-ui #class-dialog .class-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #combat-ui #class-dialog .class-card{grid-template-columns:54px minmax(0,1fr);gap:7px;min-height:94px;padding:8px 7px}
 #combat-ui #class-dialog .class-card>img{width:54px;height:74px}#combat-ui #class-dialog .class-card strong{font-size:18px}#combat-ui #class-dialog .class-card small{font-size:12px}
 #combat-ui #class-dialog .book-class-intro{font-size:13px;margin-bottom:10px}
 #combat-ui #class-dialog .book-loadout{padding:9px}#combat-ui #class-dialog .book-loadout-heading{align-items:flex-start;gap:8px;font-size:12px}#combat-ui #class-dialog .book-loadout-heading>span{max-width:124px;text-align:right}
 #combat-ui #class-dialog .book-loadout-slots{gap:5px}#combat-ui #class-dialog .book-loadout-slot{height:76px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:7px 3px 5px;text-align:center}#combat-ui #class-dialog .book-loadout-slot>img{width:30px;height:30px}#combat-ui #class-dialog .book-loadout-slot>strong{font-size:12px;line-height:1.1}#combat-ui #class-dialog .book-loadout-slot>kbd{left:4px;top:3px}
 #combat-ui #class-dialog .spell-filters{gap:5px;margin:10px 0}#combat-ui #class-dialog .spell-filters button{padding:6px 8px;font-size:12px;gap:4px}#combat-ui #class-dialog .spell-filters button b{min-width:15px;padding:1px 3px}#combat-ui #class-dialog .spell-filters .book-help{margin-left:0;flex:none}
 #combat-ui #class-dialog .book-browser{grid-template-columns:minmax(0,1fr);gap:10px}#combat-ui #class-dialog .book-spell-index{display:none}
 #combat-ui #class-dialog .book-mobile-picker{display:flex;flex-direction:column;gap:5px;margin:0;font-size:12px;font-weight:700;color:var(--theme-ink)}
 #combat-ui #class-dialog .book-mobile-picker select{box-sizing:border-box;width:100%;min-width:0;padding:9px 10px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-card);color:var(--theme-ink);font-size:16px}
 #combat-ui #class-dialog .book-selected-spell{padding:12px}#combat-ui #class-dialog .book-spell-heading{gap:10px;margin-bottom:12px}#combat-ui #class-dialog .book-spell-heading>img{width:47px;height:47px}#combat-ui #class-dialog .book-spell-heading h3{font-size:20px}
 #combat-ui #class-dialog .book-stat-grid{gap:5px;margin-bottom:12px}#combat-ui #class-dialog .book-stat-grid .spell-metric{padding:8px 5px;gap:5px;flex-direction:column;align-items:center;text-align:center}#combat-ui #class-dialog .book-stat-grid .spell-metric>img{width:21px;height:22px}#combat-ui #class-dialog .book-stat-grid strong{font-size:18px}
 #combat-ui #class-dialog .spell-options{gap:6px}#combat-ui #class-dialog .spell-options>button{font-size:12px;padding:8px 6px}
}
@media(max-width:360px){#combat-ui #class-dialog .class-card{grid-template-columns:44px minmax(0,1fr);gap:5px;padding-inline:5px}#combat-ui #class-dialog .class-card>img{width:44px}#combat-ui #class-dialog .class-card strong{font-size:16px}}
@media(max-height:500px) and (min-width:701px){#combat-ui #class-dialog>header{min-height:54px;padding-block:5px}#combat-ui #class-dialog .class-card{min-height:96px}#combat-ui #class-dialog .class-card>img{height:72px}}
@media(prefers-reduced-motion:reduce){#combat-ui #class-dialog *{transition:none!important;scroll-behavior:auto!important}}

/* Keep the important actions close on narrow screens; auxiliary counts are in the list. */
#combat-ui #class-dialog :is(.spell-metric,.spell-metric>span,.next-rank>span,.spell-origin .origin-note){font-size:12px}
#combat-ui #class-dialog .spell-origin .origin-note{font-size:12px!important}
#combat-ui #class-dialog .book-reorder>button:disabled{color:var(--theme-muted)!important}
@media(max-width:700px){
 #combat-ui #class-dialog[data-book-view=spells]>nav{display:grid;grid-template-columns:auto auto 1fr;gap:4px 6px}
 #combat-ui #class-dialog[data-book-view=spells] #class-tab{grid-row:1;grid-column:1}
 #combat-ui #class-dialog[data-book-view=spells] #spell-tab{grid-row:1;grid-column:2}
 #combat-ui #class-dialog[data-book-view=spells] #reset-spells{grid-row:1;grid-column:3;justify-self:end}
 #combat-ui #class-dialog[data-book-view=spells] #spell-points{grid-row:2;grid-column:1/4;width:auto;min-height:23px;padding-top:2px}
 #combat-ui #class-dialog .book-loadout-heading>span{display:none}
 #combat-ui #class-dialog .spell-filters{gap:4px;flex-wrap:nowrap}
 #combat-ui #class-dialog .spell-filters button{padding:6px;font-size:12px;white-space:nowrap}
 #combat-ui #class-dialog .spell-filters button b{display:none}
 #combat-ui #class-dialog .spell-filters .book-help{margin-left:auto;padding-inline:5px}
}
/* Glisser-déposer des sorts dans les emplacements du grimoire. */
.book-drag-ghost{position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-50%) scale(1.1);width:48px;height:48px;border-radius:10px;background:#fff8e6;border:2px solid #c4650a;box-shadow:0 6px 18px rgba(0,0,0,.4);display:grid;place-items:center}
.book-drag-ghost img{width:40px;height:40px}
body.book-dragging,body.book-dragging *{cursor:grabbing!important;user-select:none!important}
#combat-ui #class-dialog [data-drag-spell]{cursor:grab}
#combat-ui #class-dialog .book-loadout-slot.drop-over{outline:3px solid #e9a23a;outline-offset:2px;background:#fff1d2!important}
/* Glisser-déposer vers la barre de sorts du bas (17/10/2026). */
.book-drag-ghost[popover]{inset:auto;right:auto;bottom:auto;margin:0;padding:0;overflow:visible;color:inherit;background:#fff8e6}
#combat-ui #class-dialog [data-drag-spell],#spell-bar>.spell-slot{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
#combat-ui #class-dialog .book-spell-heading img[data-drag-spell]{cursor:grab}
body.book-dragging #spell-bar>.spell-slot,body.book-dragging #spell-bar>.spell-empty{outline:2px dashed #e9a23a;outline-offset:1px;transition:transform .12s}
body.book-dragging #spell-bar>.drop-over{outline:3px solid #ffbf4d;outline-offset:2px;background:#6b4a12!important;transform:scale(1.07);box-shadow:0 0 14px #ffbf4daa}:where(html[data-theme="nuit"]) body.book-dragging #spell-bar>.drop-over{background:#273856!important}
#spell-bar>.drag-source,#combat-ui #class-dialog .drag-source{opacity:.45}
body.book-dragging #class-dialog{transition:opacity .15s}
body.book-drag-covered #class-dialog{opacity:.55}
body.book-drag-covered.book-drag-hud #class-dialog{opacity:.15}
html body.book-dragging #class-dialog::backdrop{background:transparent!important;backdrop-filter:none!important}
/* Grimoire ouvert (17/10/2026) : la barre de sorts du bas n'est plus grisée hors combat, pour la modifier par glisser-déposer */
html body:not(.in-battle):has(#class-dialog[open]) #spell-bar .spell-slot{filter:none!important;opacity:1!important;cursor:grab}
html body:not(.in-battle):has(#class-dialog[open]) #spell-bar .spell-slot:hover{transform:translateY(-1px);box-shadow:0 0 0 2px #ffbf4d88}
