.book-reader-translation-scroll{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.4) transparent}.book-reader-translation-scroll::-webkit-scrollbar{width:8px}.book-reader-translation-scroll::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:999px}.book-reader-translation-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b88c}.reader-translation-body{width:100%;max-width:100%;box-sizing:border-box}.reader-translation-body__para{margin:0;max-width:100%}.book-reader-accordion[open] .book-reader-accordion__chevron{transform:rotate(180deg)}.book-reader-accordion__chevron{display:inline-flex;transition:transform .2s ease}.book-reader-accordion__summary{outline:none}.book-reader-accordion__summary:focus-visible{box-shadow:0 0 0 2px #34d39959}.book-reader-page-chip-grid{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.35) transparent}.book-reader-page-chip-grid::-webkit-scrollbar{width:8px;height:8px}.book-reader-page-chip-grid::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:999px}.reader-view--docked{position:relative;width:100%;max-width:100%;overflow-x:hidden;--reader-chat-dock-width: 380px}.reader-view__main{width:100%;max-width:100%;min-width:0;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;background:#020617d1;color:#f1f5f9;box-sizing:border-box;-webkit-overflow-scrolling:touch}.reader-view__chat-dock{display:flex;flex-direction:column;box-sizing:border-box}.reader-view__chat-dock .book-reader-chat.book-reader-chat--fill{flex:1 1 auto;min-height:0}@media(min-width:1024px){.reader-view__main{width:calc(100% - var(--reader-chat-dock-width));max-width:calc(100% - var(--reader-chat-dock-width));padding-right:0}.reader-view__chat-dock{position:fixed;top:0;right:0;width:var(--reader-chat-dock-width);height:100vh;height:100dvh;max-height:100dvh;z-index:100;background:#020617fa;border-left:1px solid rgba(51,65,85,.9);box-shadow:-16px 0 48px -24px #0009}}@media(max-width:1023px){.reader-view__main{width:100%;max-width:100%;padding-right:0;padding-bottom:calc(min(42dvh,22rem) + env(safe-area-inset-bottom,0px) + 10px)}.reader-view__chat-dock{position:fixed;inset:auto 0 0;width:100%;height:min(42dvh,22rem);min-height:17rem;max-height:min(46dvh,24rem);z-index:100;border-top:1px solid rgba(51,65,85,.9);background:#020617fa;box-shadow:0 -12px 40px -16px #0000008c;padding-bottom:env(safe-area-inset-bottom,0px)}.reader-view__chat-dock .book-reader-chat{border-radius:1rem 1rem 0 0;border-bottom:none}}.ai-studio__header--reader-dark{border-bottom-color:#334155bf;margin-bottom:0;padding-bottom:1rem}.ai-studio__header--reader-dark .ai-studio__back-btn{background:#0f172ae6;border-color:#475569d9;color:#e2e8f0}.ai-studio__header--reader-dark .ai-studio__back-btn:hover{color:#f8fafc;border-color:#94a3b899}.ai-studio__header--reader-dark .ai-studio__title{color:#f8fafc}.book-reader-chat{display:flex;flex-direction:column;height:100%;min-height:0;border-radius:1.25rem;border:1px solid rgba(51,65,85,.85);background:linear-gradient(165deg,#0f172aeb,#0f172ac7);box-shadow:0 18px 40px -24px #000000a6,inset 0 1px #ffffff0a;overflow:hidden}.book-reader-chat--fill{flex:1 1 auto;min-height:0}.book-reader-chat--fill .book-reader-chat__scroll{flex:1 1 auto;max-height:none;min-height:140px}.book-reader-chat__header{flex-shrink:0;padding:1rem 1.1rem .85rem;border-bottom:1px solid rgba(51,65,85,.65);background:#02061759}.book-reader-chat__header-title{margin:.15rem 0 0;font-size:1rem;font-weight:600;color:#f8fafc;letter-spacing:-.02em}.book-reader-chat__header-kicker{margin:0;font-size:.65rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#94a3b8f2}.book-reader-chat__header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.book-reader-chat__header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem}.book-reader-chat__toolbar-btn{font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.35rem .55rem;border-radius:.5rem;border:1px solid rgba(71,85,105,.75);background:#0f172aa6;color:#e2e8f0;cursor:pointer}.book-reader-chat__toolbar-btn:hover:not(:disabled){border-color:#64748bf2;color:#f8fafc}.book-reader-chat__toolbar-btn:disabled{opacity:.45;cursor:not-allowed}.book-reader-chat__history-panel{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(51,65,85,.55);max-height:min(40vh,280px);display:flex;flex-direction:column;gap:.5rem}.book-reader-chat__history-search{width:100%;box-sizing:border-box;padding:.45rem .6rem;border-radius:.5rem;border:1px solid rgba(51,65,85,.75);background:#0206178c;color:#f1f5f9;font-size:.8125rem}.book-reader-chat__history-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0}.book-reader-chat__history-row{display:flex;align-items:stretch;gap:.25rem;margin-bottom:.35rem}.book-reader-chat__history-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.45rem .55rem;border-radius:.5rem;border:1px solid transparent;background:#0f172a73;color:#e2e8f0;cursor:pointer;text-align:left}.book-reader-chat__history-item:hover{border-color:#475569bf}.book-reader-chat__history-item--active{border-color:#34d39973;background:#10b98114}.book-reader-chat__history-item-name{font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.book-reader-chat__history-item-meta{font-size:.65rem;color:#94a3b8e6}.book-reader-chat__history-delete{flex-shrink:0;width:1.75rem;border-radius:.45rem;border:1px solid rgba(71,85,105,.55);background:#0f172a80;color:#f87171f2;font-size:1.1rem;line-height:1;cursor:pointer}.book-reader-chat__history-delete:hover{background:#7f1d1d40}.book-reader-chat__history-empty,.book-reader-chat__history-error{margin:.35rem 0;font-size:.8125rem;color:#94a3b8e6}.book-reader-chat__history-error{color:#f87171e6}.book-reader-chat__badge{flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .6rem;border-radius:999px;background:#10b9811f;color:#6ee7b7;border:1px solid rgba(52,211,153,.22)}.book-reader-chat__scroll{flex:1;min-height:220px;max-height:min(48vh,420px);overflow-y:auto;overflow-x:hidden;padding:.85rem 1rem 1rem;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.45) transparent}.book-reader-chat__scroll::-webkit-scrollbar{width:7px}.book-reader-chat__scroll::-webkit-scrollbar-thumb{background:#64748b66;border-radius:999px}.book-reader-chat__empty{margin:2rem .5rem;text-align:center;font-size:.8125rem;line-height:1.55;color:#94a3b8d9}.book-reader-chat__messages{display:flex;flex-direction:column;gap:1rem}.book-reader-chat__row{display:flex;width:100%}.book-reader-chat__row--user{justify-content:flex-end}.book-reader-chat__row--assistant{justify-content:flex-start}.book-reader-chat__bubble{max-width:92%;border-radius:1rem;padding:.65rem .85rem .75rem;line-height:1.55}.book-reader-chat__bubble--user{background:linear-gradient(135deg,#10b98138,#06b6d424);border:1px solid rgba(45,212,191,.28);color:#ecfdf5}.book-reader-chat__bubble--assistant{background:#0f172abf;border:1px solid rgba(51,65,85,.9);color:#e2e8f0}.book-reader-chat__tts{margin-top:.5rem;display:flex;align-items:center}.book-reader-chat__role{display:block;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.55;margin-bottom:.35rem}.book-reader-chat__user-text{margin:0;font-size:.875rem;white-space:pre-wrap;word-break:break-word}.book-reader-chat__user-text--muted{color:#94a3b8bf;font-style:italic}.book-reader-chat__audio{display:block;width:100%;max-width:280px;margin-top:.35rem;border-radius:.5rem}.book-reader-chat__md.MarkdownRenderer{font-size:.875rem;line-height:1.62;color:inherit}.book-reader-chat__md.MarkdownRenderer p{margin:0 0 .55em}.book-reader-chat__md.MarkdownRenderer p:last-child{margin-bottom:0}.book-reader-chat__thinking{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;border-radius:.85rem;background:#0206178c;border:1px dashed rgba(71,85,105,.65);color:#94a3b8f2;font-size:.8125rem}.book-reader-chat__thinking-dots{display:inline-flex;gap:3px}.book-reader-chat__thinking-dots span{width:5px;height:5px;border-radius:50%;background:#34d399bf;animation:bookReaderChatDot 1.2s ease-in-out infinite}.book-reader-chat__thinking-dots span:nth-child(2){animation-delay:.15s}.book-reader-chat__thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes bookReaderChatDot{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.book-reader-chat__stream.StreamingMessage{max-width:100%;padding:.65rem .85rem;border-radius:1rem;background:#0f172abf;border:1px solid rgba(51,65,85,.9);color:#e2e8f0}.book-reader-chat__stream .StreamingMessage__label{color:#94a3b8e6;opacity:.85}.book-reader-chat__stream .MarkdownRenderer{font-size:.875rem;line-height:1.62}.book-reader-chat__footer{flex-shrink:0;padding:.85rem 1rem 1rem;border-top:1px solid rgba(51,65,85,.65);background:#02061766}.book-reader-chat__scope{margin-bottom:.65rem}.book-reader-chat__scope-label{margin:0 0 .35rem;font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#94a3b8bf}.book-reader-chat__scope-options{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem}.book-reader-chat__scope-options label{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:#cbd5e1;cursor:pointer}.book-reader-chat__scope-options input{accent-color:#34d399}.book-reader-chat__textarea{width:100%;min-height:4.5rem;resize:none;border-radius:.85rem;border:1px solid rgba(51,65,85,.85);background:#0206178c;color:#f1f5f9;padding:.65rem .85rem;font-size:.875rem;line-height:1.45;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.book-reader-chat__textarea::-moz-placeholder{color:#94a3b88c}.book-reader-chat__textarea::placeholder{color:#94a3b88c}.book-reader-chat__textarea:focus{border-color:#34d39973;box-shadow:0 0 0 2px #10b9811f}.book-reader-chat__textarea:disabled{opacity:.55;cursor:not-allowed}.book-reader-chat__submit{margin-top:.65rem;width:100%;border:none;border-radius:.85rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;color:#042f2e;background:linear-gradient(135deg,#34d399f2,#22d3eee0);transition:opacity .15s ease,transform .1s ease}.book-reader-chat__submit:hover:not(:disabled){opacity:.95}.book-reader-chat__submit:active:not(:disabled){transform:scale(.99)}.book-reader-chat__submit:disabled{opacity:.38;cursor:not-allowed}.book-reader-chat__file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.book-reader-chat__attachments{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.book-reader-chat__attachment-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:999px;font-size:.72rem;background:#334155a6;color:#e2e8f0;border:1px solid rgba(71,85,105,.9)}.book-reader-chat__attachment-chip-remove{border:none;background:transparent;color:#94a3b8;cursor:pointer;padding:0 .15rem;font-size:1rem;line-height:1}.book-reader-chat__attachment-chip-remove:hover{color:#f1f5f9}.book-reader-chat__voice-recording{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;padding:.5rem .65rem;margin-bottom:.5rem;border-radius:.75rem;background:#7f1d1d40;border:1px solid rgba(248,113,113,.35);font-size:.8rem;color:#fecaca}.book-reader-chat__voice-dots{display:inline-flex;gap:.2rem}.book-reader-chat__voice-dots span{width:6px;height:6px;border-radius:50%;background:#f87171;animation:bookReaderChatDot 1.2s ease-in-out infinite}.book-reader-chat__voice-dots span:nth-child(2){animation-delay:.2s}.book-reader-chat__voice-dots span:nth-child(3){animation-delay:.4s}.book-reader-chat__voice-hint{flex:1;min-width:120px}.book-reader-chat__voice-cancel{border:none;background:#0f172a99;color:#fecaca;padding:.35rem .65rem;border-radius:.5rem;cursor:pointer;font-size:.75rem}.book-reader-chat__form-row{display:flex;align-items:flex-end;gap:.4rem;width:100%}.book-reader-chat__textarea--flex{flex:1;min-width:0}.book-reader-chat__icon-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid rgba(51,65,85,.9);background:#0f172abf;cursor:pointer;color:#e2e8f0;transition:border-color .15s ease,background .15s ease}.book-reader-chat__icon-btn:hover:not(:disabled){border-color:#34d39973;background:#0f172af2}.book-reader-chat__icon-btn:disabled{opacity:.45;cursor:not-allowed}.book-reader-chat__icon-btn--mic{background:#1e293bf2}.book-reader-chat__icon-btn--mic-active{background:#b91c1c8c;border-color:#f8717180}.book-reader-chat__icon-btn--locked{background:#34d39940;border-color:#34d39980}.book-reader-chat__recording-placeholder{flex:1;min-height:4.5rem;display:flex;align-items:center;padding:.65rem .85rem;font-size:.875rem;color:#94a3b8d9;border-radius:.85rem;border:1px dashed rgba(71,85,105,.75);background:#02061759}.book-reader-chat__submit--inline{margin-top:0;width:auto;min-width:4.5rem;flex-shrink:0;align-self:flex-end}.book-reader-chat__upload-status{margin:.4rem 0 0;font-size:.72rem;color:#94a3b8e6}.book-reader-list{max-width:720px;margin:0 auto}.book-reader-list__toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.book-reader-list__title{font-size:1.15rem;font-weight:600;color:var(--black);margin:0}.book-reader-list__add-btn{padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:var(--white);background:var(--purple);border:none;border-radius:8px;cursor:pointer;transition:opacity .2s}.book-reader-list__add-btn:hover{opacity:.92}.book-reader-list__error{font-size:.85rem;color:var(--danger);margin:0 0 .75rem;padding:.5rem .75rem;background:#d9535314;border-radius:8px}.book-reader-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.book-reader-list__item{display:flex;align-items:stretch;gap:.75rem;background:var(--bgLightGray);border:1px solid var(--darkGray);border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.book-reader-list__item:hover{border-color:var(--gray);box-shadow:0 2px 8px #0000000f}.book-reader-list__item-btn{flex:1;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.35rem;padding:1rem 1rem 1rem 1.25rem;background:none;border:none;cursor:pointer;color:inherit;font:inherit;min-width:0}.book-reader-list__item-btn:hover{background:#00000005}.book-reader-list__item-main{display:flex;align-items:center;gap:.75rem;width:100%;min-width:0}.book-reader-list__item-icon{width:44px;height:44px;flex-shrink:0;border-radius:10px;background:var(--bgDarkGray);display:flex;align-items:center;justify-content:center}.book-reader-list__item-icon svg{color:var(--lessDark)}.book-reader-list__item-name{font-size:1rem;font-weight:600;color:var(--black);word-break:break-word}.book-reader-list__item-status{font-size:.8rem;padding:.2rem .5rem;border-radius:6px;font-weight:500;align-self:flex-start}.book-reader-list__item-status--ready{background:#2bb6331f;color:var(--green)}.book-reader-list__item-status--processing{background:#6f38c51a;color:var(--purple)}.book-reader-list__item-status--pending{background:var(--bgDarkGray);color:var(--lessDark)}.book-reader-list__item-id{font-size:.7rem;color:var(--gray);font-family:monospace;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-reader-list__item-actions{display:flex;align-items:center;gap:.35rem;padding:.75rem .75rem .75rem 0;border-left:1px solid var(--darkGray)}.book-reader-list__rename-btn,.book-reader-list__delete-btn{padding:.4rem .65rem;font-size:.8rem;font-weight:500;border-radius:6px;border:1px solid var(--darkGray);background:var(--white);color:var(--lessDark);cursor:pointer;transition:border-color .2s,color .2s,background .2s}.book-reader-list__rename-btn:hover,.book-reader-list__delete-btn:hover{border-color:var(--lessDark);color:var(--black);background:var(--bgLightGray)}.book-reader-list__delete-btn:hover{border-color:var(--danger);color:var(--danger);background:#d953530f}.book-reader-list__empty{text-align:center;font-size:.95rem;color:var(--lessDark);margin:2rem 0;padding:2rem;background:var(--bgLightGray);border-radius:12px;border:1px dashed var(--darkGray)}.add-book-form{max-width:480px;margin:0 auto;padding:1rem 0}.add-book-form__title{font-size:1.15rem;font-weight:600;color:var(--black);margin:0 0 1.25rem}.add-book-form__form{background:var(--bgLightGray);border:1px solid var(--darkGray);border-radius:12px;padding:1.25rem 1.5rem}.add-book-form__hint{font-size:.9rem;color:var(--lessDark);margin:0 0 1rem}.add-book-form__label{display:block;font-size:.85rem;font-weight:500;color:var(--black);margin-bottom:.35rem}.add-book-form__file,.add-book-form__input,.add-book-form__textarea{width:100%;padding:.55rem .75rem;margin-bottom:1rem;font-size:.95rem;border:1px solid var(--darkGray);border-radius:8px;background:var(--white);color:var(--black);box-sizing:border-box}.add-book-form__file:focus,.add-book-form__input:focus,.add-book-form__textarea:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px #6f38c51f}.add-book-form__textarea{min-height:4rem;resize:vertical}.add-book-form__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.add-book-form__actions .btn{padding:.5rem 1rem;font-size:.9rem;font-weight:500;border-radius:8px;border:1px solid var(--darkGray);background:var(--white);color:var(--lessDark);cursor:pointer;transition:border-color .2s,color .2s}.add-book-form__actions .btn:hover{border-color:var(--lessDark);color:var(--black)}.add-book-form__submit{background:var(--purple)!important;color:var(--white)!important;border-color:var(--purple)!important}.add-book-form__submit:hover:not(:disabled){opacity:.92}.add-book-form__submit:disabled{opacity:.6;cursor:not-allowed}.preparation-status{max-width:420px;margin:0 auto;padding:1rem 0}.preparation-status__title{font-size:1.1rem;font-weight:600;color:var(--black);margin:0 0 .75rem}.preparation-status__status{font-size:.9rem;color:var(--lessDark);margin:0 0 1rem}.preparation-status__status strong{color:var(--black)}.preparation-status__error{font-size:.85rem;color:var(--danger);margin:0 0 1rem;padding:.5rem .75rem;background:#d9535314;border-radius:8px}.preparation-status__btn,.preparation-status__back{display:block;width:100%;padding:.6rem 1rem;margin-bottom:.5rem;font-size:.9rem;font-weight:500;border-radius:8px;border:1px solid var(--darkGray);cursor:pointer;text-align:center;transition:border-color .2s,background .2s}.preparation-status__btn{background:var(--purple);color:var(--white);border-color:var(--purple)}.preparation-status__btn:hover:not(:disabled){opacity:.92}.preparation-status__btn:disabled{opacity:.6;cursor:not-allowed}.preparation-status__back{background:var(--white);color:var(--lessDark);margin-top:.75rem}.preparation-status__back:hover{background:var(--bgLightGray);border-color:var(--lessDark);color:var(--black)}
