
/* Icon-only book actions; underlying labels and native form/link semantics remain. */
body.fbp .fwr-app [data-fwr-action-icon]{display:inline-flex!important;align-items:center!important;justify-content:center!important;position:relative!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;font-size:0!important;line-height:0!important;gap:0!important;overflow:hidden}
body.fbp .fwr-app [data-fwr-action-icon]>svg,body.fbp .fwr-app [data-fwr-action-icon]>span{display:none!important}
body.fbp .fwr-app [data-fwr-action-icon]::before{content:""!important;display:block!important;position:static!important;width:22px!important;height:22px!important;margin:0!important;background:currentColor!important;border:0!important;box-shadow:none!important;mask:var(--fwr-action-mask) center/contain no-repeat;-webkit-mask:var(--fwr-action-mask) center/contain no-repeat}
body.fbp .fwr-app [data-fwr-action-icon][aria-busy=true]{opacity:.6}
body.fbp .fwr-app [data-fwr-action-icon="read"]{--fwr-action-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205Q7%202%203%204v15q5-2%209%201q4-3%209-1V4q-4-2-9%201v15%22/%3E%3C/svg%3E")}
body.fbp .fwr-app [data-fwr-action-icon="resume"]{--fwr-action-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%204h7v16H3zM10%205h6v7M14%2015h7m-3-3%203%203-3%203%22/%3E%3C/svg%3E")}
body.fbp .fwr-app [data-fwr-action-icon="details"]{--fwr-action-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%203h10l4%204v14H5zM14%203v5h5M8%2012h8M8%2016h6%22/%3E%3C/svg%3E")}
body.fbp .fwr-app [data-fwr-action-icon="download"]{--fwr-action-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v12m-5-5%205%205%205-5M4%2016v5h16v-5%22/%3E%3C/svg%3E")}
body.fbp .fwr-app [data-fwr-action-icon="buy"]{--fwr-action-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18v14H3zM3%2010h18M6%2016h4%22/%3E%3C/svg%3E")}
body.fbp .fwr-app [data-fwr-action-icon][hidden]{display:none!important}

body.fbp .fwr-app [data-fwr-action-icon="cart"]{--fwr-action-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%203h2l3%2012h11l2-9H6M9%2020h.01M18%2020h.01%22/%3E%3C/svg%3E")}
body.fbp .fwr-app [data-fwr-action-icon="library"]{--fwr-action-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%204h4v16H3zM10%204h4v16h-4zM16%205l4-1%203%2015-4%201z%22/%3E%3C/svg%3E")}
body.fbp .fwr-app [data-fwr-action-icon="heart"]{--fwr-action-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.8%204.6a5.5%205.5%200%200%200-7.8%200L12%205.7l-1.1-1.1a5.5%205.5%200%200%200-7.8%207.8L12%2021l8.8-8.6a5.5%205.5%200%200%200%200-7.8Z%22/%3E%3C/svg%3E")}
body.fbp .fwr-app [data-fwr-action-icon="heart-filled"]{--fwr-action-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.8%204.6a5.5%205.5%200%200%200-7.8%200L12%205.7l-1.1-1.1a5.5%205.5%200%200%200-7.8%207.8L12%2021l8.8-8.6a5.5%205.5%200%200%200%200-7.8Z%22/%3E%3C/svg%3E")}
/* Theme-generated recommendation cards keep their native links and forms. */
body.fbp .fwr-app .fbp-market-actions{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:8px!important}
body.fbp .fwr-app .fbp-market-actions>[data-fwr-action-icon]{flex:0 0 44px!important;margin:0!important;float:none!important}
body.fbp .fwr-app .fbp-market-actions [data-fwr-action-icon]::after{display:none!important}

/* Keep the glyph full-size when the theme adds flex pseudo-elements. */
body.fbp .fwr-app [data-fwr-action-icon]::before{flex:0 0 22px!important;min-width:22px!important;max-width:22px!important}
body.fbp .fwr-app [data-fwr-action-icon]::after{display:none!important}

/* Stable direct action group keeps theme library-status from rewrapping edition links. */
body.fbp .fwr-app .fwr-v2-purchase-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%}
body.fbp .fwr-app .fwr-v2-purchase-actions>form,body.fbp .fwr-app .fwr-v2-purchase-actions>p{flex:1 0 100%;width:100%}

body.fbp .fwr-app .fwr-detail-save-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.fbp .fwr-app [data-reader-detail-save-actions][hidden]{display:none!important}
/* Match the hub's stronger font shorthand without shrinking the hit targets. */
body.fbp .fwr-app [data-reader-dialog] .fw-library-actions > a.button[data-fwr-action-icon][data-fwr-action-icon]{font-size:0!important;line-height:0!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:0!important}
body.fbp .fwr-app [data-reader-dialog] [data-fwr-action-icon]::before{width:18px!important;height:18px!important;flex:0 0 18px!important;min-width:18px!important;max-width:18px!important}
body.fbp .fwr-app [data-reader-dialog] :is(.fw-library-actions,.fbp-market-actions,.fwr-catalog-actions,.fbp-reader-purchase-card) :is(button,a) svg{width:18px!important;height:18px!important}
@media(max-width:700px){
body.fbp .fwr-app [data-reader-dialog] [data-fwr-action-icon]::before{width:16px!important;height:16px!important;flex:0 0 16px!important;min-width:16px!important;max-width:16px!important}
body.fbp .fwr-app [data-reader-dialog] :is(.fw-library-actions,.fbp-market-actions,.fwr-catalog-actions,.fbp-reader-purchase-card) :is(button,a) svg{width:16px!important;height:16px!important}
}
/* Paid detail actions share one row; wishlist remains a non-submit control. */
body.fbp .fwr-app [data-reader-dialog] .fwr-v2-detail [data-reader-cart-actions]{display:flex!important;align-items:center!important;gap:8px!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-v2-detail [data-reader-cart-actions]>[data-reader-wishlist]{order:-1;flex:0 0 44px}
body.fbp .fwr-app [data-reader-dialog] .fwr-v2-detail [data-reader-edition-claim][hidden],body.fbp .fwr-app [data-reader-dialog] .fwr-v2-detail [data-reader-wishlist][hidden]{display:none!important}
@media(min-width:701px){body.fbp .fwr-app [data-reader-dialog] .fwr-v2-detail .fbp-reader-purchase-card [data-reader-cart-form]>[data-reader-cart-actions]{flex-wrap:nowrap!important}}
/* Cover intro keeps its action compact even before the action decorator runs. */
body.fbp .fwr-app [data-reader-dialog] .fbp-reader-cover-screen button[data-reader-start]{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;gap:0!important;font-size:0!important;line-height:0!important}
body.fbp .fwr-app [data-reader-dialog] .fbp-reader-cover-screen [data-reader-start-label]{display:none!important}
body.fbp .fwr-app [data-reader-dialog] .fbp-reader-cover-screen button[data-reader-start]>svg{width:18px;height:18px}
/* Intro action follows its description, never floats beside the title. */
body.fbp .fwr-app [data-reader-dialog] .fbp-reader-cover-screen{padding-inline-start:20px!important;box-sizing:border-box}
body.fbp .fwr-app [data-reader-dialog] .fbp-reader-cover-screen .fwr-cover-intro-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0;gap:12px}
body.fbp .fwr-app [data-reader-dialog] .fwr-cover-intro-copy>*{order:0!important;margin-block:0!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-cover-intro-copy button[data-reader-start]{position:static!important;float:none!important;align-self:flex-start!important;flex:0 0 44px!important;margin:0!important;transform:none!important}
@media(max-width:700px){body.fbp .fwr-app [data-reader-dialog] .fbp-reader-cover-screen{padding-inline-start:16px!important;padding-inline-end:16px!important}}
/* The featured reading CTA is primary: retain its live Start/Continue label.
   Secondary card, download, purchase and toolbar controls stay icon-only. */
body.fbp .fwr-app [data-reader-dialog] .fw-library-featured .fw-library-actions > a.button.fw-library-read[data-fwr-action-icon][data-fwr-action-icon]{width:auto!important;max-width:100%!important;min-width:44px!important;height:auto!important;min-height:44px!important;padding:10px 14px!important;font:600 14px/1.35 system-ui!important;gap:8px!important;white-space:normal!important;overflow-wrap:anywhere;box-sizing:border-box;flex:0 1 auto!important;text-align:center}
@media(max-width:700px){body.fbp .fwr-app [data-reader-dialog] .fw-library-featured .fw-library-actions{flex-wrap:wrap!important;min-width:0}body.fbp .fwr-app [data-reader-dialog] .fw-library-featured .fw-library-actions > a.button.fw-library-read[data-fwr-action-icon][data-fwr-action-icon]{padding:10px 12px!important}}
/* The theme wraps changing resume labels after initial render. */
body.fbp .fwr-app [data-reader-dialog] .fw-library-featured .fw-library-actions > a.button.fw-library-read[data-fwr-action-icon][data-fwr-action-icon] > [data-reader-label]{display:inline!important;font:inherit!important;line-height:inherit!important;min-width:0}
/* Acquisition lives on title details, not repeated collection cards. Theme fallback cards
   still retain their title/cover links; server claim/save endpoints stay permission checked. */
body.fbp .fwr-app [data-reader-dialog] :is(.fbp-market-book,.fwr-catalog-card,.fw-library-book,.fbp-story-tile,.fbp-reader-shelf-card) :is([data-book-library],[data-free-claim],[data-story-add],.fbp-library-save,.fwr-add-library-icon){display:none!important}
/* Ordinary browsing shelves are cover-only. Keep the featured Continue Reading
   panel and full title details unchanged; status badges live inside the cover. */
body.fbp .fwr-app [data-reader-dialog] .fw-library-book:not(.fw-library-featured)>.fw-library-copy,
body.fbp .fwr-app [data-reader-dialog] .fbp-market-book:not(.fbp-announcement-card)>.fbp-market-copy,
body.fbp .fwr-app [data-reader-dialog] .fbp-story-tile>.fbp-story-tile-body,
body.fbp .fwr-app [data-reader-dialog] .fwr-catalog-card>:not(.fwr-catalog-cover),
body.fbp .fwr-app [data-reader-dialog] .fbp-reader-shelf-card>:not(.fbp-reader-shelf-cover){display:none!important}
body.fbp .fwr-app [data-reader-dialog] :is(.fw-library-book:not(.fw-library-featured),.fbp-market-book:not(.fbp-announcement-card),.fbp-story-tile,.fwr-catalog-card,.fbp-reader-shelf-card){display:block!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;min-width:0}
body.fbp .fwr-app [data-reader-dialog] :is(.fw-library-book:not(.fw-library-featured)>.fw-library-cover,.fbp-market-book:not(.fbp-announcement-card)>.fbp-market-cover,.fbp-story-tile>.fbp-story-cover,.fwr-catalog-card>.fwr-catalog-cover,.fbp-reader-shelf-card>.fbp-reader-shelf-cover){display:block!important;width:100%!important;max-width:none!important;margin:0!important}
/* Read Aloud is opt-in for this reading session. Its compact controls float above
   page navigation; explicit Off, not Stop/end, dismisses the panel. */
body.fbp .fwr-app [data-reader-dialog] .fwr-player{position:fixed!important;inset:auto 12px calc(76px + env(safe-area-inset-bottom)) auto!important;width:max-content!important;max-width:calc(100vw - 24px)!important;min-height:56px!important;height:auto!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:6px!important;border:1px solid var(--app-line)!important;border-radius:16px!important;box-shadow:0 4px 20px #0002!important;z-index:44!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-player :is(.fwr-player-art,.fwr-player-title,.fwr-player-progress){display:none!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-player :is(.fwr-player-skip,.fwr-sheet-launch,.fwr-player-off){display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;margin:0!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-player [data-reader-rate]{width:60px!important;min-height:44px!important;max-width:60px!important;padding:4px!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-player-reveal{position:fixed!important;inset:auto 12px calc(76px + env(safe-area-inset-bottom)) auto!important;min-height:44px!important;max-width:calc(100vw - 24px)!important;padding:8px 12px!important;border-radius:12px!important;z-index:44!important}
body.fbp .fwr-app [data-reader-dialog] :is(.fwr-player,.fwr-player-reveal)[hidden]{display:none!important}
/* Reserve the measured floating control footprint in both page and scroll modes.
   Measurement includes its fixed bottom offset, safe area and any wrapped rows. */
body.fbp .fwr-app [data-reader-dialog] .fbp-reader-viewport .fbp-reader-frame{height:calc(100% - var(--fwr-player-reserve,0px))!important;max-height:calc(100% - var(--fwr-player-reserve,0px))!important}
/* Keep narration away from the bottom-right QuickCapture action. Explicit
   glyphs/colors resist theme icon-button and select typography resets. */
body.fbp .fwr-app [data-reader-dialog] :is(.fwr-player,.fwr-player-reveal){left:12px!important;right:auto!important;max-width:calc(100vw - 96px)!important;transform:none!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-player :is(.fwr-sheet-launch,.fwr-player-off,.fwr-player-skip){background:#f5f1ec!important;color:#30262b!important;font:600 24px/1 system-ui!important;border:0!important;border-radius:10px!important;opacity:1!important;visibility:visible!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-player :is(.fwr-sheet-launch,.fwr-player-off):after{display:none!important;content:none!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-player :is(.fwr-sheet-launch,.fwr-player-off)>svg{display:block!important;width:20px!important;height:20px!important;min-width:20px!important;flex:0 0 20px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;opacity:1!important;visibility:visible!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-player select[data-reader-rate]{display:block!important;background:#fff!important;color:#30262b!important;-webkit-text-fill-color:#30262b!important;font:600 14px/1.2 system-ui!important;text-indent:0!important;letter-spacing:normal!important;opacity:1!important;visibility:visible!important;appearance:auto!important;border:1px solid #c9bdc3!important;border-radius:8px!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-player select[data-reader-rate] option{background:#fff!important;color:#30262b!important;font-size:14px!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-player-reveal{background:#70263d!important;color:#fff!important;font:600 14px/1.3 system-ui!important}
/* Independent reading-center reveal: does not depend on narration being enabled. */
body.fbp .fwr-app [data-reader-dialog] .fwr-reading-menu-handle{position:fixed!important;left:50%!important;right:auto!important;bottom:var(--fwr-reader-handle-bottom,80px)!important;transform:translateX(-50%)!important;display:flex!important;align-items:center!important;justify-content:center!important;width:64px!important;height:44px!important;min-height:44px!important;padding:0!important;border:1px solid #c9bdc3!important;border-radius:16px!important;background:#fff!important;color:#70263d!important;z-index:45!important;touch-action:none}
body.fbp .fwr-app [data-reader-dialog] .fwr-reading-menu-handle>svg{display:block!important;width:22px!important;height:22px!important;stroke:currentColor!important;fill:none!important}
body.fbp .fwr-app [data-reader-dialog] .fwr-reading-menu-handle[hidden]{display:none!important}
/* Welcome action is intentionally a visible text CTA, not an icon-only action. */
body.fbp .fwr-app [data-reader-dialog] .fbp-reader-cover-screen .fwr-cover-intro-copy button[data-reader-start]{width:auto!important;max-width:100%!important;min-width:44px!important;height:auto!important;min-height:44px!important;flex:0 0 auto!important;padding:10px 16px!important;font:600 15px/1.3 system-ui!important;line-height:1.3!important;gap:0!important;color:#fff!important;background:#70263d!important;white-space:normal!important}
body.fbp .fwr-app [data-reader-dialog] .fbp-reader-cover-screen button[data-reader-start] [data-reader-start-label]{display:inline!important;font:inherit!important;line-height:inherit!important}
body.fbp .fwr-app [data-reader-dialog] .fbp-reader-cover-screen button[data-reader-start]::before,body.fbp .fwr-app [data-reader-dialog] .fbp-reader-cover-screen button[data-reader-start]>svg{display:none!important;content:none!important}
