.reader-toolbar{left:50%;bottom:max(.75rem, env(safe-area-inset-bottom,.75rem));z-index:100000;width:max-content;max-width:calc(100vw - 1rem);position:fixed;transform:translate(-50%)}.reader-toolbar__inner{background:hsl(var(--card) / .92);backdrop-filter:blur(10px);border:1px solid hsl(var(--border) / .9);border-radius:9999px;align-items:center;gap:.25rem;padding:.3rem;display:flex;box-shadow:0 10px 32px #0000002e}.reader-toolbar__page{border:1px solid hsl(var(--border));background:hsl(var(--background) / .8);color:hsl(var(--foreground));white-space:nowrap;user-select:none;border-radius:9999px;align-items:center;padding:.3rem .75rem;font-size:.75rem;font-weight:600}.reader-toolbar__group{border:1px solid hsl(var(--border));background:hsl(var(--background) / .7);border-radius:9999px;align-items:center;gap:.125rem;padding:.125rem;display:flex}.reader-toolbar__size{text-align:center;opacity:.8;user-select:none;min-width:2.4rem;color:hsl(var(--foreground));padding:0 .25rem;font-family:ui-monospace,monospace;font-size:.6875rem}.toolbar-btn{border:1px solid hsl(var(--border) / .8);background:hsl(var(--background) / .7);cursor:pointer;color:hsl(var(--foreground));white-space:nowrap;border-radius:9999px;align-items:center;gap:.375rem;min-height:2.25rem;padding:.4rem .65rem;font-size:.75rem;font-weight:500;transition:background .15s,transform .1s;display:flex}.toolbar-btn--icon{justify-content:center;min-width:2rem;padding:.4rem .55rem;font-size:.6875rem;font-weight:700}.toolbar-btn:hover{background:hsl(var(--accent))}.toolbar-btn:active{transform:scale(.94)}.font-picker-dropdown{background:hsl(var(--card));border:1px solid hsl(var(--border));z-index:60;border-radius:.875rem;width:260px;max-height:380px;padding:.375rem;animation:.2s dropdownIn;position:absolute;bottom:calc(100% + .75rem);left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 12px 40px #0003}.font-picker-dropdown__title{text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--muted-foreground));padding:.5rem .625rem .375rem;font-size:.65rem;font-weight:600}.font-option{cursor:pointer;text-align:left;width:100%;color:hsl(var(--foreground));background:0 0;border:none;border-radius:.5rem;flex-direction:column;gap:.125rem;padding:.5rem .625rem;transition:background .15s;display:flex}.font-option:hover{background:hsl(var(--accent))}.font-option.is-active{background:hsl(var(--primary) / .12);outline:2px solid hsl(var(--primary));outline-offset:-2px}.font-option__preview{font-size:.8125rem;font-weight:600}.font-option__sample{opacity:.7;font-size:.95rem;line-height:1.3}.theme-picker-dropdown{background:hsl(var(--card));border:1px solid hsl(var(--border));z-index:60;border-radius:.875rem;width:240px;padding:.375rem;animation:.2s dropdownIn;position:absolute;bottom:calc(100% + .75rem);right:0;box-shadow:0 12px 40px #0003}.theme-picker-dropdown__title{text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--muted-foreground));padding:.5rem .625rem .375rem;font-size:.65rem;font-weight:600}.theme-picker-grid{grid-template-columns:repeat(4,1fr);gap:.375rem;padding:.25rem;display:grid}.theme-swatch{cursor:pointer;color:hsl(var(--foreground));background:0 0;border:1px solid #0000;border-radius:.5rem;flex-direction:column;align-items:center;gap:.25rem;padding:.375rem;transition:all .15s;display:flex}.theme-swatch:hover{background:hsl(var(--accent))}.theme-swatch.is-active{border-color:hsl(var(--primary));background:hsl(var(--primary) / .08)}.theme-swatch__color{border-radius:.375rem;width:2rem;height:2rem;transition:transform .15s;box-shadow:0 1px 3px #00000026}.theme-swatch:hover .theme-swatch__color{transform:scale(1.1)}.theme-swatch__label{text-align:center;white-space:nowrap;font-size:.5625rem;font-weight:500;line-height:1.2}@keyframes dropdownIn{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.theme-picker-dropdown{animation-name:dropdownInRight}@keyframes dropdownInRight{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.reader-selection-bubble{z-index:100002;pointer-events:auto;filter:drop-shadow(0 8px 24px #00000047);user-select:none;transition:opacity .15s,transform .15s;position:fixed;transform:translate(-50%,-100%)}.reader-selection-bubble.is-below{transform:translate(-50%,12px)}.reader-selection-bubble.is-below .reader-selection-bubble__arrow{border-top:none;border-bottom:6px solid hsl(var(--card));top:-6px;bottom:auto}.reader-selection-bubble__inner{background:hsl(var(--card) / .96);backdrop-filter:blur(12px);border:1px solid hsl(var(--border));border-radius:9999px;align-items:center;gap:.35rem;padding:.3rem .45rem;display:flex;box-shadow:0 4px 16px #00000026}.reader-selection-bubble__arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid hsl(var(--card));width:0;height:0;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.bubble-group{align-items:center;gap:.25rem;display:flex}.bubble-color-btn{cursor:pointer;border:1.5px solid #00000026;border-radius:9999px;width:1.35rem;height:1.35rem;transition:transform .12s}.bubble-color-btn:hover{transform:scale(1.22)}.bubble-color--yellow{background:#fde047;border-color:#eab308}.bubble-color--green{background:#86efac;border-color:#22c55e}.bubble-color--blue{background:#7dd3fc;border-color:#0284c7}.bubble-color--pink{background:#f472b6;border-color:#db2777}.bubble-divider{background:hsl(var(--border));width:1px;height:1.25rem;margin:0 .15rem}.bubble-btn{color:hsl(var(--foreground));cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9999px;align-items:center;gap:.25rem;padding:.3rem .55rem;font-size:.72rem;font-weight:600;transition:background .15s,transform .1s;display:flex}.bubble-btn:hover{background:hsl(var(--accent))}.bubble-btn:active{transform:scale(.95)}.bubble-btn--primary{color:hsl(var(--foreground))}.bubble-btn--danger{color:#ef4444}.bubble-btn--danger:hover{background:#ef44441f}.quote-card-modal{z-index:100010;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.quote-card-modal.hidden{display:none}.quote-card-modal__backdrop{backdrop-filter:blur(8px);background:#000000c7;position:fixed;inset:0}.quote-card-modal__container{z-index:10;width:100%;max-width:440px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) modalIn;position:relative}.quote-card-modal__content{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.25rem;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000059}.quote-card-modal__header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.quote-card-close-btn{background:hsl(var(--muted));width:1.75rem;height:1.75rem;color:hsl(var(--foreground));cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;font-size:.85rem;transition:background .15s;display:flex}.quote-card-close-btn:hover{background:hsl(var(--accent))}.quote-card-modal__preview-wrapper{background:hsl(var(--background));justify-content:center;align-items:center;min-height:380px;max-height:60vh;padding:1.25rem;display:flex;position:relative;overflow-y:auto}.quote-card-loading{flex-direction:column;justify-content:center;align-items:center;display:flex}.quote-card-preview-img{border-radius:.75rem;width:100%;max-width:320px;height:auto;box-shadow:0 10px 30px #00000040}.quote-card-modal__footer{border-top:1px solid hsl(var(--border));background:hsl(var(--card));align-items:center;gap:.5rem;padding:.85rem 1.25rem;display:flex}.quote-card-action-btn{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;border-radius:.65rem;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.6rem .75rem;font-size:.78rem;font-weight:600;transition:all .15s;display:flex}.quote-card-action-btn:hover{background:hsl(var(--accent))}.quote-card-action-btn:active{transform:scale(.97)}.quote-card-action-btn--primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.quote-card-action-btn--primary:hover{filter:brightness(1.1)}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}#flip-book .page{backface-visibility:hidden;contain:layout style paint;background-color:var(--bg-paper)!important}#flip-book .page-content{background-color:var(--bg-paper)!important}.stf__wrapper{box-shadow:none!important}.reader-loading{z-index:30;background:var(--bg-paper);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-size:.875rem;transition:opacity .25s;display:flex;position:absolute;inset:0}.reader-loading.is-hidden{opacity:0;pointer-events:none}.reader-loading__spinner{border:3px solid var(--border-clr);border-top-color:var(--accent-primary);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite readerSpin}@keyframes readerSpin{to{transform:rotate(360deg)}}.next-chapter-indicator{z-index:25;background:var(--accent-primary);color:#fff;opacity:0;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;border-radius:9999px;align-items:center;gap:.6rem;max-width:calc(100% - 2rem);padding:.6rem 1.1rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:opacity .3s,transform .3s;display:flex;position:absolute;bottom:1.25rem;left:50%;overflow:hidden;transform:translate(-50%)translateY(20px);box-shadow:0 6px 20px #00000040}.next-chapter-indicator.is-visible{opacity:1;pointer-events:auto;animation:2s ease-in-out infinite nextChapterPulse;transform:translate(-50%)translateY(0)}.next-chapter-indicator:hover{background:var(--accent-primary);filter:brightness(1.15)}.next-chapter-indicator__icon{flex-shrink:0;justify-content:center;align-items:center;animation:1.4s ease-in-out infinite nextChapterSlide;display:flex}.next-chapter-indicator__text{text-overflow:ellipsis;overflow:hidden}@keyframes nextChapterPulse{0%,to{box-shadow:0 6px 20px #00000040}50%{box-shadow:0 6px 28px #0006}}@keyframes nextChapterSlide{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@media (width<=640px){.next-chapter-indicator{padding:.5rem .9rem;font-size:.75rem;bottom:.75rem}}#flip-book{view-transition-name:reader-page}#flip-book.is-backwards{view-transition-name:reader-page-back}::view-transition-old(reader-page){animation:.4s cubic-bezier(.4,0,.2,1) both turnPageLeftOut}::view-transition-new(reader-page){animation:.4s cubic-bezier(.4,0,.2,1) both turnPageRightIn}::view-transition-old(reader-page-back){animation:.4s cubic-bezier(.4,0,.2,1) both turnPageRightOut}::view-transition-new(reader-page-back){animation:.4s cubic-bezier(.4,0,.2,1) both turnPageLeftIn}@keyframes turnPageLeftOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(-15%)scale(.9)}}@keyframes turnPageRightIn{0%{opacity:0;transform:translate(15%)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes turnPageRightOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(15%)scale(.9)}}@keyframes turnPageLeftIn{0%{opacity:0;transform:translate(-15%)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}
