*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #1e1e1e;--bg-secondary: #252526;--bg-tertiary: #2d2d30;--text-primary: #cccccc;--text-secondary: #969696;--text-muted: #5a5a5a;--border: #3e3e42;--accent: #4a9eff;--accent-hover: #5aadff;--ui-font-scale: 1;--font-content: calc(13px * var(--ui-font-scale));--font-content-modal: calc(14px * var(--ui-font-scale));--font-header: calc(12px * var(--ui-font-scale));--font-small: calc(11px * var(--ui-font-scale));--font-tiny: calc(10px * var(--ui-font-scale));--chrome-multiplier: 1;--chrome-scale: calc(var(--ui-font-scale) * var(--chrome-multiplier));--keyboard-inset: 0px;--thumbnail-rail-width: 140px}@media(max-width:900px){:root{--chrome-multiplier: 1.25}}@media(max-width:600px){:root{--chrome-multiplier: 1.4}}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);user-select:none;-webkit-user-select:none}.transcript-text,.summary-text,.summary-text-modal,.markdown-body,.chat-message-body,.chat-message-body-user,.chat-message-body-assistant,.pdf-text-layer,.pdf-text-layer *,.qa-question-text,.qa-explanation-text,.audio-focus-text{user-select:text;-webkit-user-select:text;cursor:text}.top-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:4px;min-height:calc(40px * var(--chrome-scale));padding:calc(2px * var(--chrome-scale)) calc(12px * var(--chrome-scale));background:var(--bg-secondary);border-bottom:1px solid var(--border);-webkit-app-region:drag;position:relative}.top-bar-left,.top-bar-center,.top-bar-right{display:flex;align-items:center;gap:8px;-webkit-app-region:no-drag}.top-bar-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.top-bar-left{flex:0 0 auto;justify-content:flex-start;flex-wrap:wrap;row-gap:4px}.top-bar-right{flex:1 1 auto;justify-content:flex-end;flex-wrap:wrap;row-gap:4px;min-width:0}.settings-bar{display:flex;align-items:center;gap:16px;padding:4px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.setting-group{display:flex;align-items:center;gap:6px}.setting-label{font-size:11px;color:var(--text-muted);white-space:nowrap}.setting-select{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:12px;outline:none;cursor:pointer}.setting-select:disabled{opacity:.4;cursor:default}.setting-select:focus{border-color:var(--accent)}.setting-input{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:12px;outline:none;width:120px}.setting-input:focus{border-color:var(--accent)}.setting-input:disabled{opacity:.4}.btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:4px;font-size:13px;display:flex;align-items:center;gap:4px}.btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn:disabled{opacity:.3;cursor:default}.btn:disabled:hover{background:none;color:var(--text-secondary)}.btn-open{font-size:13px;padding:4px 12px}.page-indicator{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);min-width:calc(72px * var(--chrome-scale));justify-content:center}.page-input{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:calc(1px * var(--chrome-scale)) calc(4px * var(--chrome-scale));font-size:13px;font-family:inherit;width:calc(38px * var(--chrome-scale));text-align:center;outline:none;-moz-appearance:textfield}.page-input::-webkit-outer-spin-button,.page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.page-input:focus{border-color:var(--accent)}.page-total{white-space:nowrap}.pdf-container{flex:1;overflow:auto;background:var(--bg-primary);position:relative}.pdf-pagenav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:40px;height:56px;display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1;background:#0006;color:#fffffff2;border:none;border-radius:6px;cursor:pointer;opacity:.4;transition:opacity .15s ease,background .15s ease;-webkit-user-select:none;user-select:none}.pdf-pagenav:hover:not(:disabled){opacity:1;background:#000000bf}.pdf-pagenav:disabled{opacity:.1;cursor:not-allowed}.pdf-pagenav-prev{left:12px}.pdf-pagenav-next{right:12px}.pdf-thumbnail-rail.pdf-thumbnail-rail-hidden{display:none}.pdf-thumbnail-rail{flex-shrink:0;width:var(--thumbnail-rail-width);height:100%;overflow-y:auto;overflow-x:hidden;background:var(--bg-secondary);border-right:1px solid var(--border);padding:8px 6px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}.pdf-thumbnail-rail-item{background:transparent;border:2px solid transparent;border-radius:4px;padding:4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:background .12s ease,border-color .12s ease;width:100%}.pdf-thumbnail-rail-item:hover{background:var(--bg-tertiary)}.pdf-thumbnail-rail-item-active{background:var(--bg-tertiary);border-color:var(--accent)}.pdf-thumbnail-rail-canvas-wrap{width:100%;aspect-ratio:17 / 22;background:var(--bg-primary);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden}.pdf-thumbnail-rail-img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-drag:none}.pdf-thumbnail-rail-placeholder{width:100%;height:100%;background:var(--bg-primary)}.pdf-thumbnail-rail-pagenum{font-size:var(--font-tiny);color:var(--text-secondary);line-height:1}.pdf-thumbnail-rail-item-active .pdf-thumbnail-rail-pagenum{color:var(--text-primary);font-weight:600}.rail-toggle-tab{position:absolute;top:38%;transform:translateY(-50%);z-index:6;width:16px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border);border-left:none;border-radius:0 6px 6px 0;font-size:16px;line-height:1;cursor:pointer;padding:0;opacity:.75;transition:opacity .15s ease,background .15s ease,color .15s ease}.rail-toggle-tab:hover{opacity:1;background:var(--bg-secondary);color:var(--text-primary)}.rail-toggle-tab-open{left:var(--thumbnail-rail-width)}.rail-toggle-tab-closed{left:0}.pdf-stage{min-width:100%;min-height:100%;display:flex;align-items:safe center;justify-content:safe center;padding:24px;box-sizing:border-box}.pdf-stage canvas{display:block}.pdf-page{position:relative;display:inline-block;line-height:0;background:var(--bg-primary);box-shadow:0 2px 16px #0006}.pdf-pages-stack{display:flex;flex-direction:column;align-items:safe center;gap:16px;padding:24px;box-sizing:border-box;min-width:100%}.pdf-pages-stack .pdf-page{flex-shrink:0}.subtitle-overlay{position:fixed;left:50%;bottom:24px;transform:translate(-50%);width:min(84vw,1100px);pointer-events:none;display:flex;justify-content:center;z-index:5500}.slide-region-overlay{position:absolute;border:2px solid rgba(255,224,102,.85);background:#ffe0662e;border-radius:4px;pointer-events:none;z-index:9;transition:top .2s ease,left .2s ease,right .2s ease,bottom .2s ease,width .2s ease,height .2s ease,opacity .2s ease}.slide-translation-overlay{position:absolute;top:0;right:0;bottom:0;left:0;container-type:size;pointer-events:none;z-index:8}.slide-translation-line{position:absolute;display:flex;align-items:center;width:max-content;overflow:hidden;white-space:nowrap;line-height:1;color:#111;background:#fff;border-radius:2px;padding:0 2px}.slide-read-highlight{position:absolute;z-index:6;background:#ffe06661;border-radius:3px;pointer-events:none;transition:left 90ms linear,top 90ms linear,width 90ms linear,height 90ms linear}.slide-translation-badge{position:absolute;top:6px;left:6px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#0000008c}.slide-page-controls{position:absolute;top:6px;right:6px;z-index:10;display:flex;align-items:center;gap:6px}.slide-translate-fab,.slide-read-fab{display:inline-flex;align-items:center;justify-content:center;height:26px;border:none;background:#0000008c;color:#fff;font-size:13px;font-weight:600;line-height:1;cursor:pointer;pointer-events:none;opacity:0;transition:opacity .12s ease,background .12s ease}.slide-translate-fab{gap:5px;padding:0 9px;border-radius:13px}.slide-read-fab{width:26px;border-radius:50%}.slide-translate-fab .icon-svg{width:1.15em;height:1.15em}.pdf-page:hover .slide-translate-fab,.pdf-page:hover .slide-read-fab,.slide-fab-visible{opacity:1;pointer-events:auto}.slide-translate-fab:hover,.slide-read-fab:hover{background:#000000b8}.slide-fab-active{opacity:1;pointer-events:auto;background:var(--accent, #4a8af0);color:#fff}.slide-fab-active:hover{background:var(--accent, #4a8af0)}.subtitle-overlay-text{font-size:var(--subtitle-font-px, 22px);line-height:1.2;color:#fff;text-align:center;font-weight:600;-webkit-text-stroke:1.5px #000;paint-order:stroke fill;background:#00000073;padding:6px 14px;border-radius:6px;max-width:100%;word-wrap:break-word}.subtitle-overlay-jumpable{font-family:inherit;border:none;cursor:pointer;pointer-events:auto;transition:background .12s ease}.subtitle-overlay-jumpable:hover{background:#000000a6}.pdf-text-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;opacity:1;line-height:1;text-align:initial;transform-origin:0 0;forced-color-adjust:none;caret-color:transparent;z-index:1}.pdf-text-layer span,.pdf-text-layer br{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}.pdf-text-layer ::selection{background:#4a9eff59}.pdf-text-layer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:0;cursor:default;user-select:none;-webkit-user-select:none}.pdf-text-layer.selecting .endOfContent{top:0}.app-layout{display:flex;flex-direction:column;height:100vh;width:100vw;height:var(--app-height, 100dvh);width:100dvw}.app-content{display:flex;flex-direction:column;flex:1;overflow:hidden;position:relative}.main-row{display:flex;flex-direction:row;flex:1;overflow:hidden;min-height:0;position:relative}.sidebar-stack{display:flex;flex-direction:column;overflow:hidden;min-height:0;height:100%;align-self:stretch}.bottom-stack{display:flex;flex-direction:row;width:100%;overflow:hidden;align-self:stretch}.stack-slot{display:flex;flex-direction:column;min-height:0;min-width:0;flex-shrink:1;flex-basis:0%;overflow:hidden}.stack-slot>*{flex:1;min-height:0;min-width:0;width:100%;max-width:none}.hidden-mount{display:none}.resize-handle{background:var(--border);flex-shrink:0;transition:background .15s;z-index:1}.resize-handle:hover,.resize-handle:active{background:var(--accent)}.resize-handle-horizontal{width:4px;cursor:ew-resize;border-left:1px solid var(--border)}.resize-handle-vertical{height:4px;cursor:ns-resize}.processing-status{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:12px;color:var(--text-secondary)}.processing-status.error{color:#e05050}.processing-action{margin-left:auto;font-size:12px;padding:2px 10px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary)}.processing-action:hover{border-color:var(--accent);color:var(--accent)}.processing-spinner{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.transcript-panel,.summary-panel{display:flex;flex-direction:column;background:var(--bg-secondary);overflow:hidden;min-height:0;flex:1}.transcript-panel-body,.summary-panel-body{flex:1;min-height:0;overflow-y:auto;padding:12px}.summary-actions-row{display:flex;justify-content:flex-end;margin-bottom:6px}.transcript-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.transcript-header{font-size:12px;font-weight:600;color:var(--text-secondary)}.transcript-panel-actions{display:flex;align-items:center;gap:4px}.panel-menu{position:relative}.panel-menu-toggle{font-size:16px;padding:0 6px;line-height:1;color:var(--text-muted)}.panel-menu-toggle:hover{color:var(--text-primary)}.panel-menu-dropdown{position:fixed;min-width:200px;max-width:320px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;box-shadow:0 8px 24px #00000080;z-index:8800;padding:4px 0;overflow-y:auto;overscroll-behavior:contain}.panel-menu-item{display:block;width:100%;background:none;border:none;text-align:left;padding:6px 12px;font-size:12px;color:var(--text-primary);cursor:pointer}.panel-menu-item:hover{background:var(--bg-secondary)}.panel-menu-item-danger{color:#e05050}.panel-menu-item-danger:hover{background:#e050501f}.panel-menu-item-sub{font-size:10px;color:var(--text-muted);margin-top:2px;font-weight:400;white-space:normal;line-height:1.4}.panel-menu-item-badge{color:#d8a851;font-size:10px;font-weight:500}.panel-menu-heading{padding:4px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:4px}.panel-menu-divider{height:1px;background:var(--border);margin:4px 0}.panel-menu-item:disabled{opacity:.4;cursor:default}.panel-menu-item:disabled:hover{background:none}.transcript-empty{font-size:12px;color:var(--text-muted);padding:16px 0;text-align:center}.transcript-text{font-size:var(--font-content);color:var(--text-primary);line-height:1.5;white-space:pre-wrap}.transcript-generated-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.transcript-generated-badge{font-size:var(--font-tiny);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;flex:1 1 auto;min-width:0}.transcript-generated-stale-hint{color:var(--text-muted);text-transform:none;letter-spacing:0;font-style:italic}.transcript-regenerate-btn{flex:0 0 auto;font-size:var(--font-tiny);padding:3px 8px;border:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em}.transcript-bulk-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:var(--font-tiny)}.transcript-bulk-banner-running{background:#4a9eff1a;border-bottom-color:#4a9eff4d}.transcript-bulk-banner-done{background:#ffe06624;border-bottom-color:#ffe06666}.transcript-bulk-banner-label{color:var(--text-primary);flex:1 1 auto;min-width:0}.transcript-bulk-banner-actions{display:flex;gap:4px;flex:0 0 auto}.transcript-bulk-banner-actions .btn{font-size:var(--font-tiny);padding:3px 8px;border:1px solid var(--border)}.transcript-text-generated{font-style:italic;color:var(--text-secondary, var(--text-primary))}.tts-play-btn{font-size:12px;padding:0 8px;height:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:26px}.tts-play-spinner{width:10px;height:10px;border-width:1.5px}.tts-play-progress{margin-left:4px;font-size:10px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.tts-controls-bar{display:flex;align-items:center;gap:6px;padding:6px 12px;border-bottom:1px solid var(--border);font-size:var(--font-tiny);color:var(--text-muted);flex-shrink:0}.tts-skip-btn,.tts-speed-btn,.tts-stop-btn{font-size:11px;padding:0 6px;height:22px;line-height:1;min-width:22px}.tts-time{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--text-muted)}.tts-error{color:var(--danger, #d97171);font-size:var(--font-tiny)}.tts-sentence{border-radius:2px;transition:background-color .12s ease}.tts-sentence-active{background-color:#ffe06647;color:#fff;text-shadow:0 0 1px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.55)}.tts-sentence-clickable{cursor:pointer}.transcript-empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 0}.transcript-empty-state .transcript-empty{padding:0}.transcript-empty-hint{max-width:260px;line-height:1.45}.panel-header{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap;row-gap:4px}.panel-header-title{font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.panel-header-select{font-size:var(--font-tiny);padding:1px 5px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;cursor:pointer;font-family:inherit}.panel-header-select:hover:not(:disabled){border-color:var(--text-muted)}.panel-header-select:disabled{opacity:.5;cursor:not-allowed}.panel-header-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.panel-header-close{font-size:18px;padding:0 8px;line-height:1;color:var(--text-muted)}.panel-header-close:hover{color:var(--text-primary)}.panel-empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 12px;text-align:center}.panel-empty-title{font-size:12px;color:var(--text-muted)}.panel-empty-hint{font-size:12px;color:var(--text-muted);max-width:280px;line-height:1.45}.panel-empty-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.panel-empty-tip{font-size:var(--font-tiny);color:var(--text-muted);font-style:italic;max-width:280px;line-height:1.4}.transcript-generation-error{font-size:var(--font-tiny);color:var(--danger, #d97171);text-align:center;max-width:280px;line-height:1.4}.transcript-translate-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-tertiary);font-size:var(--font-tiny);color:var(--text-secondary, var(--text-primary));flex-shrink:0}.transcript-translate-banner>span:first-child{flex:1}.transcript-translate-banner .btn{font-size:11px;padding:2px 8px}.transcript-translate-banner-progress{background:#ffe06614}.transcript-translate-error{padding:6px 12px;font-size:var(--font-tiny);color:var(--danger, #d97171);border-bottom:1px solid var(--border);background:#d971710f;flex-shrink:0}.transcript-translating{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);padding:16px 0}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-muted)}.empty-state-icon{font-size:48px;opacity:.3}.empty-state p{font-size:14px}.empty-state .hint{font-size:12px;color:var(--text-muted)}.library-home{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:20px clamp(16px,4vw,48px) 48px}.library-home-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.library-home-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.library-home-actions{display:flex;align-items:center;gap:8px}.library-home-syncing{font-size:var(--font-small);color:var(--text-muted)}.library-home-status{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.library-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.library-card{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:14px;color:var(--text-primary);cursor:pointer;transition:border-color .12s,background .12s}.library-card:hover,.library-card:focus-visible{background:var(--bg-tertiary);border-color:var(--accent);outline:none}.library-card-icon{font-size:22px;color:var(--text-secondary)}.library-card-name{font-size:13px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.library-card-meta{font-size:var(--font-tiny);color:var(--text-muted)}.rec-time{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.top-bar-collapsed{height:auto;padding:0;justify-content:flex-end}.top-bar-toggle{font-size:10px;padding:1px 8px;color:var(--text-muted);opacity:.6}.top-bar-toggle:hover{opacity:1}.dnd-tip{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:8px 16px;font-size:12px;color:var(--text-secondary);display:flex;align-items:center;z-index:50;box-shadow:0 4px 12px #0000004d}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#4a9eff14;border:2px dashed var(--accent);z-index:100;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--accent);pointer-events:none}.summary-regen{font-size:11px;padding:2px 8px}.summary-generate,.panel-empty-cta{width:100%;font-size:12px}.summary-text{font-size:var(--font-content);color:var(--text-primary);line-height:1.5}.markdown-body{line-height:1.5}.markdown-body>*:first-child{margin-top:0}.markdown-body>*:last-child{margin-bottom:0}.markdown-body p{margin:0 0 .75em}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:1em 0 .4em;font-weight:600;color:var(--text-primary);line-height:1.3}.markdown-body h1{font-size:1.12em}.markdown-body h2{font-size:1.06em}.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-size:1em}.markdown-body strong{font-weight:600;color:var(--text-primary)}.markdown-body em{font-style:italic}.markdown-body ul,.markdown-body ol{margin:0 0 .75em;padding-left:1.4em}.markdown-body li{margin:.15em 0}.markdown-body li>ul,.markdown-body li>ol{margin:.2em 0}.markdown-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;padding:.05em .35em}.markdown-body pre{margin:.5em 0 .75em;padding:.6em .8em;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;overflow-x:auto}.markdown-body pre code{background:transparent;border:0;padding:0;font-size:.9em;white-space:pre}.markdown-body blockquote{margin:.5em 0;padding:.1em .8em;border-left:3px solid var(--border);color:var(--text-secondary)}.markdown-body a{color:var(--accent);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body hr{border:0;border-top:1px solid var(--border);margin:1em 0}.markdown-body table{border-collapse:collapse;margin:.5em 0 .75em;font-size:.95em}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:.3em .6em;text-align:left}.markdown-body th{background:var(--bg-tertiary);font-weight:600}.summary-stale-hint{font-size:11px;color:#d8a851;background:#d8a85114;padding:6px 8px;border-radius:3px;margin-bottom:8px}.difficulty-picker{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.difficulty-picker-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.difficulty-picker-select{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;font-size:11px;padding:2px 6px;cursor:pointer;font-family:inherit}.difficulty-picker-select:hover:not(:disabled){border-color:var(--text-muted)}.difficulty-picker-select:focus-visible{outline:none;border-color:var(--accent, #4a90e2)}.difficulty-picker-select:disabled{opacity:.5;cursor:not-allowed}.difficulty-picker-compact .difficulty-picker-select{font-size:10px;padding:1px 4px}.summary-actions-row .difficulty-picker,.modal-footer .difficulty-picker{margin-right:auto}.summary-actions-row{align-items:center;gap:8px}.modal-backdrop{position:fixed;top:0;left:0;right:0;height:var(--app-height, 100dvh);background:#0000008c;display:flex;align-items:center;justify-content:center;padding:24px;z-index:6000}.modal-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;width:100%;max-width:440px;max-height:calc(var(--app-height, 90vh) - 24px);display:flex;flex-direction:column;box-shadow:0 20px 50px #0009}.modal-panel-wide{max-width:540px}.modal-panel-large{max-width:720px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:1px solid var(--border)}.modal-title{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.modal-close{font-size:16px;padding:0 6px;line-height:1;color:var(--text-muted)}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:16px 18px;overflow-y:auto;flex:1}.modal-body-form{display:flex;flex-direction:column;gap:14px}.modal-empty{display:flex;flex-direction:column;gap:12px;align-items:flex-start;font-size:13px;color:var(--text-secondary)}.modal-error{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#e05050}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--border)}.modal-primary{background:var(--accent, #4a8af0);color:#fff;border-color:var(--accent, #4a8af0);font-weight:600}.summary-text-modal{font-size:var(--font-content-modal);line-height:1.6}.chat-panel{background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.chat-panel-sidebar,.chat-panel-bottom{width:100%;min-width:0;max-width:none;flex:1;min-height:0}.chat-panel-hidden{display:none}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border)}.chat-header-title{font-size:12px;font-weight:600;color:var(--text-secondary)}.chat-panel-actions{display:flex;align-items:center;gap:4px}.chat-clear-btn{font-size:11px;padding:2px 8px}.chat-close-btn{font-size:18px;padding:0 8px;line-height:1;color:var(--text-muted)}.chat-close-btn:hover{color:var(--text-primary)}.chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;position:relative}.chat-scroll-down{position:sticky;bottom:4px;align-self:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0006;margin-top:auto;z-index:5}.chat-scroll-down:hover{border-color:var(--accent);color:var(--accent)}.chat-empty{font-size:12px;color:var(--text-muted);padding:16px 8px;text-align:center;line-height:1.5}.chat-error{color:#e05050}.chat-loading{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);padding:4px 0}.chat-message{display:flex;flex-direction:column;gap:3px}.chat-message-user{align-items:flex-end}.chat-message-assistant{align-items:stretch}.chat-message-row{display:flex;align-items:flex-start;gap:4px;width:100%}.chat-message-user .chat-message-row{justify-content:flex-end}.chat-message-actions{display:flex;flex-direction:column;gap:2px;opacity:0;transition:opacity .1s;align-self:flex-start}.chat-message:hover .chat-message-actions{opacity:.6}.chat-message-action{background:none;border:none;color:var(--text-muted);cursor:pointer;line-height:1;padding:3px 6px;border-radius:3px}.chat-message-action:hover{opacity:1!important;color:var(--text-primary);background:var(--bg-tertiary)}.chat-message-actions:has(:hover){opacity:1}.chat-message-delete{font-size:14px}.chat-message-retry{font-size:13px}.chat-speak-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:2px;padding:2px 6px;font-size:11px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;opacity:0;transition:opacity .1s}.chat-message-assistant:hover .chat-speak-btn{opacity:.65}.chat-speak-btn:hover{opacity:1!important;color:var(--text-primary);background:var(--bg-tertiary)}.chat-speak-btn .processing-spinner{width:.9em;height:.9em}@media(hover:none){.chat-speak-btn{opacity:.7}.chat-message-actions{opacity:1}}.read-aloud-btn{display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary, var(--text-primary))}.read-aloud-btn:hover:not(:disabled){color:var(--text-primary)}.read-aloud-btn:disabled{opacity:.4;cursor:default}.read-aloud-btn-compact{padding:2px 6px;min-width:0;font-size:12px;line-height:1}.read-aloud-btn .processing-spinner{width:.9em;height:.9em}.icon-svg{display:inline-block;vertical-align:-.15em}.chat-message-meta{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.chat-message-body{font-size:var(--font-content);line-height:1.5;border-radius:6px;padding:8px 12px;max-width:92%}.chat-message-body-user{background:#4a9eff1f;color:var(--text-primary);border:1px solid rgba(74,158,255,.25);white-space:pre-wrap;-webkit-user-select:text;user-select:text}.chat-bubble-quote{display:block;width:100%;text-align:left;background:#ffffff0a;border:0;border-left:3px solid rgba(74,158,255,.6);padding:6px 8px;margin-bottom:6px;border-radius:0 4px 4px 0;cursor:pointer;font-family:inherit;color:inherit}.chat-bubble-quote:hover{background:#ffffff14}.chat-bubble-quote-source{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}.chat-bubble-quote-text{font-size:12px;line-height:1.4;color:var(--text-secondary);white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.chat-bubble-question{white-space:pre-wrap}.chat-quote-chip{display:flex;flex-direction:column;gap:2px;margin:0 12px 6px;padding:6px 28px 6px 10px;background:var(--bg-tertiary);border-left:3px solid var(--accent);border-radius:0 4px 4px 0;position:relative;user-select:none;-webkit-user-select:none}.chat-quote-chip-source{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.chat-quote-chip-text{font-size:12px;line-height:1.4;color:var(--text-secondary);white-space:pre-wrap;max-height:5.6em;overflow-y:auto}.chat-quote-chip-remove{position:absolute;top:4px;right:4px;font-size:14px;padding:0 6px;line-height:1;color:var(--text-muted)}.chat-quote-chip-remove:hover{color:var(--text-primary);background:var(--bg-secondary)}::highlight(quote-flash){background-color:#ffe06673;color:inherit}::highlight(tts-region){background-color:#ffe06652;color:inherit}.skip-gen-checkbox{display:flex;align-items:center;gap:8px;font-size:var(--font-body);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.skip-gen-checkbox input{width:16px;height:16px;cursor:pointer}::highlight(tts-read){background-color:#ffe0664d;color:inherit}.chat-message-body-assistant{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);-webkit-user-select:text;user-select:text}.chat-context-warn{margin:0 12px 8px;padding:8px 10px;border:1px solid #d8a851;background:#d8a85114;border-radius:4px;display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text-primary)}.chat-context-warn-text strong{color:#d8a851}.chat-context-warn-sub{color:var(--text-secondary);font-size:11px;line-height:1.4}.chat-context-warn-btn{align-self:flex-start;font-size:11px;padding:4px 10px;border:1px solid #d8a851;color:#d8a851}.chat-context-warn-btn:hover:not(:disabled){background:#d8a8511a;color:#d8a851}.chat-stats{display:flex;align-items:center;gap:8px;padding:6px 12px 8px;font-size:10px;color:var(--text-muted)}.chat-stat-meter{flex:1;height:3px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.chat-stat-meter-fill{height:100%;background:var(--accent);transition:width .2s ease,background-color .2s ease}.chat-stat-meter.warn .chat-stat-meter-fill{background:#d8a851}.chat-stat-text{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.chat-stat-chip{color:#5db978;font-size:10px;letter-spacing:.3px}.chat-empty-tip{color:var(--text-secondary);font-size:11px;display:inline-block;line-height:1.5}.chat-input-row{display:flex;gap:8px;padding:8px 12px;border-top:1px solid var(--border);align-items:flex-end}.chat-input{flex:1;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:13px;font-family:inherit;outline:none;resize:none;line-height:1.4}.chat-input:focus{border-color:var(--accent)}.chat-input:disabled{opacity:.5;cursor:default}.chat-send-btn{font-size:12px;padding:5px 12px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary)}.chat-send-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.chat-voice-toggle{font-size:14px;padding:0 6px;line-height:1;color:var(--text-muted);background:transparent;border:none}.chat-voice-toggle:hover{color:var(--text-primary)}.chat-voice-toggle.active{color:var(--accent)}.voice-bar{display:flex;flex-direction:column;gap:8px;padding:8px 12px;border-top:1px solid var(--border);background:var(--bg-tertiary)}.voice-bar-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.voice-bar-main{display:flex;align-items:center;gap:10px}.voice-mode-toggle{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.voice-mode-pill{font-size:11px;padding:3px 12px;border:none;background:transparent;color:var(--text-muted);cursor:pointer}.voice-mode-pill.active{background:var(--accent);color:#fff}.voice-mic-rt-ready{border-color:var(--accent);color:var(--accent)}.voice-mic-rt-recording{border-color:#e5484d;color:#e5484d;animation:voice-mic-pulse 1.1s ease-in-out infinite}.voice-mic-rt-assistant_speaking{border-color:var(--accent);color:var(--accent)}.voice-mic-rt-connecting,.voice-mic-rt-thinking{opacity:.6}.voice-bar-cost.warn{color:#e5a23d;font-weight:600}.voice-bar-top-right{display:flex;align-items:center;gap:8px}.voice-speed-btn{font-size:11px;padding:2px 8px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;font-variant-numeric:tabular-nums}.voice-speed-btn:hover{color:var(--text-primary);border-color:var(--accent)}.chat-message-speak{font-size:12px}.voice-stop-speaking{flex:0 0 auto;width:32px;height:32px;border-radius:50%;border:1px solid #e5484d;background:transparent;color:#e5484d;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center}.voice-stop-speaking:hover{background:#e5484d1f}.voice-mic{position:relative;flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg-secondary, var(--bg-tertiary));color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px}.voice-mic:hover:not(:disabled){border-color:var(--accent)}.voice-mic:disabled{opacity:.5;cursor:default}.voice-mic-recording{border-color:#e5484d;color:#e5484d;animation:voice-mic-pulse 1.1s ease-in-out infinite}.voice-mic-speaking,.voice-mic-rt-assistant_speaking{border-color:transparent;color:var(--accent)}@keyframes voice-mic-pulse{0%,to{box-shadow:0 0 #e5484d73}50%{box-shadow:0 0 0 6px #e5484d00}}.voice-mic-speaking:before,.voice-mic-rt-assistant_speaking:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:conic-gradient(from 0deg,var(--accent),#9b6dff,#e5484d,#e5a23d,var(--accent));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));animation:voice-ring-spin 1.4s linear infinite;pointer-events:none}@keyframes voice-ring-spin{to{transform:rotate(360deg)}}.voice-bar-status{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.voice-bar-label{font-size:12px;color:var(--text-primary)}.voice-bar-notice{font-size:11px;color:var(--text-muted)}.voice-bar-meta{flex:0 0 auto;display:flex;align-items:center;gap:8px}.voice-bar-cost{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.voice-bar-exit{font-size:11px;padding:3px 8px}.voice-bar-close{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;padding:0 6px;color:var(--text-muted)}.voice-bar-close:hover{color:var(--text-primary)}.chat-via-voice{color:var(--text-muted)}.podcast-body{gap:0}.podcast-text{font-size:var(--font-content);color:var(--text-primary);line-height:1.55;white-space:pre-wrap}.podcast-player-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border);background:var(--bg-tertiary)}.podcast-meta{margin-left:auto;font-size:var(--font-tiny);color:var(--text-secondary);white-space:nowrap}.podcast-panel-header{flex-wrap:wrap;row-gap:4px}.podcast-lang-select{font-size:var(--font-tiny)}.podcast-stale-hint{margin:8px 12px 0}.podcast-mode-badge{display:inline-block;margin:8px 12px 0;font-size:var(--font-tiny);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.bg-job-indicator{position:fixed;top:calc(40px * var(--chrome-scale) + 8px);left:10px;z-index:6000}.bg-job-circle{position:relative;width:26px;height:26px;padding:0;border:none;border-radius:50%;background:var(--bg-tertiary);box-shadow:0 1px 4px #00000059;cursor:pointer;display:flex;align-items:center;justify-content:center}.bg-job-ring{width:14px;height:14px;border-radius:50%;border:2px solid var(--text-muted);border-top-color:var(--accent)}.bg-job-ring-spin{animation:bg-job-spin .9s linear infinite}@keyframes bg-job-spin{to{transform:rotate(360deg)}}.bg-job-count{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--accent);color:#fff;font-size:9px;line-height:14px;text-align:center;font-weight:600}.bg-job-panel{position:absolute;top:30px;left:0;width:280px;padding:10px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border);box-shadow:0 4px 16px #0006;display:none;flex-direction:column;gap:10px}.bg-job-indicator:hover .bg-job-panel,.bg-job-indicator:focus-within .bg-job-panel,.bg-job-panel.bg-job-panel-open{display:flex}.bg-job-row-head{display:flex;align-items:center;gap:6px}.bg-job-label{flex:1 1 auto;min-width:0;font-size:var(--font-tiny);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bg-job-stop{flex:0 0 auto;width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--text-secondary);font-size:14px;line-height:1;cursor:pointer;border-radius:4px}.bg-job-stop:hover{background:var(--bg-tertiary);color:var(--text-primary)}.bg-job-bar{height:5px;margin:5px 0 3px;border-radius:3px;background:var(--bg-tertiary);overflow:hidden}.bg-job-bar-fill{height:100%;background:var(--accent);transition:width .2s ease}.bg-job-bar-error .bg-job-bar-fill{background:var(--danger, #e5534b)}.bg-job-bar-cancelled .bg-job-bar-fill{background:var(--text-muted)}.bg-job-bar-done .bg-job-bar-fill{background:#3fb950}.bg-job-meta{display:flex;justify-content:space-between;gap:8px;font-size:var(--font-tiny);color:var(--text-secondary)}.bg-job-detail{text-transform:capitalize}.bg-job-reassure{font-size:var(--font-tiny);color:var(--text-muted);border-top:1px solid var(--border);padding-top:8px}.toast-host{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:flex;justify-content:center;padding:0 12px calc(12px + env(safe-area-inset-bottom,0px));pointer-events:none}.toast-stack{display:flex;flex-direction:column;gap:8px;width:100%;max-width:460px}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid var(--text-muted);box-shadow:0 4px 18px #00000073;color:var(--text-primary);font-size:var(--font-content);touch-action:pan-y;animation:toast-enter .18s ease}@keyframes toast-enter{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.toast-leaving{opacity:0;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease}.toast-error{border-left-color:var(--danger, #e5534b)}.toast-success{border-left-color:#3fb950}.toast-info{border-left-color:var(--accent)}.toast-message{flex:1 1 auto;min-width:0;line-height:1.35;word-break:break-word}.toast-action{flex:0 0 auto;padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-tertiary);color:var(--accent);font-size:var(--font-small);font-weight:600;cursor:pointer}.toast-action:hover{border-color:var(--accent)}.toast-close{flex:0 0 auto;width:32px;height:32px;margin:-6px -4px -6px 0;padding:0;border:none;background:transparent;color:var(--text-secondary);font-size:20px;line-height:1;cursor:pointer;border-radius:6px}.toast-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.voice-fab-wrap{position:fixed;z-index:8500;width:56px;height:56px;transform:translateY(calc(-1 * var(--keyboard-inset, 0px)))}.voice-fab{width:56px;height:56px;padding:0;border:none;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 4px 16px #00000073;cursor:grab;display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:transform .12s ease,background .2s ease}.voice-fab-dragging .voice-fab{cursor:grabbing;transform:scale(1.08)}.voice-fab:active{transform:scale(.94)}.voice-fab-glyph{display:flex;align-items:center;justify-content:center}.voice-fab-glyph svg{width:24px;height:24px}.voice-fab-recording{background:var(--danger, #e5534b)}.voice-fab-thinking,.voice-fab-transcribing,.voice-fab-connecting{background:var(--text-muted)}.voice-fab-assistant_speaking,.voice-fab-speaking{background:var(--accent-hover);animation:voice-fab-pulse 1.4s ease-in-out infinite}.voice-fab-error{background:var(--danger, #e5534b)}@keyframes voice-fab-pulse{0%,to{box-shadow:0 4px 16px #00000073}50%{box-shadow:0 0 0 6px #4a9eff40,0 4px 16px #00000073}}.voice-fab-label{position:absolute;bottom:calc(100% + 6px);right:0;max-width:60vw;padding:4px 9px;border-radius:12px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);font-size:var(--font-small);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 8px #00000059;pointer-events:none}.voice-fab-menu{position:absolute;right:0;min-width:168px;padding:5px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border);box-shadow:0 6px 22px #00000080;display:flex;flex-direction:column;gap:2px;animation:voice-fab-menu-in .12s ease}.voice-fab-menu-up{bottom:calc(100% + 8px)}.voice-fab-menu-down{top:calc(100% + 8px)}@keyframes voice-fab-menu-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.voice-fab-menu-item{display:block;width:100%;text-align:left;padding:10px 12px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font-size:var(--font-content);cursor:pointer}.voice-fab-menu-item:hover{background:var(--bg-tertiary)}.voice-fab-menu-item-danger{color:var(--danger, #e5534b)}.stack-slot-focused{background:var(--bg-primary);flex-grow:0!important}.focus-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6999;background:var(--bg-primary)}.focus-controls{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translate(-50%) translateY(calc(-1 * var(--keyboard-inset, 0px)));z-index:7001;display:flex;align-items:center;gap:6px;max-width:94vw;flex-wrap:wrap;justify-content:center;padding:6px 8px;border-radius:12px;background:var(--bg-secondary);border:1px solid var(--border);box-shadow:0 6px 20px #00000080}.focus-add-btn,.focus-exit-btn{padding:7px 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--font-small);cursor:pointer;white-space:nowrap}.focus-add-btn:hover{border-color:var(--accent);color:var(--accent)}.focus-exit-btn{color:var(--text-secondary)}.focus-cap-hint{font-size:var(--font-tiny);color:var(--text-muted);padding:0 4px}.panel-header-fullscreen{display:inline-flex;align-items:center;justify-content:center}.selection-toolbar{position:fixed;z-index:8000;transform:translate(-50%);pointer-events:auto}.selection-toolbar-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;padding:4px 12px;font-size:12px;cursor:pointer;box-shadow:0 4px 12px #0006;white-space:nowrap}.selection-toolbar-btn:hover{border-color:var(--accent);color:var(--accent)}.settings-btn{font-size:calc(14px * var(--chrome-scale));padding:calc(2px * var(--chrome-scale)) calc(7px * var(--chrome-scale));color:var(--text-muted);margin-right:4px}.settings-btn:hover{color:var(--text-primary)}.rec-setup-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary, var(--text-primary))}.rec-setup-field>span:first-child{font-weight:500}.rec-setup-field select{font-size:13px;padding:5px 6px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px}.rec-setup-hint{font-size:11px;color:var(--text-muted);line-height:1.4}.rec-setup-field input[type=number],.rec-setup-field input[type=text],.rec-setup-field input[type=password]{font-size:13px;padding:5px 8px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;width:100%;box-sizing:border-box}.api-keys-intro,.modal-intro{font-size:12px;color:var(--text-muted);line-height:1.4;margin:0 0 6px}.api-key-hint{font-size:11px;color:var(--text-muted);line-height:1.4}.api-key-row{display:flex;gap:6px;align-items:stretch;margin-top:4px}.api-key-row input{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.api-key-reveal-btn{min-width:36px;padding:5px 6px;display:inline-flex;align-items:center;justify-content:center;font-size:15px}.api-keys-error,.modal-form-error{color:#e26d6d;font-size:12px;padding:8px 10px;background:#e26d6d1a;border:1px solid rgba(226,109,109,.3);border-radius:4px}.account-form{display:flex;flex-direction:column;gap:14px}.account-actions-row{display:flex;gap:8px}.account-actions-row .btn,.account-delete-toggle{border:1px solid var(--border);padding:6px 12px}.account-switch-btn{align-self:flex-start;padding:4px 0;color:var(--accent, #4a9eff);background:none}.account-switch-btn:hover{background:none;color:var(--accent-hover, #5aadff);text-decoration:underline}.account-delete-toggle{align-self:flex-start}.account-danger-zone{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid rgba(226,109,109,.3);border-radius:6px}.sync-recovery-key{margin:0;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2, rgba(127, 127, 127, .08));font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95em;letter-spacing:.04em;line-height:1.6;white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all}.sync-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 4px;cursor:pointer}.sync-toggle-label{display:flex;flex-direction:column;gap:2px}.sync-toggle-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:0 0 auto;width:44px;height:26px;margin:0;border-radius:999px;border:1px solid var(--border);background:var(--bg-tertiary);position:relative;cursor:pointer;transition:background .15s ease,border-color .15s ease}.sync-toggle-input:before{content:"";position:absolute;top:50%;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-secondary);transform:translateY(-50%);transition:left .15s ease,background .15s ease}.sync-toggle-input:checked{background:var(--accent);border-color:var(--accent)}.sync-toggle-input:checked:before{left:21px;background:#fff}.sync-toggle-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sync-progress{margin:8px 0 0;font-size:.85em;color:var(--text-secondary, #9aa);animation:sync-progress-pulse 1.4s ease-in-out infinite}@keyframes sync-progress-pulse{0%,to{opacity:.55}50%{opacity:1}}.sync-crash-note{margin:10px 0 0;padding:8px 10px;font-size:.85em;line-height:1.4;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px}.account-signout-row{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.bulk-gen-range-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.bulk-gen-page-field{flex:1 1 110px;min-width:110px}.bulk-gen-quick-btn{flex:0 0 auto;font-size:12px;padding:5px 10px;border:1px solid var(--border);height:30px;white-space:nowrap}.bulk-gen-error{font-size:12px;color:#e57373;padding:6px 8px;background:#e573731a;border:1px solid rgba(229,115,115,.3);border-radius:4px}.bulk-gen-warning{font-size:11px;color:var(--text-muted);font-style:italic}.bulk-gen-preview{padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;gap:2px;font-size:12px}.bulk-gen-preview-line{color:var(--text-primary)}.bulk-gen-preview-sub{color:var(--text-muted);font-size:11px}.bulk-gen-checkbox-row{flex-direction:row;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.bulk-gen-checkbox-row input[type=checkbox]{margin:0;flex:0 0 auto}.bulk-gen-checkbox-label{font-size:12px;color:var(--text-primary);font-weight:500}.bulk-gen-checkbox-voice{display:inline;font-weight:400}.bulk-gen-checkbox-hint{margin-top:-8px;padding-left:24px}.icon-pause{display:inline-flex;align-items:center;justify-content:center;gap:.25em;width:1em;height:1em;vertical-align:middle}.icon-pause>span{display:block;width:.22em;height:.85em;background:currentColor;border-radius:1px}.tts-inline-bar{display:flex;flex-direction:column;gap:5px;padding:6px 10px;border-top:1px solid var(--border);background:var(--bg-tertiary);flex-shrink:0;font-size:var(--font-tiny);color:var(--text-secondary, var(--text-primary))}.recording-bar-row{display:flex;align-items:center;gap:12px}.recording-bar-status{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary)}.recording-bar-dot{width:9px;height:9px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.recording-bar-dot-live{background:var(--danger, #e5534b);animation:recording-pulse 1.6s ease-in-out infinite}@keyframes recording-pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.recording-bar-dot-live{animation:none}}.recording-bar-actions{display:inline-flex;align-items:center;gap:6px}.recording-bar-actions .icon-svg{width:1.7em;height:1.7em}.tts-inline-row{display:flex;align-items:center;gap:6px}.tts-inline-row-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.tts-inline-transport{grid-column:2;display:flex;align-items:center;gap:6px}.tts-inline-row-controls .tts-player-stop{grid-column:3;justify-self:end}.tts-inline-row-scrubber{gap:8px}.tts-inline-row-scrubber .tts-player-scrubber{flex:1 1 80px;min-width:76px;margin:0}.tts-inline-row-scrubber .tts-player-range{min-width:44px}.tts-inline-row-scrubber .cc-toggle{font-size:12px;font-weight:500;letter-spacing:normal;padding:0 2px;height:26px;border:none;background:none;box-shadow:none;border-radius:0;color:var(--text-muted);display:inline-flex;align-items:center}.tts-inline-row-scrubber .cc-toggle.cc-toggle-active{color:var(--accent)}.tts-inline-row-scrubber .cc-toggle-group{margin-right:0}.tts-inline-row-scrubber .cc-size-toggle{border:none;background:none;box-shadow:none;color:var(--text-muted);padding:0 2px;font-size:10px}.tts-inline-skip-track{padding:0 6px}.tts-inline-skip-track .icon-svg{width:1.15em;height:1.15em}.tts-inline-skip-track:disabled{opacity:.35;cursor:default}.tts-player-btn{font-size:12px;padding:0 8px;height:26px;min-width:30px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.tts-player-btn-primary{font-size:13px;min-width:36px}.tts-player-speed{font-variant-numeric:tabular-nums}.tts-player-skip{padding:0 10px;min-width:42px;font-variant-numeric:tabular-nums;font-weight:500}.tts-player-scrubber{display:flex;align-items:center;gap:8px;flex:1 1 160px;min-width:140px;margin:0 4px}.tts-player-range{flex:1 1 auto;width:100%;min-width:80px;height:4px;margin:0;cursor:pointer;accent-color:var(--accent, #5a9);background:transparent}.tts-player-range:disabled{cursor:default;opacity:.4}.tts-player-time{font-variant-numeric:tabular-nums;color:var(--text-muted)}.tts-player-progress{font-size:10px;color:var(--text-muted)}.tts-player-error{color:var(--danger, #d97171);font-weight:700;padding:0 6px;cursor:pointer;background:transparent;border:none}.tts-player-error:hover{background:#d9717126}.tts-player-stop{color:var(--text-muted)}.tts-player-stop:hover{color:var(--text-primary)}.audio-focus{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6000;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary)}.audio-focus-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.audio-focus-title{font-size:var(--font-header);font-weight:600;color:var(--text-secondary, var(--text-primary));letter-spacing:.3px}.audio-focus-close{font-size:22px;line-height:1;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.audio-focus-close:hover{color:var(--text-primary)}.audio-focus-scroll{flex:1 1 auto;overflow-y:auto;padding:8vh clamp(16px,8vw,120px);-webkit-overflow-scrolling:touch}.audio-focus-text{font-size:clamp(20px,3.4vw,32px);line-height:1.7;max-width:900px;margin:0 auto;white-space:pre-wrap}.audio-focus-empty{text-align:center;color:var(--text-muted);margin-top:12vh}.audio-focus-text .tts-sentence-clickable{cursor:pointer}.audio-focus-controls{flex-shrink:0;border-top:1px solid var(--border);background:var(--bg-secondary);padding:12px clamp(12px,4vw,48px) max(12px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.audio-focus-scrubber{display:flex;align-items:center;gap:12px}.audio-focus-range{flex:1 1 auto;height:6px;margin:0;cursor:pointer;accent-color:var(--accent);background:transparent}.audio-focus-range:disabled{cursor:default;opacity:.4}.audio-focus-time{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:var(--font-small);min-width:42px;text-align:center}.audio-focus-buttons{display:flex;align-items:center;justify-content:center;gap:clamp(6px,2vw,16px);flex-wrap:wrap}.audio-focus-btn{min-width:56px;height:52px;padding:0 14px;font-size:16px;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;justify-content:center}.audio-focus-btn-primary{min-width:72px;font-size:20px}.audio-focus-follow.audio-focus-follow-active{color:var(--accent);border-color:var(--accent)}.audio-focus-enter{display:inline-flex;align-items:center;justify-content:center}.chat-toggle{font-size:calc(11px * var(--chrome-scale));padding:calc(3px * var(--chrome-scale)) calc(10px * var(--chrome-scale))}.chat-toggle.chat-toggle-active{color:var(--accent)}.cc-toggle-group{display:inline-flex;align-items:stretch;gap:0;margin-right:4px}.cc-toggle{font-size:calc(11px * var(--chrome-scale));font-weight:600;letter-spacing:.5px;padding:calc(3px * var(--chrome-scale)) calc(8px * var(--chrome-scale));border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.cc-toggle.cc-toggle-active{color:var(--accent);border-color:var(--accent)}.cc-size-toggle{font-size:9px;padding:3px 4px;border-top-left-radius:0;border-bottom-left-radius:0;color:var(--text-muted)}.cc-size-toggle:hover{color:var(--text-primary)}.zoom-indicator{font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-muted);padding:2px 6px;margin-left:4px}.zoom-indicator:hover{color:var(--text-primary)}.qa-panel{display:flex;flex-direction:column;background:var(--bg-secondary);overflow:hidden;min-height:0;flex:1}.qa-panel-body{flex:1;overflow-y:auto;padding:12px}.qa-panel-body>*+*{margin-top:12px}.qa-generate-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qa-scope-picker{display:flex;gap:0;border:1px solid var(--border);border-radius:4px;overflow:hidden}.qa-scope-btn{font-size:11px;padding:4px 10px;border:none;border-radius:0;background:var(--bg-tertiary);color:var(--text-secondary)}.qa-scope-btn+.qa-scope-btn{border-left:1px solid var(--border)}.qa-scope-btn:hover:not(:disabled){color:var(--text-primary)}.qa-scope-btn-active,.qa-scope-btn-active:hover{background:var(--bg-primary);color:var(--accent)}.qa-generate-btn{font-size:12px;padding:4px 12px;margin-left:auto;color:var(--accent);border-color:var(--accent)}.qa-generate-btn:disabled{color:var(--text-muted);border-color:var(--border)}.qa-already-generated-hint{margin-left:auto;font-size:11px;color:var(--text-muted);font-style:italic}.qa-progress{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);padding:8px 0}.qa-error{font-size:12px;color:#ff6b6b;background:#ff6b6b14;border:1px solid rgba(255,107,107,.25);border-radius:4px;padding:8px 10px}.qa-empty{font-size:12px;color:var(--text-secondary);line-height:1.5;padding:12px 4px}.qa-empty-tip{color:var(--text-muted);font-style:italic}.qa-set-card{border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);overflow:hidden}.qa-set-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.qa-set-header-text{display:flex;align-items:baseline;gap:8px;min-width:0}.qa-set-title{font-size:12px;font-weight:600;color:var(--text-primary)}.qa-set-date{font-size:10px;color:var(--text-muted)}.qa-set-actions{display:flex;gap:4px}.qa-set-action{font-size:11px;padding:2px 8px}.qa-set-action-danger{color:#ff8080}.qa-set-action-danger:hover:not(:disabled){border-color:#ff8080}.qa-not-relevant{font-size:12px;color:var(--text-secondary);padding:12px;font-style:italic}.qa-question-list{list-style:none;margin:0;padding:0}.qa-question-item{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.qa-question-item:last-child{border-bottom:none}.qa-question-num{font-size:12px;font-weight:600;color:var(--text-muted);flex-shrink:0;padding-top:1px;font-variant-numeric:tabular-nums}.qa-question-body{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.qa-question-text{font-size:var(--font-content);color:var(--text-primary);line-height:1.5;user-select:text;-webkit-user-select:text}.qa-answer-input{width:100%;font-size:12px;font-family:inherit;padding:6px 8px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;resize:vertical;min-height:44px}.qa-answer-input:focus{outline:none;border-color:var(--accent)}.qa-question-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.qa-verify-btn{font-size:11px;padding:3px 12px;display:inline-flex;align-items:center;gap:6px}.qa-question-row-top{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.qa-question-row-top .qa-question-text{flex:1 1 auto;min-width:0}.qa-question-mini-actions{display:inline-flex;gap:2px;flex-shrink:0}.qa-question-mini-btn{font-size:13px;line-height:1;padding:2px 6px;color:var(--text-muted);border-color:transparent;background:transparent}.qa-question-mini-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--border)}.qa-question-mini-btn-danger:hover:not(:disabled){color:#ff8080;border-color:#ff8080}.qa-panel-header{flex-wrap:wrap;row-gap:4px;column-gap:6px}.qa-header-connector{font-size:var(--font-tiny);color:var(--text-muted);letter-spacing:.02em;white-space:nowrap}.qa-explanation-lang-select{font-size:var(--font-tiny);padding:1px 5px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;cursor:pointer;font-family:inherit}.qa-explanation-lang-select:hover:not(:disabled){border-color:var(--text-muted)}.qa-explanation-lang-select:disabled{opacity:.5;cursor:not-allowed}.qa-header-spinner{width:12px;height:12px;flex-shrink:0}.qa-result-block{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--bg-secondary);border-radius:4px;border-left:2px solid var(--border)}.qa-result-chip{align-self:flex-start;font-size:10px;font-weight:600;letter-spacing:.04em;padding:2px 8px;border-radius:999px;text-transform:uppercase}.qa-result-chip-good{color:#6eda9a;background:#6eda9a1f;border:1px solid rgba(110,218,154,.35)}.qa-result-chip-warn{color:#f0c674;background:#f0c6741f;border:1px solid rgba(240,198,116,.35)}.qa-result-chip-bad{color:#ff8080;background:#ff80801a;border:1px solid rgba(255,128,128,.35)}.qa-result-chip-neutral{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border)}.qa-explanation-text{font-size:var(--font-content);color:var(--text-primary);line-height:1.5;user-select:text;-webkit-user-select:text}@media(max-width:900px){.sidebar-stack{display:none!important}.bottom-stack{height:40vh!important;min-height:0!important;max-height:min(60vh,calc(var(--app-height, 100dvh) - 48px))!important;width:100%!important}.resize-handle{display:none}.hidden-mount{display:none!important}.btn.chat-toggle,.btn.settings-btn,.btn.btn-open,.btn.btn-secondary,.panel-menu-item,.panel-kebab,.modal-close,.top-bar-toggle{min-height:44px}.btn.chat-toggle,.panel-menu-item{padding-left:14px;padding-right:14px}}@media(max-width:600px){.top-bar-left{gap:2px;min-width:0}.top-bar-center,.top-bar-right{gap:4px}}.floating-settings-badge{position:fixed;right:16px;bottom:16px;z-index:50;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:999px;box-shadow:0 4px 12px #00000040;cursor:pointer;transition:background .12s ease,transform .12s ease}.floating-settings-badge:hover{background:var(--bg-tertiary, var(--bg-secondary));transform:translateY(-1px)}.floating-settings-badge:focus-visible{outline:2px solid var(--accent, #f59e0b);outline-offset:2px}.floating-settings-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 2px var(--bg-secondary)}.floating-account-badge{bottom:62px}.api-key-clear-btn{color:var(--text-muted)}.api-key-clear-btn:hover:not(:disabled){color:#ef4444}.api-key-clear-btn:disabled{opacity:.4;cursor:not-allowed}
