.book-status-toast, .book-finished-dialog { font-family: "Geologica Pilcrow", sans-serif; font-variation-settings: "CRSV" 0, "SHRP" 0; color: #fff8e9; box-sizing: border-box; }
.book-status-toast[hidden] { display: none; }
.book-status-toast { position: absolute; z-index: 120; top: 126px; left: 20px; right: 20px; height: 52px; border: 1px solid #ff6c4b; border-radius: 26px; padding: 0 11px 0 19px; display: flex; align-items: center; gap: 12px; background: linear-gradient(90deg,#6d3026 0%,#2e1010 27%,#3c0c08 70%,#fe4f00 100%); animation: book-status-enter .24s ease-out; }
.book-status-copy { flex: 1; min-width: 0; font-size: 11px; line-height: 16px; font-weight: 300; }
.book-status-copy strong { display: block; font-size: 12px; line-height: 18px; font-weight: 600; }
.book-status-art { width: 40px; height: 36px; position: relative; flex: none; }
.book-status-art img { position: absolute; left: -7.5px; top: -19px; width: 64px; height: 65px; max-width: none; }
.book-status-divider { width: 1px; height: 28px; background: #ff6c4b; flex: none; }
.book-status-toast button { width: 92px; height: 44px; padding: 0; flex: none; font: 400 14px/20px "Geologica Pilcrow",sans-serif; color: inherit; border: 0; background: none; }
.book-finished-dialog { width: 350px; max-width: calc(100% - 40px); height: 556px; max-height: calc(100dvh - 40px); margin: auto; padding: 0; border: 1px solid #ff6c4b; border-radius: 18px; overflow: auto; box-shadow: 0 10px 22px #59432626; background: #2e1010 url('/assets/reader-status/background.png') center/100% 100% no-repeat; }
.book-finished-dialog::backdrop { background: rgb(43 43 43 / 35%); }
.book-finished-dialog[open] { animation: book-status-enter .24s ease-out; }
.book-finished-dialog button { color: inherit; font-family: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.book-finished-dialog button:active, .book-status-toast button:active { transform: scale(.94); }
.book-finished-dialog button:focus-visible, .book-status-toast button:focus-visible { outline: 2px solid #fff8e9; outline-offset: -3px; }
.book-finished-close { position: absolute; top: 6px; right: 8px; width: 44px; height: 44px; border: 0; padding: 10px; background: none; }
.book-finished-close img { display: block; width: 24px; height: 24px; }
.book-finished-cover { position: absolute; left: calc(50% - 70px); top: 23px; width: 140px; height: 196px; border-radius: 2px; overflow: hidden; background: #42332c; display: grid; place-items: center; text-align: center; font-size: 16px; overflow-wrap: anywhere; }
.book-finished-cover > img { width: 140px; height: 196px; object-fit: cover; }
.book-finished-dialog h2 { position: absolute; top: 283px; left: 23px; right: 23px; margin: 0; text-align: center; font: 700 32px/40px "Geologica Pilcrow",sans-serif; color: #fff8e9; }
.book-finished-time { position: absolute; top: 375px; left: 23px; right: 23px; height: 44px; display: flex; flex-direction: column; gap: 4px; padding: 1px 0; text-align: center; box-sizing: border-box; }
.book-finished-time span { font-size: 12px; line-height: 18px; font-weight: 300; opacity: .72; }
.book-finished-time strong { font-size: 14px; line-height: 20px; font-weight: 600; }
.book-finished-rating { position: absolute; top: 431px; left: calc(50% - 110px); display: flex; width: 220px; height: 44px; }
.book-finished-rating button { border: 0; background: none; padding: 8px; width: 44px; height: 44px; }
.book-finished-rating img { display: block; width: 28px; height: 28px; }
.book-finished-share { position: absolute; top: 487px; left: 23px; right: 23px; height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 0; border: 1px solid #fff8e9; border-radius: 22px; background: none; font-size: 14px; line-height: 20px; }
.book-finished-share img { width: 24px; height: 24px; }
.book-finished-feedback { position: absolute; top: 533px; left: 10px; right: 10px; margin: 0; font-size: 10px; line-height: 14px; text-align: center; }
@keyframes book-status-enter { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .book-status-toast, .book-finished-dialog[open] { animation: none; } }
