.book-reorder-grid [data-book]{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;touch-action:pan-y pinch-zoom}
.book-reorder-grid [data-book] img{-webkit-user-drag:none;pointer-events:none}
.book-reorder-hint{grid-column:1/-1;text-align:center;color:var(--muted,#85867f);font-size:11px;line-height:1.8;letter-spacing:.04em;margin:5px 0 0}
.book-reorder-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.book-reorder-grid .book-reorder-placeholder{position:relative;outline:2px dashed #8da18d;outline-offset:7px;border-radius:3px;background:#8da18d14}
.book-reorder-grid .book-reorder-placeholder>*{opacity:.12}
.book-reorder-ghost{position:fixed!important;left:0!important;top:0!important;margin:0!important;padding:0;z-index:250!important;pointer-events:none!important;transform-origin:50% 35%;will-change:transform;opacity:.96;filter:drop-shadow(0 18px 18px #132c3438);touch-action:none;-webkit-user-select:none;user-select:none;transition:none!important;text-align:left;cursor:grabbing}
.book-reorder-ghost img{width:100%;aspect-ratio:.69;object-fit:cover;border-radius:2px;display:block}
.book-reorder-ghost strong{display:block;font:16px var(--serif,serif);margin:13px 0 6px}
.book-reorder-ghost small{font-size:11px;color:var(--muted,#85867f)}
.book-reorder-dragging{cursor:grabbing!important;-webkit-user-select:none;user-select:none}
.book-reorder-active [data-book]{cursor:grabbing}
@media(prefers-reduced-motion:reduce){.book-reorder-ghost{filter:none;will-change:auto}}
