._root_ow84j_1{display:flex;flex-direction:column;height:100%;min-width:0;background:var(--color-bg)}._toolbar_ow84j_10{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-line);background:var(--color-bg-elevated);flex-shrink:0}._titleBlock_ow84j_21{display:flex;flex-direction:column;gap:2px;min-width:0}._label_ow84j_28{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-faint)}._title_ow84j_21{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._author_ow84j_45{font-size:var(--text-xs);color:var(--color-ink-muted)}._toolbarRight_ow84j_50{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}._tabs_ow84j_58{display:flex;gap:2px;padding:3px;background:var(--color-bg-sunken);border-radius:var(--radius-full)}._tab_ow84j_58{font-size:var(--text-sm);font-weight:500;padding:6px 14px;border-radius:var(--radius-full);color:var(--color-ink-muted);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}._tab_ow84j_58:hover{color:var(--color-ink)}._tabActive_ow84j_80{background:var(--color-bg-elevated);color:var(--color-ink);box-shadow:var(--shadow-sm)}._chatToggle_ow84j_87{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-full);background:var(--color-ink);color:var(--color-bg);font-size:var(--text-sm);font-weight:500;transition:transform var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}._chatToggle_ow84j_87:hover{transform:translateY(-1px)}._chatToggleActive_ow84j_106{background:var(--color-accent)}._viewer_ow84j_111{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}._viewerStatus_ow84j_119{margin:auto;padding:var(--space-7) var(--space-4);color:var(--color-ink-faint);font-size:var(--text-sm);letter-spacing:.08em}._pdfWrap_ow84j_128{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-4)}._pdfPage_ow84j_136{background:#fff;box-shadow:var(--shadow-md);border-radius:var(--radius-sm);overflow:hidden}._epubWrap_ow84j_144{position:relative;flex:1;min-height:0;width:min(820px,100%);margin:0 auto;padding:var(--space-5) var(--space-5) var(--space-7)}._epubFrame_ow84j_153{width:100%;height:100%;background:var(--color-bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}._markdownWrap_ow84j_163{width:min(720px,100%);margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-8);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-ink)}._markdownWrap_ow84j_163 h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;letter-spacing:-.02em;margin-bottom:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-accent)}._markdownWrap_ow84j_163 h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;margin-top:var(--space-7);margin-bottom:var(--space-3)}._markdownWrap_ow84j_163 h3{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;margin-top:var(--space-5);margin-bottom:var(--space-2)}._markdownWrap_ow84j_163 p{margin:var(--space-3) 0}._markdownWrap_ow84j_163 blockquote{border-left:3px solid var(--color-accent);margin:var(--space-4) 0;padding:var(--space-2) var(--space-4);color:var(--color-ink-muted);background:var(--color-bg-elevated);font-style:italic}._markdownWrap_ow84j_163 ul,._markdownWrap_ow84j_163 ol{padding-left:var(--space-5);list-style:disc}._markdownWrap_ow84j_163 ul li,._markdownWrap_ow84j_163 ol li{margin:var(--space-1) 0}._markdownWrap_ow84j_163 hr{border:none;border-top:1px solid var(--color-line);margin:var(--space-6) 0}._markdownWrap_ow84j_163 code{font-family:var(--font-mono);font-size:.92em;background:var(--color-bg-sunken);padding:2px 6px;border-radius:var(--radius-sm)}._markdownWrap_ow84j_163 em{color:var(--color-ink-muted)}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}._root_1vv27_1{display:flex;flex-direction:column;height:100%;background:var(--color-bg-elevated);border-left:1px solid var(--color-line);min-width:0}._header_1vv27_11{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-line);flex-shrink:0}._headerTitle_1vv27_20{display:flex;flex-direction:column;gap:2px}._headerLabel_1vv27_26{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;letter-spacing:-.01em;color:var(--color-ink)}._headerSubtitle_1vv27_34{font-size:var(--text-xs);color:var(--color-ink-muted);letter-spacing:.03em}._closeBtn_1vv27_40{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--color-ink-muted);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}._closeBtn_1vv27_40:hover{background:var(--color-bg-sunken);color:var(--color-ink)}._body_1vv27_58{flex:1;min-height:0;display:flex;flex-direction:column}._list_1vv27_65{flex:1;min-height:0;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);scroll-behavior:smooth}._empty_1vv27_76{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:var(--space-6);color:var(--color-ink-muted);gap:var(--space-3)}._emptyTitle_1vv27_88{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;color:var(--color-ink);letter-spacing:-.01em}._emptyHint_1vv27_96{font-size:var(--text-sm);line-height:var(--leading-relaxed)}._message_1vv27_102{display:flex;animation:_msg-in_1vv27_1 var(--duration-base) var(--ease-out)}._messageUser_1vv27_107{justify-content:flex-end}._messageAssistant_1vv27_111{justify-content:flex-start}._bubble_1vv27_115{max-width:86%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-base);line-height:var(--leading-normal);white-space:pre-wrap;word-break:break-word}._messageUser_1vv27_107 ._bubble_1vv27_115{background:var(--color-ink);color:var(--color-bg);border-bottom-right-radius:var(--radius-sm)}._messageAssistant_1vv27_111 ._bubble_1vv27_115{background:var(--color-bg);color:var(--color-ink);border:1px solid var(--color-line);border-bottom-left-radius:var(--radius-sm)}._caret_1vv27_138{display:inline-block;width:6px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--color-accent);animation:_caret-blink_1vv27_1 .9s steps(2,end) infinite}@keyframes _caret-blink_1vv27_1{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes _msg-in_1vv27_1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}._footer_1vv27_159{flex-shrink:0;padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--color-line);background:var(--color-bg-elevated)}._composer_1vv27_166{display:flex;align-items:flex-end;gap:var(--space-2);background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-2);transition:border-color var(--duration-fast) var(--ease-out)}._composer_1vv27_166:focus-within{border-color:var(--color-line-strong)}._input_1vv27_181{flex:1;min-height:32px;max-height:160px;padding:6px 8px;background:transparent;border:none;outline:none;resize:none;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-ink)}._input_1vv27_181::placeholder{color:var(--color-ink-faint)}._action_1vv27_199{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-ink);color:var(--color-bg);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}._action_1vv27_199:hover:not(:disabled){transform:scale(1.05)}._action_1vv27_199:disabled{opacity:.35;cursor:not-allowed}._actionStop_1vv27_224{background:var(--color-accent)}._disclaimer_1vv27_228{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-ink-faint);text-align:center;letter-spacing:.02em}._app_1bddv_1{height:100%;display:flex;flex-direction:column;background:var(--color-bg)}._main_1bddv_8{flex:1;display:flex;min-height:0;overflow:hidden}._bookPane_1bddv_15{flex:1;min-width:0;display:flex}._chatPane_1bddv_22{width:0;flex-shrink:0;overflow:hidden;transition:width var(--duration-slow) var(--ease-out);will-change:width}._appChatOpen_1bddv_30 ._chatPane_1bddv_22{width:clamp(var(--layout-chat-min),var(--layout-chat-width),var(--layout-chat-max))}._chatPane_1bddv_22>*{width:clamp(var(--layout-chat-min),var(--layout-chat-width),var(--layout-chat-max));height:100%}@media (max-width: 720px){._main_1bddv_8{flex-direction:column}._chatPane_1bddv_22{width:100%;height:0;transition:height var(--duration-slow) var(--ease-out)}._appChatOpen_1bddv_30 ._chatPane_1bddv_22{width:100%;height:60%}._chatPane_1bddv_22>*{width:100%}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input,textarea{font:inherit;color:inherit}img,svg,video{display:block;max-width:100%}::selection{background:var(--color-accent);color:var(--color-bg)}:root{--color-bg: #f6f1e7;--color-bg-elevated: #fbf7ee;--color-bg-sunken: #ece4d3;--color-ink: #1c1a17;--color-ink-muted: #6b6358;--color-ink-faint: #9d958a;--color-accent: #a8331f;--color-accent-soft: #d76b56;--color-line: rgba(28, 26, 23, .12);--color-line-strong: rgba(28, 26, 23, .24);--color-overlay: rgba(28, 26, 23, .45);--font-display: "Spectral", "Songti SC", "Source Han Serif SC", Georgia, serif;--font-body: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Consolas, monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 44px;--leading-tight: 1.25;--leading-snug: 1.4;--leading-normal: 1.6;--leading-relaxed: 1.8;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(28, 26, 23, .06);--shadow-md: 0 4px 14px rgba(28, 26, 23, .08), 0 1px 3px rgba(28, 26, 23, .06);--shadow-lg: 0 16px 40px rgba(28, 26, 23, .12), 0 4px 12px rgba(28, 26, 23, .08);--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-in-out: cubic-bezier(.5, 0, .2, 1);--duration-fast: .14s;--duration-base: .24s;--duration-slow: .42s;--layout-chat-width: 38%;--layout-chat-min: 360px;--layout-chat-max: 560px}
