[aria-label][role~=tooltip]{position:relative}[aria-label][role~=tooltip]:before,[aria-label][role~=tooltip]:after{backface-visibility:hidden;will-change:transform, opacity;opacity:0;pointer-events:none;box-sizing:border-box;z-index:10;transform-origin:top;transition:all .18s cubic-bezier(.18,.89,.32,1.28) .1s;position:absolute;transform:translate(0,0)}[aria-label][role~=tooltip]:before{content:"";z-index:11;border:5px solid #0000}[aria-label][role~=tooltip]:after{content:attr(aria-label);text-align:center;box-sizing:border-box;color:#fff;white-space:nowrap;box-shadow:var(--shadow-md);background:#1e293b;border-radius:.375rem;padding:.375rem .625rem;font-size:.6875rem;font-weight:500}[aria-label][role~=tooltip]:hover:before,[aria-label][role~=tooltip]:hover:after,[aria-label][role~=tooltip]:focus:before,[aria-label][role~=tooltip]:focus:after{opacity:1;pointer-events:auto}[data-microtip-position|=top]:before{border-top-color:#1e293b;margin-bottom:5px;bottom:100%;left:50%;transform:translate(-50%)}[data-microtip-position|=top]:after{margin-bottom:11px;bottom:100%;left:50%;transform:translate(-50%)}[data-microtip-position|=top]:hover:before,[data-microtip-position|=top]:focus:before,[data-microtip-position|=top]:hover:after,[data-microtip-position|=top]:focus:after{transform:translate(-50%,-4px)}[data-microtip-position|=bottom]:before{border-bottom-color:#1e293b;margin-top:5px;top:100%;left:50%;transform:translate(-50%)}[data-microtip-position|=bottom]:after{margin-top:11px;top:100%;left:50%;transform:translate(-50%)}[data-microtip-position|=bottom]:hover:before,[data-microtip-position|=bottom]:focus:before,[data-microtip-position|=bottom]:hover:after,[data-microtip-position|=bottom]:focus:after{transform:translate(-50%,4px)}.epub-container{-webkit-user-select:text;user-select:text;width:100%;height:100%;position:relative;overflow:hidden}.epub-view{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.epub-view iframe{border:none;width:100%;height:100%;display:block}.highlighted{background-color:#fe932c59;border-radius:2px;transition:background-color .15s cubic-bezier(.4,0,.2,1)}.highlighted:hover{background-color:#fe932c8c}:root{--color-primary:#4648d4;--color-on-primary:#fff;--color-primary-container:#6063ee;--color-on-primary-container:#fffbff;--color-primary-fixed:#e1e0ff;--color-on-primary-fixed:#07006c;--color-secondary:#904d00;--color-on-secondary:#fff;--color-secondary-container:#fe932c;--color-secondary-fixed:#ffdcc3;--color-tertiary:#515c71;--color-tertiary-fixed:#d8e3fb;--color-surface:#fcf9f4;--color-surface-dim:#dcdad5;--color-surface-container-lowest:#fff;--color-surface-container-low:#f6f3ee;--color-surface-container:#f0ede9;--color-surface-container-high:#ebe8e3;--color-surface-container-highest:#e5e2dd;--color-background:#fcf9f4;--color-on-surface:#1c1c19;--color-on-surface-variant:#464554;--color-inverse-surface:#31302d;--color-inverse-on-surface:#f3f0eb;--color-outline:#767586;--color-outline-variant:#c7c4d7;--color-error:#ba1a1a;--color-white:#fff;--color-theme-sepia-bg:#faf7f2;--color-theme-sepia-dot:#eadcc8;--color-theme-oled-bg:#1c1d24;--color-theme-oled-dot:#323646;--color-theme-slate-bg:#282c34;--color-theme-slate-dot:#464d5b;--color-header-glass-bg:#fcf9f4e0;--color-primary-alpha-10:#4648d41a;--color-primary-alpha-20:#4648d433;--color-primary-alpha-40:#4648d466;--color-secondary-container-alpha-15:#fe932c26;--color-surface-container-low-alpha-70:#f6f3eeb3;--color-surface-container-lowest-alpha-90:#ffffffe6;--color-on-surface-variant-alpha-60:#46455499;--color-on-surface-variant-alpha-80:#464554cc;--color-outline-variant-alpha-20:#c7c4d733;--color-outline-variant-alpha-30:#c7c4d74d;--color-outline-variant-alpha-40:#c7c4d766;--color-card-border-subtle:#1e293b0f;--app-surface:var(--color-surface);--app-surface-container-lowest:var(--color-surface-container-lowest);--app-surface-container-low:var(--color-surface-container-low);--app-surface-container:var(--color-surface-container);--app-on-surface:var(--color-on-surface);--app-on-surface-variant:var(--color-on-surface-variant);--app-primary:var(--color-primary);--app-secondary:var(--color-secondary);--app-outline-variant:var(--color-outline-variant);--app-outline:var(--color-outline);--app-error:var(--color-error);--app-font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-sans:var(--app-font-family);--font-serif:Playfair Display, Georgia, serif;--font-reading:Playfair Display, Georgia, serif;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #1e293b40;--shadow-navbar:0 10px 30px -5px #1e293b1f, 0 4px 12px -2px #1e293b14;--shadow-drawer:0 24px 48px -12px #1e293b38}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans);height:100%;overflow:hidden}body{background-color:var(--app-surface);height:100%;color:var(--app-on-surface);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden}body.modal-open{overflow:hidden}h1,h2,h3,h4,h5,h6,p{font-weight:inherit;font-size:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-family:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--app-primary);outline-offset:2px}input,textarea,select{color:inherit;background:0 0;border:none;font-family:inherit;font-size:100%}img,svg{max-width:100%;display:block}@font-face{font-family:Inter;src:url(/fonts/inter/Inter-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter/Inter-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter/Inter-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter/Inter-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}body{font-family:var(--app-font-family);letter-spacing:0;font-feature-settings:"cv02", "cv03", "cv04", "cv11", "tnum";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400}.font-sans,.inter-font,.jakarta-font{font-family:var(--font-sans)}.font-serif,.literata-font{font-family:var(--font-serif)}.font-reading{font-family:var(--font-reading)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.heading-title{font-family:var(--font-sans);color:var(--app-on-surface);font-size:.875rem;font-weight:600;line-height:1.2}.heading-subtitle{color:var(--app-on-surface-variant);font-size:.6875rem;line-height:1.5}.d-flex{display:flex!important}.d-none{display:none!important}.d-block{display:block!important}.flex-column{flex-direction:column!important}.flex-row{flex-direction:row!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.justify-content-between{justify-content:space-between!important}.justify-content-center{justify-content:center!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.align-items-center{align-items:center!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.vh-100{height:100vh!important}.h-100{height:100%!important}.w-100{width:100%!important}.container-fluid{width:100%;margin-left:auto;margin-right:auto}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pr-1{padding-right:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-auto{margin-right:auto!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.text-truncate{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}.text-nowrap{white-space:nowrap!important}.text-center{text-align:center!important}.text-left{text-align:left!important}.small{font-size:.75rem!important}.cursor-pointer{cursor:pointer!important}.border-bottom{border-bottom:1px solid var(--app-outline-variant)!important}.border-surface{border-color:#e5e2ddcc!important}.main-app{background-color:var(--app-surface);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-between;width:100vw;height:100vh;transition:background-color .25s ease-in-out;display:flex;position:relative;overflow:hidden}.app-navbar{-webkit-backdrop-filter:blur(12px);border:1px solid var(--app-outline-variant,#c7c4d7);box-shadow:var(--shadow-navbar);z-index:1040;background-color:#ffffffeb;border-radius:9999px;flex-shrink:0;justify-content:space-between;align-items:center;width:90%;max-width:800px;margin:.5rem auto 1rem;padding:.5rem 1.5rem;transition:all .25s ease-in-out;display:flex}.app-navbar .navbar-brand{border-radius:9999px;justify-content:center;align-items:center;padding:.25rem .5rem;transition:transform .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);display:inline-flex;color:var(--app-primary)!important}.app-navbar .navbar-brand:hover{transform:scale(1.08);color:var(--color-primary-container,#6063ee)!important}.app-navbar .navbar-nav{flex-direction:row;align-items:center;gap:.5rem;margin-right:auto;display:flex}.app-navbar .nav-item{align-items:center;display:flex;position:relative}.app-navbar .nav-link{border-radius:.375rem;justify-content:center;align-items:center;padding:.35rem .5rem;transition:color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);display:inline-flex;color:var(--app-on-surface-variant)!important}.app-navbar .nav-link:hover{background-color:var(--color-primary-alpha-10,#4648d41a);color:var(--app-primary)!important}.app-navbar .navbar-text{color:var(--app-on-surface-variant);font-size:.75rem;font-weight:500}.icon-chevron{z-index:1030;-webkit-backdrop-filter:blur(10px);width:52px;height:52px;color:var(--app-on-surface-variant);cursor:pointer;border:1px solid var(--color-outline-variant-alpha-30,#c7c4d74d);background-color:#fffc;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:flex;position:fixed;top:50%;transform:translateY(-50%);box-shadow:0 4px 20px -2px #1e293b0f}.icon-chevron:hover{color:var(--app-primary);background-color:var(--color-white,#fff);transform:translateY(-50%)scale(1.1);box-shadow:0 12px 40px #1e293b1f}.icon-chevron.left{left:16px}.icon-chevron.right{right:16px}@media (width>=1024px){.icon-chevron.left{left:40px}.icon-chevron.right{right:40px}}.viewer-container{flex-direction:column;flex:auto;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}#viewer{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}#viewer iframe{border:none;width:100%;height:100%}.icon-avatar{background-color:var(--color-primary-alpha-10,#4648d41a);width:32px;height:32px;color:var(--app-primary);border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.close-btn{color:var(--app-on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;padding:.35rem;font-size:1.125rem;line-height:1;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.close-btn:hover{color:var(--app-on-surface);background-color:#0000000f}.action-icon-btn{cursor:pointer;width:28px;height:28px;color:var(--app-on-surface-variant);background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;font-size:1rem;transition:all .15s cubic-bezier(.4,0,.2,1);display:flex}.action-icon-btn:hover{background-color:var(--color-primary-alpha-10,#4648d41a);color:var(--app-primary)}.app-drawer-wrapper{z-index:1045;pointer-events:auto;position:fixed;inset:0}.app-drawer-backdrop{-webkit-backdrop-filter:blur(4px);z-index:1045;background-color:#1e293b59;width:100vw;height:100vh;animation:.2s ease-out drawerFadeIn;position:fixed;inset:0}.drawer-title{color:var(--app-on-surface);font-size:.875rem;font-weight:600;line-height:1.2}.drawer-subtitle{color:var(--app-on-surface-variant);max-width:240px;font-size:.6875rem;line-height:1.3}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}.reader-suggestions-fixed-container{z-index:1035;pointer-events:none;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:84px;right:24px}@media (width<=576px){.reader-suggestions-fixed-container{bottom:74px;right:14px}}.suggestion-toggle-btn{pointer-events:auto;-webkit-backdrop-filter:blur(12px);border:1px solid var(--app-outline-variant,#c7c4d7);color:var(--app-on-surface-variant,#464554);cursor:pointer;background:#fffffff2;border-radius:9999px;align-items:center;gap:6px;padding:7px 16px;font-size:.75rem;font-weight:600;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #1e293b1a}.suggestion-toggle-btn:hover{color:var(--app-primary,#4648d4);border-color:var(--app-primary,#4648d4);transform:translateY(-1px);box-shadow:0 8px 24px #4648d42e}.suggestion-toggle-btn.active{color:var(--app-primary,#4648d4);border-color:var(--app-primary,#4648d4);background:#fff}.suggestion-toggle-btn.is-loading{border-color:var(--app-primary,#4648d4);color:var(--app-primary,#4648d4);animation:1.5s ease-in-out infinite pulseSuggestionBorder}@keyframes pulseSuggestionBorder{0%,to{box-shadow:0 0 #4648d466}50%{box-shadow:0 0 0 6px #4648d41a}}.icon-spinning{animation:1.8s linear infinite spinPulse}@keyframes spinPulse{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.18)}to{transform:rotate(360deg)scale(1)}}.loading-dots{align-items:center;gap:3px;margin-left:2px;display:inline-flex}.loading-dots .dot{background-color:var(--app-primary,#4648d4);border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite both dotPulse}.loading-dots .dot:first-child{animation-delay:-.32s}.loading-dots .dot:nth-child(2){animation-delay:-.16s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.6)}40%{opacity:1;transform:scale(1.2)}}.toggle-indicator{margin-left:2px;font-size:15px;line-height:1;transition:transform .15s cubic-bezier(.4,0,.2,1)}.toggle-indicator.collapsed{transform:rotate(45deg)}.suggestions-container{flex-direction:column;align-items:flex-end;gap:8px;max-width:360px;display:flex}@media (width<=576px){.suggestions-container{max-width:calc(100vw - 28px)}}.suggestion-chip{pointer-events:auto;-webkit-backdrop-filter:blur(14px);border:1px solid var(--color-outline-variant-alpha-40,#c7c4d7b3);max-width:100%;color:var(--app-on-surface,#1c1c19);cursor:pointer;text-align:left;background:#fffffff5;border-radius:.75rem;align-items:center;padding:10px 16px;font-size:.875rem;font-weight:500;line-height:1.4;transition:all .25s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #1e293b12}.suggestion-chip:hover{border-color:var(--app-primary,#4648d4);color:var(--app-primary,#4648d4);background:#fff;transform:translate(-4px);box-shadow:0 8px 24px #4648d42e}@media (width<=576px){.suggestion-chip{padding:8px 12px;font-size:.75rem}}.ai-glow-card:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 20%,#4648d414 0%,#904d0008 45%,#0000 70%);width:140%;height:200%;position:absolute;top:-50%;left:-20%}.ai-shimmer-sweep{pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000 0%,#ffffffa6 50%,#0000 100%);width:100%;height:100%;animation:4.5s cubic-bezier(.4,0,.2,1) infinite aiShimmer;position:absolute;top:0;left:-150%;transform:skew(-20deg)}@keyframes aiShimmer{0%,30%{left:-150%}60%,to{left:200%}}.suggestion-icon{z-index:2;color:var(--app-primary,#4648d4);flex-shrink:0;justify-content:center;align-items:center;margin-right:10px;display:flex;position:relative}.suggestion-text{z-index:2;flex:1;position:relative}.chip-stagger-enter-active{transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .45s cubic-bezier(.16,1,.3,1);transition-delay:var(--stagger-delay,0s)}.chip-stagger-leave-active{transition:transform .25s ease-in,opacity .25s ease-in}.chip-stagger-enter-from{opacity:0;transform:translate(-28px)scale(.96)}.chip-stagger-leave-to{opacity:0;transform:translate(16px)scale(.95)}.app-ai-drawer{z-index:1050;-webkit-backdrop-filter:blur(24px);border:1px solid var(--app-outline-variant);width:380px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-2xl);background-color:#fffffffa;border-radius:1rem;flex-direction:column;padding:1.125rem;animation:.28s cubic-bezier(.16,1,.3,1) aiDrawerSlideIn;display:flex;position:fixed;top:16px;bottom:16px;right:16px}@media (width<=576px){.app-ai-drawer{width:auto;max-width:none;inset:10px}}.empty-state{text-align:center;padding:2rem 1rem}.empty-state .empty-icon{margin-bottom:.5rem;font-size:1.5rem;line-height:1}.empty-state .empty-title{color:var(--app-on-surface);margin-bottom:.25rem;font-size:.875rem;font-weight:700}.empty-state .empty-description{color:var(--app-on-surface-variant);font-size:.6875rem;line-height:1.4}.chat-input{resize:none;background-color:var(--color-surface-container,#f6f3ee);border:1px solid #c7c4d766;border-radius:.375rem;outline:none;width:100%;padding:.5rem .625rem;font-size:.8125rem;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}.chat-input:focus{border-color:var(--app-primary);box-shadow:none;background-color:#fff}.send-btn{background-color:var(--app-primary);border:1px solid var(--app-primary);color:#fff;cursor:pointer;border-radius:.375rem;padding:.375rem .875rem;font-size:.75rem;font-weight:600;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}.send-btn:hover:not(:disabled){background-color:#3b3db8;border-color:#3b3db8}.send-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes aiDrawerSlideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.chat-messages-container{flex-direction:column;display:flex}.chat-messages-container::-webkit-scrollbar{width:6px;height:6px}.chat-messages-container::-webkit-scrollbar-track{background:0 0}.chat-messages-container::-webkit-scrollbar-thumb{background:#46455433;border-radius:9999px}.message-bubble-wrapper{flex-direction:column;max-width:85%;margin-bottom:.75rem;display:flex}.message-bubble-wrapper.user-message{align-self:flex-end;align-items:flex-end}.message-bubble-wrapper.user-message .message-bubble{background-color:var(--app-primary);color:#fff;white-space:pre-wrap;border-bottom-right-radius:2px}.message-bubble-wrapper.assistant-message{align-self:flex-start;align-items:flex-start}.message-bubble-wrapper.assistant-message .message-bubble{background-color:var(--color-surface-container,#f6f3ee);color:var(--app-on-surface);border:1px solid #c7c4d766;border-bottom-left-radius:2px}.message-meta{color:var(--app-on-surface-variant);margin-bottom:.25rem;font-size:.6875rem}.message-bubble{word-break:break-word;border-radius:.5rem;padding:.625rem .75rem;font-size:.8125rem;line-height:1.45}.message-content{font-size:.8125rem;line-height:1.45}.markdown-body p:last-child{margin-bottom:0}.markdown-body pre{color:#f7fafc;background-color:#2d3748;border-radius:.375rem;padding:8px 12px;font-size:12px;overflow-x:auto}.markdown-body pre code{background-color:#0000;padding:0}.markdown-body code{background-color:#0000000d;border-radius:4px;padding:2px 4px;font-size:12px}.markdown-body ul,.markdown-body ol{margin-bottom:8px;padding-left:20px}.typing-dot{background-color:var(--app-on-surface-variant);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite both typingPulse;display:inline-block}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typingPulse{0%,80%,to{opacity:.4;transform:scale(.5)}40%{opacity:1;transform:scale(1)}}.app-toc-drawer{z-index:1050;-webkit-backdrop-filter:blur(24px);border:1px solid var(--app-outline-variant);width:380px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-2xl);background-color:#fffffffa;border-radius:1rem;flex-direction:column;padding:1.125rem;animation:.28s cubic-bezier(.16,1,.3,1) tocDrawerSlideIn;display:flex;position:fixed;top:16px;bottom:16px;right:16px}@media (width<=576px){.app-toc-drawer{width:auto;max-width:none;inset:10px}}.drawer-tabs{background-color:var(--color-surface-container,#f6f3ee);border-radius:.5rem;gap:.25rem}.tab-btn{color:var(--app-on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:.375rem;flex:1;padding:.25rem .5rem;font-size:.6875rem;font-weight:600;transition:all .15s cubic-bezier(.4,0,.2,1)}.tab-btn.active{color:var(--app-primary);box-shadow:var(--shadow-xs);background-color:#fff}.tab-btn:disabled{opacity:.5;cursor:not-allowed}.search-input-wrapper{position:relative}.search-input{background-color:var(--color-surface-container,#f6f3ee);width:100%;color:var(--app-on-surface);border:1px solid #c7c4d766;border-radius:.375rem;outline:none;padding:.375rem .625rem;font-size:.75rem;transition:border-color .15s cubic-bezier(.4,0,.2,1)}.search-input:focus{border-color:var(--app-primary)}.chapters-list{flex-direction:column;gap:.25rem;display:flex}.chapters-list::-webkit-scrollbar{width:6px;height:6px}.chapters-list::-webkit-scrollbar-track{background:0 0}.chapters-list::-webkit-scrollbar-thumb{background:#46455433;border-radius:9999px}.chapter-item{cursor:pointer;color:var(--app-on-surface);border-radius:.375rem;align-items:center;padding:.4375rem .625rem;font-size:.8125rem;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);display:flex}.chapter-item:hover{color:var(--app-primary);background-color:#0000000a}.chapter-item.active{background-color:var(--color-primary-alpha-10,#4648d41a);color:var(--app-primary);font-weight:600}.chapter-item.active .chapter-bullet{color:var(--app-primary)}.chapter-bullet{color:var(--app-outline-variant);flex-shrink:0;font-size:1rem}.chapter-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge-active{background-color:var(--app-primary);color:#fff;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:600}.resume-btn{background-color:var(--app-primary);border:1px solid var(--app-primary);color:#fff;cursor:pointer;border-radius:.375rem;width:100%;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}.resume-btn:hover{background-color:#3b3db8;border-color:#3b3db8}@keyframes tocDrawerSlideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.typography-settings-container{align-items:center;display:inline-flex;position:relative}.app-typography-backdrop{z-index:1035;background:0 0;width:100vw;height:100vh;position:fixed;top:0;left:0}.app-typography-popover{-webkit-backdrop-filter:blur(16px);border:1px solid var(--app-outline-variant);width:250px;box-shadow:var(--shadow-xl);z-index:1060;color:var(--app-on-surface);background-color:#fffffffa;border-radius:.75rem;padding:.875rem;animation:.2s cubic-bezier(.16,1,.3,1) typographyPopIn;position:absolute;bottom:45px;right:0}.reset-btn{border:1px solid var(--app-outline-variant);color:var(--app-on-surface-variant);cursor:pointer;background:0 0;border-radius:.25rem;padding:.125rem .5rem;font-size:.6875rem;transition:all .15s cubic-bezier(.4,0,.2,1)}.reset-btn:hover{background-color:var(--app-surface);color:var(--app-on-surface)}.font-option-btn{text-align:left;cursor:pointer;width:100%;color:var(--app-on-surface);background:0 0;border:1px solid #0000;border-radius:.375rem;padding:.375rem .5rem;font-size:.75rem;transition:all .15s cubic-bezier(.4,0,.2,1)}.font-option-btn:hover:not(:disabled){background-color:var(--app-surface)}.font-option-btn.active{border-color:var(--app-primary);color:var(--app-primary);background-color:var(--color-primary-alpha-10,#4648d414);font-weight:600}.font-option-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes typographyPopIn{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.app-toast-container{z-index:1060;background:#fff;border:1px solid #c7c4d799;border-radius:.75rem;align-items:center;gap:.75rem;width:calc(100% - 48px);max-width:360px;padding:.75rem 1rem;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px -4px #1e293b2e,0 4px 12px -2px #1e293b14}@media (width<=576px){.app-toast-container{width:auto;bottom:16px;left:16px;right:16px}}.app-toast-icon{border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.app-toast-icon.processing{background-color:var(--color-primary-alpha-10,#4648d41a);color:var(--app-primary)}.app-toast-icon.success{color:#10b981;background-color:#10b9811a}.app-toast-icon.error{color:#ef4444;background-color:#ef44441a}.toast-spinner{font-size:20px;animation:1s linear infinite toastSpin}.app-toast-content{flex:1;min-width:0}.app-toast-title{color:var(--app-on-surface);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8125rem;font-weight:700;line-height:1.3;overflow:hidden}.app-toast-message{color:var(--app-on-surface-variant);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:.6875rem;line-height:1.3;overflow:hidden}.app-toast-close{color:var(--app-on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;transition:background-color .15s cubic-bezier(.4,0,.2,1);display:flex}.app-toast-close:hover{background-color:#0000000d}.fade-slide-enter-active,.fade-slide-leave-active{transition:all .25s ease-out}.fade-slide-enter-from,.fade-slide-leave-to{opacity:0;transform:translateY(12px)scale(.95)}@keyframes toastSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress{background-color:var(--app-outline-variant);border-radius:.25rem;width:100px;height:6px;font-size:.75rem;display:flex;overflow:hidden}.progress-bar{color:#fff;text-align:center;white-space:nowrap;background-color:var(--app-primary);flex-direction:column;justify-content:center;transition:width .3s;display:flex;overflow:hidden}.reader-progress-wrapper{flex-direction:column;align-items:flex-end;margin-left:auto;display:flex}.reader-chapter-name{color:var(--app-on-surface-variant);text-overflow:ellipsis;white-space:nowrap;max-width:200px;margin-bottom:.25rem;font-size:.85rem;line-height:1;overflow:hidden}.reader-progress-percentage{color:var(--app-primary);text-align:right;min-width:38px;font-size:.85rem;font-weight:700}.custom-control{z-index:1;align-items:center;min-height:1.5rem;display:inline-flex;position:relative}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-input{z-index:-1;opacity:0;width:1rem;height:1rem;position:absolute;left:0}.custom-switch .custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:var(--app-primary);background-color:var(--app-primary)}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translate(.75rem)}.custom-switch .custom-control-input:disabled~.custom-control-label{color:var(--app-on-surface-variant);opacity:.6;cursor:not-allowed}.custom-switch .custom-control-input:disabled~.custom-control-label:before{background-color:#c7c4d74d}.custom-switch .custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 1px #fff, 0 0 0 3px var(--color-primary-alpha-10,#4648d440)}.custom-switch .custom-control-label{vertical-align:top;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:0;position:relative}.custom-switch .custom-control-label:before{pointer-events:all;content:"";background-color:var(--app-outline-variant);border:1px solid #0000;border-radius:.5rem;width:1.75rem;height:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:block;position:absolute;top:.125rem;left:-2.25rem}.custom-switch .custom-control-label:after{content:"";background-color:#fff;border-radius:.5rem;width:calc(1rem - 4px);height:calc(1rem - 4px);transition:transform .15s ease-in-out,background-color .15s ease-in-out;display:block;position:absolute;top:calc(.125rem + 2px);left:calc(2px - 2.25rem)}.navbar-suggestion-switch{-webkit-user-select:none;user-select:none}.navbar-suggestion-switch .custom-control-label{color:var(--app-on-surface-variant);padding-top:2px;font-size:.75rem;font-weight:500}.navbar-suggestion-switch .custom-control-input:checked~.custom-control-label{color:var(--app-primary);font-weight:600}.custom-window{z-index:1080;resize:both;-webkit-backdrop-filter:blur(16px);border:1px solid var(--app-outline-variant);min-width:260px;min-height:160px;box-shadow:var(--shadow-2xl);background-color:#fffffffa;border-radius:.75rem;flex-direction:column;display:flex;position:fixed;overflow:hidden}.window-header{cursor:move;-webkit-user-select:none;user-select:none;background-color:var(--color-surface-container,#f6f3ee);border-bottom:1px solid var(--app-outline-variant);justify-content:space-between;align-items:center;padding:.625rem .875rem;display:flex}.modal-title{color:var(--app-on-surface);margin:0;font-size:.875rem;font-weight:600}.window-body{color:var(--app-on-surface);flex:auto;padding:.875rem;font-size:.8125rem;overflow:hidden auto}.window-body::-webkit-scrollbar{width:6px;height:6px}.window-body::-webkit-scrollbar-track{background:0 0}.window-body::-webkit-scrollbar-thumb{background:#46455433;border-radius:9999px}.proceeded{display:inline}.unexpected-word{cursor:pointer;border-radius:2px;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.unexpected-word:hover{background-color:var(--color-primary-alpha-10,#4648d41f);color:var(--app-primary)}.app-loading-overlay{z-index:1070;-webkit-backdrop-filter:blur(20px);background-color:#fcf9f4f0;justify-content:center;align-items:center;animation:.25s ease-out fadeIn;display:flex;position:absolute;inset:0}.app-loading-card{border:1px solid var(--app-outline-variant);width:90%;max-width:380px;box-shadow:var(--shadow-2xl);background-color:#fff;border-radius:1rem;flex-direction:column;align-items:center;padding:2rem 2.5rem;display:flex}.loading-icon-wrapper{background-color:var(--color-primary-alpha-10,#4648d41a);width:56px;height:56px;color:var(--app-primary);border-radius:9999px;justify-content:center;align-items:center;animation:2s ease-in-out infinite pulseIcon;display:flex}.loading-title{color:var(--app-on-surface);margin:0;font-size:1rem;font-weight:700}.loading-subtitle{color:var(--app-on-surface-variant);margin-bottom:1rem;font-size:.75rem}.app-progress{background-color:var(--app-outline-variant);border-radius:9999px;width:100%;height:8px;overflow:hidden}.app-progress-bar{background-color:var(--app-primary);border-radius:9999px;transition:width .3s cubic-bezier(.4,0,.2,1)}.loading-percent-text{color:var(--app-primary);font-size:.75rem;font-weight:600}@keyframes pulseIcon{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}html,body{background-color:var(--app-surface);height:100%;color:var(--app-on-surface);font-family:var(--app-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden}.reader-view{background-color:var(--app-surface);flex-direction:column;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.container-epub-row{flex:auto;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}[data-reader-theme=sepia],.theme-sepia{--app-surface:#faf7f2;--app-on-surface:#2d2a26;--app-on-surface-variant:#5c564c;--app-outline-variant:#eadcc8;--color-surface-container:#f2ede4}[data-reader-theme=sepia] .app-navbar,.theme-sepia .app-navbar{-webkit-backdrop-filter:blur(16px);background-color:#faf7f2f0;border-color:#eadcc8}[data-reader-theme=sepia] .app-ai-drawer,[data-reader-theme=sepia] .app-toc-drawer,[data-reader-theme=sepia] .app-typography-popover,[data-reader-theme=sepia] .custom-window,.theme-sepia .app-ai-drawer,.theme-sepia .app-toc-drawer,.theme-sepia .app-typography-popover,.theme-sepia .custom-window{-webkit-backdrop-filter:blur(24px);background-color:#faf7f2fa;border-color:#eadcc8}[data-reader-theme=sepia] .icon-chevron,.theme-sepia .icon-chevron{-webkit-backdrop-filter:blur(10px);background-color:#faf7f2d9;border-color:#eadcc8}[data-reader-theme=oled],.theme-oled,html.dark{--app-surface:#1c1d24;--app-on-surface:#e6e6ea;--app-on-surface-variant:#9da1b6;--app-outline-variant:#323646;--color-surface-container:#242632}[data-reader-theme=oled] .app-navbar,.theme-oled .app-navbar,html.dark .app-navbar{-webkit-backdrop-filter:blur(16px);color:#e6e6ea;background-color:#1c1d24f0;border-color:#ffffff1a}[data-reader-theme=oled] .app-ai-drawer,[data-reader-theme=oled] .app-toc-drawer,[data-reader-theme=oled] .app-typography-popover,[data-reader-theme=oled] .custom-window,.theme-oled .app-ai-drawer,.theme-oled .app-toc-drawer,.theme-oled .app-typography-popover,.theme-oled .custom-window,html.dark .app-ai-drawer,html.dark .app-toc-drawer,html.dark .app-typography-popover,html.dark .custom-window{-webkit-backdrop-filter:blur(24px);color:#e6e6ea;background-color:#1c1d24fa;border-color:#ffffff1f}[data-reader-theme=oled] .icon-chevron,.theme-oled .icon-chevron,html.dark .icon-chevron{-webkit-backdrop-filter:blur(10px);color:#e6e6ea;background-color:#1c1d24d9;border-color:#ffffff1a}[data-reader-theme=oled] .drawer-tabs,.theme-oled .drawer-tabs,html.dark .drawer-tabs{background-color:#15161c}[data-reader-theme=oled] .tab-btn.active,.theme-oled .tab-btn.active,html.dark .tab-btn.active{color:var(--app-primary);background-color:#242632}[data-reader-theme=oled] .chat-input,[data-reader-theme=oled] .search-input,.theme-oled .chat-input,.theme-oled .search-input,html.dark .chat-input,html.dark .search-input{color:#e6e6ea;background-color:#15161c;border-color:#ffffff1a}[data-reader-theme=oled] .chapter-item:hover,.theme-oled .chapter-item:hover,html.dark .chapter-item:hover{background-color:#ffffff0d}[data-reader-theme=oled] .assistant-message .message-bubble,.theme-oled .assistant-message .message-bubble,html.dark .assistant-message .message-bubble{color:#e6e6ea;background-color:#242632;border-color:#ffffff1a}[data-reader-theme=oled] .app-loading-card,.theme-oled .app-loading-card,html.dark .app-loading-card{color:#e6e6ea;background-color:#1c1d24;border-color:#ffffff1f}[data-reader-theme=slate],.theme-slate{--app-surface:#282c34;--app-on-surface:#e2e8f0;--app-on-surface-variant:#94a3b8;--app-outline-variant:#464d5b;--color-surface-container:#333842}[data-reader-theme=slate] .app-navbar,.theme-slate .app-navbar{-webkit-backdrop-filter:blur(16px);color:#e2e8f0;background-color:#282c34f0;border-color:#ffffff1f}[data-reader-theme=slate] .app-ai-drawer,[data-reader-theme=slate] .app-toc-drawer,[data-reader-theme=slate] .app-typography-popover,[data-reader-theme=slate] .custom-window,.theme-slate .app-ai-drawer,.theme-slate .app-toc-drawer,.theme-slate .app-typography-popover,.theme-slate .custom-window{-webkit-backdrop-filter:blur(24px);color:#e2e8f0;background-color:#282c34fa;border-color:#ffffff24}[data-reader-theme=slate] .icon-chevron,.theme-slate .icon-chevron{-webkit-backdrop-filter:blur(10px);color:#e2e8f0;background-color:#282c34d9;border-color:#ffffff1f}[data-reader-theme=slate] .drawer-tabs,.theme-slate .drawer-tabs{background-color:#21252b}[data-reader-theme=slate] .tab-btn.active,.theme-slate .tab-btn.active{color:var(--app-primary);background-color:#333842}[data-reader-theme=slate] .chat-input,[data-reader-theme=slate] .search-input,.theme-slate .chat-input,.theme-slate .search-input{color:#e2e8f0;background-color:#21252b;border-color:#ffffff1f}[data-reader-theme=slate] .chapter-item:hover,.theme-slate .chapter-item:hover{background-color:#ffffff0f}[data-reader-theme=slate] .assistant-message .message-bubble,.theme-slate .assistant-message .message-bubble{color:#e2e8f0;background-color:#333842;border-color:#ffffff1f}[data-reader-theme=slate] .app-loading-card,.theme-slate .app-loading-card{color:#e2e8f0;background-color:#282c34;border-color:#ffffff24}
