@import"https://fonts.googleapis.com/css2?family=Noto+Nastaliq+Urdu:wght@400;700&family=Crimson+Pro:ital,wght@0,300;0,400;0,600;1,300&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ink: #1a1410;--ink-mid: #3d3530;--ink-light: #7a6e68;--paper: #faf8f4;--paper-warm: #f3ede3;--paper-border: #d9cfc0;--accent: #8b2500;--accent-light: #c4411a;--accent-bg: #fdf0ec;--green: #1a6632;--shadow: rgba(26, 20, 16, .08)}html,body,#root{height:100%}body{font-family:Crimson Pro,Georgia,serif;background:var(--paper);color:var(--ink)}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{background:var(--ink);color:var(--paper);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--accent);flex-shrink:0}.logo{display:flex;align-items:baseline;gap:12px}.logo-main{font-size:22px;font-weight:600;letter-spacing:-.5px;color:var(--paper)}.logo-urdu{font-family:Noto Nastaliq Urdu,serif;font-size:20px;color:#e8a080;direction:rtl}.status-pill{font-family:JetBrains Mono,monospace;font-size:11px;padding:4px 10px;border-radius:20px;background:#2a2520;border:.5px solid #3d4a35;letter-spacing:.3px;transition:color .3s}.main-layout{display:flex;flex:1;overflow:hidden;min-height:0}.viewer-panel{position:relative;z-index:1;flex:1;min-width:0;overflow:auto;background:#ddd8d0;display:flex;align-items:flex-start;justify-content:flex-start;padding:2rem}.sidebar{width:300px;z-index:50;min-width:180px;max-width:500px;background:var(--paper-warm);border-right:1px solid var(--paper-border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;flex-shrink:0;position:relative}.sidebar-inner{padding:1.1rem;display:flex;flex-direction:column;gap:1.1rem;flex:1}.section-label{font-size:10px;font-family:JetBrains Mono,monospace;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-light);margin-bottom:8px;display:flex;align-items:center;gap:6px}.section-label:after{content:"";flex:1;height:.5px;background:var(--paper-border)}.upload-zone-small{display:flex;align-items:center;justify-content:center;padding:8px 16px;border:.5px dashed var(--paper-border);border-radius:6px;cursor:pointer;font-size:13px;color:var(--ink-mid);transition:all .2s;width:100%;font-family:Noto Nastaliq Urdu,serif;direction:rtl}.upload-zone-small:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.page-nav{display:flex;align-items:center;gap:8px}.nav-btn{width:32px;height:32px;border-radius:6px;border:.5px solid var(--paper-border);background:var(--paper);cursor:pointer;color:var(--ink);font-size:14px;transition:all .15s;display:flex;align-items:center;justify-content:center}.nav-btn:hover:not(:disabled){background:var(--ink);color:var(--paper);border-color:var(--ink)}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.page-info{flex:1;text-align:center;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-mid)}.controls-grid{display:flex;flex-direction:column;gap:10px}.control-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.control-label{font-size:13px;color:var(--ink-mid)}.toggle{position:relative;width:40px;height:22px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--paper-border);border-radius:11px;cursor:pointer;transition:.2s}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.2s;box-shadow:0 1px 3px #0003}.toggle input:checked+.toggle-slider{background:var(--accent)}.toggle input:checked+.toggle-slider:before{transform:translate(18px)}.font-size-control{display:flex;align-items:center;gap:6px}.fs-btn{width:26px;height:26px;border:.5px solid var(--paper-border);background:var(--paper);border-radius:5px;cursor:pointer;font-size:14px;color:var(--ink);transition:all .15s;display:flex;align-items:center;justify-content:center}.fs-btn:hover{background:var(--ink);color:var(--paper)}.fs-val{font-family:JetBrains Mono,monospace;font-size:12px;min-width:24px;text-align:center;color:var(--ink-mid)}.translate-btn{width:100%;padding:11px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:Noto Nastaliq Urdu,serif;font-size:16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;direction:rtl}.translate-btn:hover:not(:disabled){background:var(--accent-light)}.translate-btn:disabled{opacity:.5;cursor:not-allowed}.progress-bar{height:4px;background:var(--paper-border);border-radius:2px;overflow:hidden;margin-top:8px}.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.progress-text{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-light);text-align:center;margin-top:4px}.stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.stat-card{background:var(--paper);border:.5px solid var(--paper-border);border-radius:6px;padding:8px;text-align:center}.stat-val{display:block;font-size:18px;font-weight:600;color:var(--ink)}.stat-label{font-size:9px;color:var(--ink-light);font-family:JetBrains Mono,monospace}.log-box{background:#1a1a1a;border-radius:6px;padding:10px 12px;max-height:140px;overflow-y:auto;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.7;color:#8fba80}.log-entry{margin:0}.log-entry.error{color:#e07060}.log-entry.info{color:#6090e0}.viewer-content{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.pdf-two-col{display:flex;align-items:flex-start;gap:0}.urdu-column{flex-shrink:0;position:relative;background:#fdf8f0fa;border-left:3px solid rgba(139,37,0,.2);overflow-y:auto;overflow-x:hidden}.urdu-line{display:block;width:100%;padding:4px 12px 4px 6px;direction:rtl;text-align:right;font-family:Noto Nastaliq Urdu,Jameel Noori Nastaleeq,serif;color:#1a0800;line-height:2;border-bottom:1px solid rgba(139,37,0,.07);-webkit-font-smoothing:antialiased;white-space:normal;word-break:break-word;overflow-wrap:break-word;overflow:visible}.urdu-line.empty{border:none;padding:0}.sidebar-resizer{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;z-index:20;background:transparent;transition:background .15s}.sidebar-resizer:hover,.sidebar-resizer.dragging{background:#8b250059}.col-width-slider-wrap{display:flex;align-items:center;gap:8px}.col-width-slider-wrap input[type=range]{flex:1;accent-color:var(--accent);height:3px}.col-width-val{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-light);min-width:36px;text-align:right}.page-label{font-family:JetBrains Mono,monospace;font-size:11px;color:#6a6460;letter-spacing:.5px}.pdf-page-wrapper{z-index:0;position:relative;box-shadow:0 4px 32px #0000002e;border-radius:2px;overflow:visible;background:#fff}.pdf-canvas{display:block}.text-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:400px}.upload-zone-large{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2.5rem;border:2px dashed var(--paper-border);border-radius:12px;cursor:pointer;text-align:center;max-width:420px;background:var(--paper);transition:all .2s}.upload-zone-large:hover,.upload-zone-large.drag-over{border-color:var(--accent);background:var(--accent-bg)}.upload-icon-large{width:64px;height:64px;background:var(--ink);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--paper)}.upload-icon-large svg{width:32px;height:32px}.empty-title{font-size:20px;font-weight:600;color:var(--ink)}.empty-sub{font-size:17px;color:var(--ink-mid)}.empty-hint{font-size:13px;color:var(--ink-light);max-width:280px;line-height:1.6}.upload-cta{margin-top:8px;padding:9px 24px;background:var(--accent);color:#fff;border-radius:7px;font-size:15px;font-weight:600}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--paper-border);border-radius:3px}.ucol-drag-handle{position:absolute;left:0;top:0;bottom:0;width:6px;cursor:col-resize;z-index:25;background:transparent;transition:background .15s}.ucol-drag-handle:hover{background:#8b250059}.urdu-line.urdu-empty{border-color:transparent}.urdu-column{flex-shrink:0;background:#fdf8f0fa;border-left:3px solid rgba(139,37,0,.2);overflow-y:auto;overflow-x:hidden;position:relative}.ucol-inner{position:relative;width:100%;min-height:100%}.urdu-line{position:absolute;right:0;direction:rtl;text-align:right;font-family:Noto Nastaliq Urdu,Jameel Noori Nastaleeq,serif;color:#180800;line-height:2;-webkit-font-smoothing:antialiased;white-space:normal;word-break:break-word;overflow-wrap:break-word;overflow:visible;padding:2px 10px 2px 4px;border-bottom:1px solid rgba(139,37,0,.06);box-sizing:border-box}.ucol-drag-handle{position:absolute;left:0;top:0;bottom:0;width:8px;cursor:col-resize;z-index:20;background:transparent;transition:background .15s}.ucol-drag-handle:hover{background:#8b25004d}.tts-panel{position:relative;z-index:55;isolation:isolate;background:var(--paper);border:.5px solid var(--paper-border);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.tts-status{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-light);text-align:center;min-height:16px;transition:color .2s}.tts-status.playing{color:#1a6632;font-weight:600}.tts-row{display:flex;gap:6px}.tts-btn{position:relative;z-index:56;pointer-events:auto;-webkit-user-select:none;user-select:none;flex:1;padding:7px 4px;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:5px}.tts-btn:disabled{opacity:.4;cursor:not-allowed}.tts-en{background:var(--ink);color:var(--paper)}.tts-en:hover:not(:disabled){background:var(--ink-mid)}.tts-ur{background:var(--accent);color:#fff;font-family:Noto Nastaliq Urdu,serif;font-size:13px;direction:rtl}.tts-ur:hover:not(:disabled){background:var(--accent-light)}.tts-stop{width:100%;padding:6px;border:1px solid var(--paper-border);border-radius:6px;background:var(--paper);color:var(--ink-mid);cursor:pointer;font-size:12px;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:5px}.tts-stop.show{display:flex}.tts-stop:hover{background:#fee;border-color:#e07060;color:#c00}.tts-speed-row{display:flex;align-items:center;gap:6px}.tts-speed-row label{font-size:11px;color:var(--ink-light);white-space:nowrap}.tts-speed-row input{flex:1;accent-color:var(--accent)}.tts-speed-val{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-mid);min-width:28px;text-align:right}.voice-sel{width:100%;padding:4px 7px;border:.5px solid var(--paper-border);border-radius:5px;background:var(--paper);color:var(--ink);font-size:11px;font-family:JetBrains Mono,monospace;cursor:pointer}.line-speak-btns{position:absolute;left:2px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;opacity:0;transition:opacity .15s;z-index:5}.urdu-para-block:hover .line-speak-btns,.urdu-para-block.speaking .line-speak-btns{opacity:1}.urdu-para-block.speaking{background:#1a663212;border-left-color:#1a6632}.lsb{width:19px;height:19px;border:none;border-radius:3px;cursor:pointer;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:transform .15s}.lsb:hover{transform:scale(1.18)}.lsb-en{background:var(--ink);color:#fff}.lsb-ur{background:var(--accent);color:#fff}.sidebar{z-index:100;position:relative}.tts-panel{position:relative;z-index:101}.tts-btn,.tts-stop,.voice-sel,.tts-speed-row input{position:relative;z-index:102;pointer-events:auto!important}.pdf-two-col{position:relative;z-index:1}.viewer-panel{position:relative;z-index:1;overflow:auto}.ucol-inner{position:relative;width:100%;min-height:100%;padding-left:8px}.urdu-para-block{position:absolute;right:0;left:8px;direction:rtl;text-align:right;font-family:Noto Nastaliq Urdu,Jameel Noori Nastaleeq,serif;color:#180800;line-height:2.1;-webkit-font-smoothing:antialiased;white-space:normal;word-break:break-word;overflow-wrap:break-word;overflow:visible;padding:3px 12px 3px 4px;border-bottom:1px solid rgba(139,37,0,.08);box-sizing:border-box;border-left:2px solid transparent;transition:border-color .2s}.urdu-para-block:hover{border-left-color:#8b250033;background:#8b250005}@keyframes popIn{0%{opacity:0;transform:scale(.94) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.hist-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto}.hist-item{background:var(--paper);border:.5px solid var(--paper-border);border-radius:6px;padding:7px 9px;cursor:pointer;transition:all .15s}.hist-item:hover{border-color:var(--accent);background:var(--accent-bg)}.hist-en{font-size:11px;color:var(--ink-light);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hist-ur{font-family:Noto Nastaliq Urdu,serif;font-size:14px;color:#180800;direction:rtl;text-align:right;line-height:1.8}.hist-empty{font-size:11px;color:var(--ink-light);text-align:center;padding:10px;font-family:JetBrains Mono,monospace}
