:root{--sidebar-width: 320px;--controller-height: 88px;--bg-base: #0f111a;--bg-card: rgba(24, 27, 40, .7);--bg-sidebar: rgba(15, 17, 26, .85);--bg-panel: rgba(15, 17, 26, .9);--bg-element: rgba(255, 255, 255, .04);--bg-element-hover: rgba(255, 255, 255, .08);--bg-element-active: rgba(168, 85, 247, .1);--border-color: rgba(255, 255, 255, .08);--border-glow: rgba(138, 43, 226, .3);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-color: #a855f7;--accent-hover: #c084fc;--word-glow-color: #ffb703;--sentence-highlight: rgba(168, 85, 247, .15);--bg-play-btn: #f1f5f9;--text-play-btn: #0f111a;--shadow-play-btn: 0 4px 14px rgba(255, 255, 255, .25);--shadow-play-btn-hover: 0 4px 18px rgba(255, 255, 255, .4);--word-hover-bg: rgba(255, 255, 255, .08);--bg-viewport-gradient: radial-gradient(circle at top, rgba(24, 27, 40, .4) 0%, var(--bg-base) 100%)}body.theme-light{--bg-base: #f8fafc;--bg-card: rgba(255, 255, 255, .7);--bg-sidebar: rgba(241, 245, 249, .85);--bg-panel: rgba(241, 245, 249, .95);--bg-element: rgba(15, 23, 42, .04);--bg-element-hover: rgba(15, 23, 42, .08);--bg-element-active: rgba(124, 58, 237, .08);--border-color: rgba(15, 23, 42, .08);--border-glow: rgba(124, 58, 237, .15);--accent-color: #7c3aed;--accent-hover: #6d28d9;--word-glow-color: #eab308;--sentence-highlight: rgba(124, 58, 237, .08);--bg-play-btn: #7c3aed;--text-play-btn: #ffffff;--shadow-play-btn: 0 4px 14px rgba(124, 58, 237, .25);--shadow-play-btn-hover: 0 4px 18px rgba(124, 58, 237, .4);--word-hover-bg: rgba(15, 23, 42, .06);--bg-viewport-gradient: radial-gradient(circle at top, rgba(124, 58, 237, .03) 0%, var(--bg-base) 100%)}body.theme-warm{--bg-base: #f4eae1;--bg-card: rgba(235, 222, 209, .7);--bg-sidebar: rgba(244, 234, 225, .85);--bg-panel: rgba(244, 234, 225, .95);--bg-element: rgba(67, 48, 34, .04);--bg-element-hover: rgba(67, 48, 34, .08);--bg-element-active: rgba(217, 119, 6, .08);--border-color: rgba(67, 48, 34, .08);--border-glow: rgba(217, 119, 6, .2);--accent-color: #d97706;--accent-hover: #b45309;--word-glow-color: #f59e0b;--sentence-highlight: rgba(217, 119, 6, .1);--bg-play-btn: #d97706;--text-play-btn: #ffffff;--shadow-play-btn: 0 4px 14px rgba(217, 119, 6, .25);--shadow-play-btn-hover: 0 4px 18px rgba(217, 119, 6, .4);--word-hover-bg: rgba(67, 48, 34, .06);--bg-viewport-gradient: radial-gradient(circle at top, rgba(217, 119, 6, .03) 0%, var(--bg-base) 100%)}body.theme-dark{--bg-base: #0f111a;--bg-card: rgba(24, 27, 40, .7);--bg-sidebar: rgba(15, 17, 26, .85);--bg-panel: rgba(15, 17, 26, .95);--bg-element: rgba(255, 255, 255, .04);--bg-element-hover: rgba(255, 255, 255, .08);--bg-element-active: rgba(168, 85, 247, .1);--border-color: rgba(255, 255, 255, .08);--border-glow: rgba(138, 43, 226, .3);--accent-color: #a855f7;--accent-hover: #c084fc;--word-glow-color: #ffb703;--sentence-highlight: rgba(168, 85, 247, .15);--bg-play-btn: #f1f5f9;--text-play-btn: #0f111a;--shadow-play-btn: 0 4px 14px rgba(255, 255, 255, .25);--shadow-play-btn-hover: 0 4px 18px rgba(255, 255, 255, .4);--word-hover-bg: rgba(255, 255, 255, .08);--bg-viewport-gradient: radial-gradient(circle at top, rgba(24, 27, 40, .4) 0%, var(--bg-base) 100%)}body.theme-light.preset-default{--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b}body.theme-light.preset-indigo{--text-primary: #1e1b4b;--text-secondary: #312e81;--text-muted: #4f46e5}body.theme-light.preset-pine{--text-primary: #022c22;--text-secondary: #064e3b;--text-muted: #059669}body.theme-light.preset-cocoa{--text-primary: #271c19;--text-secondary: #4a3728;--text-muted: #785a46}body.theme-dark.preset-default{--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b}body.theme-dark.preset-mint{--text-primary: #ecfdf5;--text-secondary: #a7f3d0;--text-muted: #34d399}body.theme-dark.preset-lavender{--text-primary: #faf5ff;--text-secondary: #e9d5ff;--text-muted: #c084fc}body.theme-dark.preset-sand{--text-primary: #fdfbf7;--text-secondary: #f3e8d2;--text-muted: #d97706}body.theme-warm.preset-default{--text-primary: #433022;--text-secondary: #5f4d3c;--text-muted: #857361}body.theme-warm.preset-olive{--text-primary: #1c2e1c;--text-secondary: #3b503b;--text-muted: #5e735e}body.theme-warm.preset-amber{--text-primary: #5c2505;--text-secondary: #7e3e11;--text-muted: #a16207}body.theme-warm.preset-charcoal{--text-primary: #222224;--text-secondary: #48484a;--text-muted: #707072}.theme-toggle-container{background:var(--bg-element);border:1px solid var(--border-color);border-radius:8px;padding:2px;display:flex;gap:2px;width:100%}.theme-btn{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:8px 10px;font-size:11px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.theme-btn:hover{color:var(--text-primary);background:var(--bg-element-hover)}.theme-btn.active{background:var(--accent-color);color:#fff;box-shadow:0 2px 8px var(--border-glow)}.preset-colors-container{display:flex;gap:12px;margin-top:8px;align-items:center}.preset-color-dot{width:32px;height:32px;border-radius:50%;cursor:pointer;position:relative;border:2px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000001a;display:flex;align-items:center;justify-content:center}.preset-color-dot:hover{transform:scale(1.15);box-shadow:0 4px 10px #00000026}.preset-color-dot.active{border-color:var(--accent-color);transform:scale(1.1);box-shadow:0 0 0 3px var(--border-glow)}.preset-color-dot.active:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;font-size:12px;color:inherit}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-base);color:var(--text-primary);font-family:Inter,sans-serif;height:100vh;overflow:hidden;transition:background-color .4s ease,color .4s ease}.app-container{display:flex;height:100vh;width:100vw}.sidebar{width:var(--sidebar-width);height:100%;background:var(--bg-sidebar);border-right:1px solid var(--border-color);padding:24px;display:flex;flex-direction:column;gap:24px;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-y:auto;overflow-x:hidden;transition:width .35s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1),border-right .35s cubic-bezier(.4,0,.2,1),opacity .35s ease}.sidebar.collapsed{width:0!important;padding:0!important;border-right:0 solid transparent!important;opacity:0;pointer-events:none}.sidebar-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.brand-icon{font-size:28px;color:var(--accent-color);text-shadow:0 0 10px rgba(168,85,247,.5)}.sidebar-header h2{font-family:Outfit,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.5px}.sidebar-section{display:flex;flex-direction:column;gap:8px}.sidebar-section h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.custom-select{width:100%;padding:12px;background:var(--bg-element);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;outline:none;transition:all .3s ease;cursor:pointer}.custom-select:focus{border-color:var(--accent-color);box-shadow:0 0 8px var(--border-glow)}.custom-select option{background:var(--bg-base);color:var(--text-primary)}.primary-btn,.secondary-btn,.danger-btn{width:100%;padding:12px;border:none;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.primary-btn{background:var(--accent-color);color:#fff;box-shadow:0 4px 12px var(--border-glow)}.primary-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.primary-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.secondary-btn{background:var(--bg-element);border:1px solid var(--border-color);color:var(--text-primary)}.secondary-btn:hover{background:var(--bg-element-hover)}.danger-btn{background:#ef4444;color:#fff}.danger-btn:hover{background:#f87171}.precompute-card{background:var(--bg-card);border:1px solid var(--border-color);padding:16px;border-radius:12px;margin-top:auto}.precompute-card .description{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:12px}.progress-bar-bg{width:100%;height:6px;background:var(--bg-element-hover);border-radius:4px;margin-top:12px;overflow:hidden}.progress-bar-fill{height:100%;width:0%;background:var(--accent-color);border-radius:4px;transition:width .3s ease}#precompute-status-text{font-size:11px;color:var(--text-secondary);display:block;margin-top:6px;text-align:right}.main-viewport{flex:1;display:flex;flex-direction:column;height:100%;background:var(--bg-viewport-gradient)}.viewport-header{padding:24px 40px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.book-info h1{font-family:Outfit,sans-serif;font-size:20px;font-weight:600;max-width:500px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-badge{font-size:12px;color:var(--text-secondary);background:var(--bg-element);border:1px solid var(--border-color);padding:4px 8px;border-radius:4px;display:inline-block;margin-top:6px}.page-indicator-top{font-size:14px;color:var(--text-secondary);font-weight:500}.reader-container{flex:1;overflow-y:auto;padding:40px 10%;line-height:1.8;font-size:20px;display:flex;flex-direction:column;gap:24px;scroll-behavior:smooth;max-width:1000px;margin:0 auto;width:100%;color:var(--text-primary);transition:color .4s ease}.font-inter{font-family:Inter,sans-serif;letter-spacing:.1px}.font-outfit{font-family:Outfit,sans-serif;letter-spacing:.3px;font-weight:350}.font-dyslexic{font-family:Inter,sans-serif;letter-spacing:.8px;word-spacing:2px;line-height:2.2;font-size:22px}.word-span{position:relative;cursor:pointer;border-radius:4px;padding:0 2px;margin:0 1px;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;color:inherit}.word-span:hover{background:var(--word-hover-bg);text-decoration:underline}.word-span.active-word{color:#12131a!important;background-color:var(--word-glow-color)!important;font-weight:600;box-shadow:0 0 12px var(--word-glow-color)}.sentence-span.active-sentence{background-color:var(--sentence-highlight);border-radius:6px;box-shadow:0 0 4px var(--sentence-highlight);transition:background-color .3s ease}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);text-align:center;gap:16px;height:100%}.empty-state i{font-size:64px;background:linear-gradient(135deg,var(--accent-color) 0%,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.empty-state p{font-size:16px;max-width:300px}.media-controller{height:var(--controller-height);background:var(--bg-panel);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 40px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.controls-group{display:flex;align-items:center;gap:16px}.icon-btn{background:var(--bg-element);border:1px solid var(--border-color);color:var(--text-primary);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all .3s ease}.icon-btn:hover:not(:disabled){background:var(--bg-element-hover);border-color:var(--accent-color)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.play-btn{background:var(--bg-play-btn);border:none;color:var(--text-play-btn);width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;box-shadow:var(--shadow-play-btn);transition:all .3s ease}.play-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--shadow-play-btn-hover)}.play-btn:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}.speed-group{gap:12px;font-size:14px;color:var(--text-secondary)}.speed-label{font-weight:500}.speed-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:120px;height:4px;background:var(--bg-element-hover);border-radius:2px;outline:none}.speed-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent-color);cursor:pointer;box-shadow:0 0 6px var(--accent-color);transition:transform .2s ease}.speed-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}#speed-val{min-width:36px;text-align:right;font-weight:600;color:var(--text-primary)}.hidden{display:none!important}.toc-sidebar{width:280px;height:100%;background:var(--bg-sidebar);border-left:1px solid var(--border-color);padding:24px;display:flex;flex-direction:column;gap:24px;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-y:hidden;overflow-x:hidden;position:relative;transition:width .35s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1),border-left .35s cubic-bezier(.4,0,.2,1),opacity .35s ease}.toc-sidebar.collapsed{width:0!important;padding:0!important;border-left:0 solid transparent!important;opacity:0;pointer-events:none}.toc-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1;padding-right:4px}.toc-item{padding:12px 14px;background:var(--bg-element);border:1px solid var(--border-color);border-radius:10px;font-size:13px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--text-secondary);display:flex;flex-direction:column;gap:6px;text-align:left}.toc-item:hover{background:var(--bg-element-hover);border-color:var(--accent-color);color:var(--text-primary);transform:translateY(-1px)}.toc-item.active{background:var(--bg-element-active);border-color:var(--accent-color);color:var(--text-primary);font-weight:500;box-shadow:0 0 10px var(--border-glow)}.toc-item .chapter-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toc-item .chapter-page{font-size:11px;color:var(--text-muted)}.page-jump-input::-webkit-outer-spin-button,.page-jump-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sidebar-content{width:calc(var(--sidebar-width) - 48px);display:flex;flex-direction:column;gap:24px;height:100%}.toc-content{width:100%;display:flex;flex-direction:column;gap:24px;height:100%;min-width:200px}.sidebar-toggle-btn,.reader-toggle-btn{opacity:.85;background:#ffffff08!important;border:1px solid var(--border-color)!important;box-shadow:0 4px 12px #00000026;color:var(--text-secondary)!important}.sidebar-toggle-btn:hover,.reader-toggle-btn:hover{opacity:1;color:var(--text-primary)!important;background:#ffffff14!important;border-color:var(--accent-color)!important;box-shadow:0 0 10px #a855f740}.sidebar-header-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border-color);padding-bottom:12px}.tab-btn{flex:1;background:transparent;border:1px solid transparent;color:var(--text-secondary);padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;border-radius:6px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:6px}.tab-btn:hover{color:var(--text-primary);background:#ffffff08}.tab-btn.active{color:var(--text-primary);background:#a855f71a;border-color:#a855f74d;box-shadow:0 0 8px #a855f71a}.tab-panel{display:flex;flex-direction:column;flex:1;overflow-y:hidden;min-height:0}.research-container{display:flex;flex-direction:column;gap:16px;padding-right:4px;height:100%;flex:1;min-height:0}.ai-engine-card{background:var(--bg-card);border:1px solid var(--border-color);padding:10px 12px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.ai-engine-card .engine-label{font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.engine-toggle-container{background:#ffffff0a;border:1px solid var(--border-color);border-radius:6px;padding:2px;display:flex;gap:2px}.engine-btn{background:transparent;border:none;color:var(--text-secondary);padding:4px 10px;font-size:11px;font-weight:600;border-radius:4px;cursor:pointer;transition:all .2s ease}.engine-btn:hover{color:var(--text-primary)}.engine-btn.active{background:var(--accent-color);color:#fff;box-shadow:0 2px 6px #a855f74d}.research-section{display:flex;flex-direction:column;gap:10px}.research-section .section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);display:flex;align-items:center;gap:6px;border-bottom:1px solid rgba(255,255,255,.04);padding-bottom:6px}.summary-select{padding:8px 10px;font-size:13px}.summary-content-box{background:#ffffff03;border:1px dashed var(--border-color);border-radius:8px;padding:12px;overflow-y:auto;font-size:13px;line-height:1.5;flex:1;margin-top:8px;min-height:0}.summary-overview{font-style:italic;color:var(--text-primary);border-left:2px solid var(--accent-color);padding-left:8px;margin-bottom:8px}.summary-progression{color:var(--text-secondary);margin-bottom:8px}.summary-highlights{padding-left:16px;color:var(--text-secondary)}.summary-highlights li{margin-bottom:4px}.knowledge-base-cta-card,.summary-cta-card{background:var(--bg-card);border:1px solid var(--border-color);padding:16px;border-radius:10px;text-align:center;display:flex;flex-direction:column;gap:12px}.cta-description{font-size:12px;color:var(--text-secondary);line-height:1.4}.progress-subtext{font-size:11px;color:var(--text-secondary);display:block;margin-top:4px}.chat-interface{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}.chat-messages-box{flex:1;background:#00000026;border:1px solid var(--border-color);border-radius:8px;padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;min-height:0}.message{display:flex;flex-direction:column;max-width:90%;font-size:12px;line-height:1.4}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message .bubble{padding:8px 12px;border-radius:12px}.message.user .bubble{background:linear-gradient(135deg,var(--accent-color) 0%,#3b82f6 100%);color:#fff;border-bottom-right-radius:2px;box-shadow:0 2px 6px #a855f726}.message.assistant .bubble{background:#ffffff0a;border:1px solid var(--border-color);color:var(--text-primary);border-bottom-left-radius:2px}.message.assistant .bubble p{margin-bottom:6px}.message.assistant .bubble p:last-child{margin-bottom:0}.message.assistant .bubble ul,.message.assistant .bubble ol{padding-left:16px;margin-bottom:6px}.message.assistant .bubble li{margin-bottom:2px}.chat-suggestions-box{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.suggestion-tag{background:#ffffff08;border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 8px;border-radius:12px;font-size:10px;cursor:pointer;transition:all .2s ease;text-align:left}.suggestion-tag:hover{border-color:var(--accent-color);color:var(--text-primary);background:#a855f70d}.chat-input-bar{display:flex;gap:8px;align-items:flex-end}.chat-input-bar textarea{flex:1;background:#ffffff0a;border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;color:var(--text-primary);font-size:12px;outline:none;resize:none;max-height:80px;line-height:1.4;transition:border-color .3s ease}.chat-input-bar textarea:focus{border-color:var(--accent-color)}.chat-input-bar .send-btn{width:34px!important;height:34px!important;border-radius:8px!important;flex-shrink:0}.citations-title{font-size:11px;font-weight:600;color:var(--text-secondary);margin-top:6px;display:flex;align-items:center;gap:4px}.citations-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.citation-card{background:#ffffff05;border:1px solid var(--border-color);border-radius:6px;padding:8px;cursor:pointer;transition:all .2s ease;text-align:left}.citation-card:hover{background:#a855f70a;border-color:var(--accent-color);transform:translateY(-1px)}.citation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.citation-badge{font-size:9px;background:#a855f726;color:var(--accent-hover);padding:2px 6px;border-radius:4px;font-weight:600}.citation-chapter{font-size:9px;color:var(--text-muted);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.citation-snippet{font-size:10px;color:var(--text-secondary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.research-empty-state{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:11px;text-align:center;height:80px}@keyframes pulse-highlight{0%{border-color:var(--accent-color);box-shadow:0 0 #a855f766;background-color:#a855f714}50%{border-color:#c084fc;box-shadow:0 0 15px 5px #a855f74d;background-color:#a855f726}to{border-color:transparent;box-shadow:0 0 0 0 transparent;background-color:transparent}}.paragraph-highlight-pulse{animation:pulse-highlight 3.5s ease-out 1;border:1px dashed var(--accent-color);border-radius:8px;padding:8px;margin:-8px;transition:all .3s ease}.sidebar-resizer{position:absolute;top:0;left:0;width:6px;height:100%;cursor:ew-resize;background:transparent;transition:background .2s ease;z-index:20}.sidebar-resizer:hover,.sidebar-resizer.dragging{background:var(--accent-color);box-shadow:0 0 8px var(--accent-color)}.research-sub-tabs{display:flex;background:#ffffff08;border:1px solid var(--border-color);border-radius:8px;padding:2px;gap:2px}.sub-tab-btn{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:6px 12px;font-size:11px;font-weight:600;cursor:pointer;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.sub-tab-btn:hover{color:var(--text-primary)}.sub-tab-btn.active{background:var(--accent-color);color:#fff;box-shadow:0 2px 6px #a855f740}.research-sub-panel{display:flex;flex-direction:column;flex:1;min-height:0}.research-sub-panel.hidden{display:none!important}.agent-tool-pill{display:flex;align-items:center;gap:10px;background:#a855f714;border:1px solid rgba(168,85,247,.2);border-radius:8px;padding:8px 12px;margin:8px 0;font-size:11px;line-height:1.4;color:var(--text-secondary);box-sizing:border-box;width:100%}.agent-tool-pill i{font-size:14px;color:var(--accent-color);flex-shrink:0}.agent-tool-pill.search-pill{background:#3b82f614;border-color:#3b82f633}.agent-tool-pill.search-pill i{color:#3b82f6}.agent-tool-pill.question-pill{background:#eab30814;border-color:#eab30833}.agent-tool-pill.question-pill i{color:#eab308}.agent-tool-pill.scratchpad-pill{background:#10b98114;border-color:#10b98133}.agent-tool-pill.scratchpad-pill i{color:#10b981}.agent-tool-pill.web-search-pill{background:#06b6d414;border-color:#06b6d433}.agent-tool-pill.web-search-pill i{color:#06b6d4}.agent-tool-pill.web-fetch-pill{background:#f9731614;border-color:#f9731633}.agent-tool-pill.web-fetch-pill i{color:#f97316}.agent-tool-pill strong{color:var(--text-primary)}.agent-tool-pill em{color:var(--text-primary);font-style:italic}.dictionary-container{display:flex;flex-direction:column;gap:16px;height:100%;flex:1;min-height:0}.dict-search-box{display:flex;gap:8px;align-items:center}.dict-results-box{background:#ffffff03;border:1px dashed var(--border-color);border-radius:8px;padding:16px;overflow-y:auto;font-size:13px;line-height:1.6;flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.dict-results-box::-webkit-scrollbar{width:4px}.dict-results-box::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.dict-history-section{border-top:1px solid var(--border-color);padding-top:14px;display:flex;flex-direction:column;gap:10px}.dict-history-section h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.dict-history-list{display:flex;flex-wrap:wrap;gap:6px;max-height:80px;overflow-y:auto;padding-bottom:2px}.dict-history-list::-webkit-scrollbar{width:4px}.dict-history-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.dict-history-tag{background:var(--bg-element);border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 10px;font-size:11px;font-weight:500;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:4px}.dict-history-tag:hover{background:#a855f71a;border-color:var(--accent-color);color:var(--text-primary);transform:translateY(-1px)}.no-history-text{font-size:12px;color:var(--text-muted);font-style:italic}.word-definition-popover{position:absolute;width:320px;max-height:380px;background:#0f111ae0;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px;box-shadow:0 12px 40px #0009,0 0 20px #a855f726;z-index:9999;color:var(--text-primary);display:flex;flex-direction:column;gap:12px;font-family:Outfit,Inter,sans-serif;opacity:0;transform:scale(.9) translateY(10px);transition:opacity .25s cubic-bezier(.34,1.56,.64,1),transform .25s cubic-bezier(.34,1.56,.64,1);pointer-events:auto}.word-definition-popover.active{opacity:1;transform:scale(1) translateY(0)}.word-definition-popover .popover-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:8px}.word-definition-popover .word-title-area{display:flex;flex-direction:column;gap:2px}.word-definition-popover .word-name{font-size:18px;font-weight:700;color:var(--text-primary);text-transform:capitalize}.word-definition-popover .word-phonetic{font-size:12px;color:var(--text-secondary);font-family:monospace;display:flex;align-items:center;gap:6px}.word-definition-popover .close-popover-btn{background:transparent;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;transition:color .2s ease;padding:2px}.word-definition-popover .close-popover-btn:hover{color:#ef4444}.word-definition-popover .popover-body{flex:1;overflow-y:auto;font-size:13px;line-height:1.5;padding-right:4px;display:flex;flex-direction:column;gap:10px}.word-definition-popover .popover-body::-webkit-scrollbar{width:4px}.word-definition-popover .popover-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.part-of-speech-badge{align-self:flex-start;font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.5px;background:var(--bg-element-active);color:var(--accent-hover);border:1px solid var(--border-glow);padding:2px 8px;border-radius:4px}.dict-entry-def{color:var(--text-secondary)}.dict-entry-example{font-style:italic;color:var(--text-muted);margin-top:4px;border-left:2px solid rgba(255,255,255,.1);padding-left:6px}.dict-entry-context{background:#a855f70d;border:1px solid rgba(168,85,247,.15);padding:8px 10px;border-radius:6px;margin-top:4px;color:var(--text-secondary)}.dict-entry-context strong{color:var(--accent-hover)}.audio-pronounce-btn{background:#ffffff0d;border:1px solid var(--border-color);color:var(--text-secondary);width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;transition:all .2s ease}.audio-pronounce-btn:hover{background:#a855f71a;border-color:var(--accent-color);color:var(--text-primary)}.popover-ai-cta{border-top:1px solid rgba(255,255,255,.06);padding-top:10px;margin-top:auto}.dict-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:120px;color:var(--text-muted)}.dict-spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.05);border-top:2px solid var(--accent-color);border-radius:50%;animation:dict-spin .8s linear infinite}@keyframes dict-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-sidebar-close-btn,.mobile-backdrop{display:none}@media (max-width: 768px){.mobile-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:9;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-sidebar-close-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--bg-element);border:1px solid var(--border-color);color:var(--text-secondary);font-size:18px;cursor:pointer;margin-left:auto;flex-shrink:0;transition:all .2s ease}.mobile-sidebar-close-btn:hover,.mobile-sidebar-close-btn:active{background:#ef444426;border-color:#ef4444;color:#ef4444}.sidebar{position:fixed!important;top:0;left:0;width:85vw!important;max-width:360px;height:100vh!important;z-index:100;padding:20px!important;transform:translate(0);transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s ease!important;opacity:1!important;pointer-events:auto!important;border-right:1px solid var(--border-color)!important}.sidebar.collapsed{transform:translate(-100%)!important;opacity:0!important;pointer-events:none!important;width:85vw!important;padding:20px!important;border-right:1px solid transparent!important}.sidebar-content{width:100%!important}.toc-sidebar{position:fixed!important;top:0;right:0;left:auto;width:85vw!important;max-width:360px;height:100vh!important;z-index:100;padding:20px!important;transform:translate(0);transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s ease!important;opacity:1!important;pointer-events:auto!important;border-left:1px solid var(--border-color)!important;overflow-y:auto!important}.toc-sidebar.collapsed{transform:translate(100%)!important;opacity:0!important;pointer-events:none!important;width:85vw!important;padding:20px!important;border-left:1px solid transparent!important}.toc-content{min-width:0!important;width:100%!important}.sidebar-resizer{display:none!important}.icon-btn{min-width:48px;min-height:48px;width:48px;height:48px;font-size:18px}.play-btn{width:64px;height:64px;font-size:24px}.tab-btn,.sub-tab-btn,.theme-btn{min-height:44px;padding:10px 8px;font-size:12px}.engine-btn{min-height:40px;padding:8px 14px;font-size:12px}.suggestion-tag,.dict-history-tag{padding:8px 14px;font-size:13px}.toc-item{padding:14px 16px;font-size:14px}.preset-color-dot{width:38px;height:38px}.primary-btn,.secondary-btn,.danger-btn{min-height:48px;padding:14px;font-size:15px}.custom-select{min-height:48px;padding:12px 14px;font-size:15px}.viewport-header{padding:12px 16px;gap:8px;flex-wrap:wrap}.book-info h1{font-size:15px;max-width:55vw}.chapter-badge{font-size:11px;padding:3px 6px}.page-indicator-top{font-size:13px}.page-indicator-top .secondary-btn{min-height:36px!important;padding:6px 12px!important;font-size:12px!important}.reader-container{padding:20px 16px;font-size:18px;line-height:1.75;gap:18px}.media-controller{height:auto;padding:12px 16px;flex-wrap:wrap;gap:8px;justify-content:center}.controls-group{gap:12px}.controls-group.speed-group{width:100%;justify-content:center;gap:10px;padding-top:4px;border-top:1px solid var(--border-color);margin-top:4px}.speed-slider{width:100px}.word-definition-popover{width:calc(100vw - 32px)!important;max-width:320px;left:16px!important;right:16px}.chat-input-bar textarea{font-size:14px;padding:10px 14px;min-height:44px}.chat-input-bar .send-btn{width:44px!important;height:44px!important}.message .bubble{padding:10px 14px;font-size:13px}.citation-card{padding:12px}.dict-search-box{gap:8px}.dict-search-box input{min-height:44px;font-size:15px}.dict-search-box button{min-width:44px;min-height:44px}}@media (max-width: 480px){.reader-container{padding:16px 12px;font-size:16px}.speed-label{display:none}.viewport-header{padding:10px 12px}.book-info h1{font-size:14px;max-width:45vw}.sidebar,.sidebar.collapsed,.toc-sidebar,.toc-sidebar.collapsed{width:92vw!important}.word-definition-popover{width:calc(100vw - 24px)!important;left:12px!important}.media-controller{padding:10px 12px}}
