:root{--primary-color: #bf9456;--primary-dark: #bf9456;--primary-light: #bf9456;--success-color: #bf9456;--text-primary: #1f2937;--text-secondary: #6b7280;--bg-light: #f5f5dc;--bg-white: #f5f5dc;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .5s ease}.progress-wrapper{width:100%;height:8px;background:#eee;border-radius:4px;overflow:hidden}.progress-bar{height:100%;background:#4f46e5;transition:width .2s ease}*{margin:0;padding:0;box-sizing:border-box;direction:rtl}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:beige;color:var(--text-primary);overflow-x:hidden}.loading-container{text-align:center;padding:2rem}.spinner{width:50px;height:50px;border:4px solid rgba(0,0,0,.1);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.progress-bar-container{width:100%;height:8px;background:#0000001a;border-radius:10px;overflow:hidden;margin-bottom:1rem}.progress-bar{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:10px;animation:progress 2s ease-in-out infinite}@keyframes progress{0%{width:0%}50%{width:70%}to{width:100%}}.upload-error-box{background:#dc262614;border:1px solid rgba(220,38,38,.3);border-radius:14px;padding:18px 16px;margin-top:16px;text-align:center;animation:fadeInUp .4s ease-out}.error-icon{font-size:22px;display:block;margin-bottom:8px}.error-text{color:#b91c1c;font-size:14px;font-weight:600;margin-bottom:12px;line-height:1.6}.retry-btn{padding:10px 16px;border-radius:10px;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));color:#fff;border:none;font-size:13px;font-weight:700;cursor:pointer;transition:var(--transition-fast)}.retry-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.loading-text{font-size:1.1rem;color:#333;font-weight:500;margin:.5rem 0}.loading-subtext{font-size:.9rem;color:#666;margin-top:.5rem}.page-skeleton{height:100%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 37%,#f0f0f0 63%);animation:shimmer 1.4s infinite;padding:20px;border-radius:8px}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.loading-dot{margin-left:6px;font-size:12px;opacity:.6}.empty-state{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,rgba(191,148,86,.15),var(--bg-light));padding:20px}.empty-card{background:linear-gradient(180deg,rgba(255,255,255,.6),var(--bg-white));border-radius:18px;padding:42px 34px;max-width:440px;width:100%;text-align:center;box-shadow:var(--shadow-lg);border:1px solid rgba(191,148,86,.25);animation:fadeInUp .6s ease-out}.empty-icon{font-size:58px;margin-bottom:18px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15))}.empty-title{font-size:24px;font-weight:800;margin-bottom:10px;color:var(--text-primary);letter-spacing:.3px}.empty-subtitle{font-size:15px;color:var(--text-secondary);margin-bottom:28px;line-height:1.7}.empty-action{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:12px;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));color:#fff;font-weight:700;text-decoration:none;box-shadow:0 6px 14px #bf945673;transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast)}.empty-action:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 10px 22px #bf94568c;filter:brightness(1.05)}.empty-action:active{transform:translateY(0) scale(.98);box-shadow:0 5px 12px #bf945659}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.warning-badge{background:linear-gradient(135deg,#ff6b6b,#ff8787);color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.95rem;margin-bottom:1.5rem;box-shadow:0 4px 12px #ff6b6b4d;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 4px 12px #ff6b6b4d}50%{transform:scale(1.02);box-shadow:0 6px 16px #ff6b6b66}}.mainApp{position:relative}.app-container{min-height:80vh;padding:0rem 1rem}.upload-section{display:flex;justify-content:center;align-items:center;margin-top:120px}.upload-card{background:var(--bg-white);border-radius:16px;padding:3rem 2rem;box-shadow:var(--shadow-lg);max-width:500px;width:100%;text-align:center;animation:slideUp .5s ease}.upload-card h2{font-size:2rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem}.actions-wrapper{display:flex;gap:16px;margin-top:20px}.btn{flex:1;padding:14px 20px;border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;transition:all var(--transition-base);border:none;box-shadow:var(--shadow-md)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:#e5e7eb;color:var(--text-primary)}.btn-secondary:hover{background:#d1d5db}.confirm-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.confirm-modal{background:var(--bg-white);border-radius:20px;padding:30px 25px;width:90%;max-width:420px;box-shadow:var(--shadow-lg);border:1px solid rgba(191,148,86,.15);text-align:center;animation:scaleIn .25s ease}.confirm-modal h3{margin:0 0 12px;color:var(--text-primary);font-size:20px;font-weight:800}.confirm-modal p{margin:0 0 25px;color:var(--text-secondary);font-size:15px;line-height:1.6}.confirm-actions{display:flex;gap:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.9)}to{transform:scale(1)}}.inputs-wrapper{display:flex;gap:20px}.file-input-wrapper{position:relative;display:inline-block;width:100%;cursor:pointer}.file-input{display:none}.file-label{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:1rem 2rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-radius:12px;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);border:2px solid transparent}.save-label{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:1rem 2rem;background:#0c9d0c;color:#fff;border-radius:12px;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);border:2px solid transparent;font-size:20px}.delete-label{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:1rem 2rem;background:red;color:#fff;border-radius:12px;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);border:2px solid transparent;font-size:20px}.file-label:hover{transform:translateY(-2px);box-shadow:0 12px 20px -5px #6366f14d}.file-label:active{transform:translateY(0)}.loading{padding:1.5rem;color:var(--text-secondary);font-weight:500;animation:pulse 2s infinite}.book-container{display:flex;justify-content:center;align-items:center;gap:2rem;position:relative}.book{position:relative;perspective:2000px;max-width:800px;width:100%;min-height:90vh;margin:110px auto}.page{background:var(--bg-white);border-radius:12px;padding:2rem;box-shadow:var(--shadow-lg);animation:fadeIn .6s ease;line-height:1.8;word-wrap:break-word;overflow-wrap:break-word;width:100%;max-width:800px;padding-top:80px;min-height:100vh;position:absolute;transform-style:preserve-3d;backface-visibility:hidden;box-shadow:0 10px 40px #00000026}.page-wrapper{position:relative}.page-under:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;z-index:3}.page-under.shadow-next:before{background:linear-gradient(to right,#00000059,#0000);animation:shadowNext .9s ease forwards}@keyframes shadowNext{0%{opacity:.5}to{opacity:0}}.page-under.shadow-prev:before{background:linear-gradient(to right,#00000059,#0000);animation:shadowPrev .9s ease forwards}@keyframes shadowPrev{0%{opacity:0}to{opacity:.5}}.page-flip{z-index:2}.flip-next{transform-origin:left center;animation:flipNext .9s ease forwards}@keyframes flipNext{0%{transform:rotateY(0)}to{transform:rotateY(-180deg)}}.flip-prev{transform-origin:left center;animation:flipPrev .9s ease forwards}@keyframes flipPrev{0%{transform:rotateY(-180deg)}to{transform:rotateY(0)}}.page p{margin-bottom:1rem;color:var(--text-primary);line-height:1.7}.page h1,.page h2,.page h3,.page h4,.page h5,.page h6{color:var(--primary-dark);margin-top:1.5rem;margin-bottom:1rem;font-weight:700;line-height:1.3}.page h1{font-size:2rem;border-bottom:3px solid var(--primary-color);padding-bottom:.5rem}.page h2{font-size:1.5rem}.page h3{font-size:1.25rem}.page strong,.page b{font-weight:700;color:var(--primary-dark)}.page em,.page i{font-style:italic}.page u{text-decoration:underline}.link-tooltip-wrapper{position:relative;display:inline-block;cursor:help}.link-text{color:var(--primary-color);font-weight:600;transition:all var(--transition-fast);padding:2px 4px;border-radius:3px;display:inline-block}.link-tooltip-wrapper:hover .link-text{background:#6366f11a;color:var(--primary-dark);border-bottom-color:var(--primary-dark)}.link-tooltip-content{visibility:hidden;opacity:0;position:absolute;z-index:1000;bottom:130%;left:50%;transform:translate(-50%) translateY(8px);transition:all var(--transition-base);pointer-events:none}.link-tooltip-wrapper:hover .link-tooltip-content{visibility:visible;opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.link-tooltip-text{display:inline-block;min-width:250px;max-width:400px;padding:.75rem 1rem;background:var(--primary-dark);color:#fff;text-align:center;border-radius:8px;font-size:.875rem;line-height:1.5;white-space:normal;word-wrap:break-word;font-weight:500;word-break:break-all}.link-tooltip-arrow{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--success-color)}.page a.word-link{color:var(--primary-color);font-weight:600;text-decoration:none;border-bottom:2px solid var(--primary-color);transition:all var(--transition-fast);padding:2px 4px;border-radius:3px;cursor:pointer}.page a.word-link:hover{background:#6366f11a;color:var(--primary-dark);border-bottom-color:var(--primary-dark)}.page a.word-link:active{transform:scale(.98)}.tooltip-wrapper{position:relative;display:inline-block;cursor:help}.tooltip-trigger{color:var(--primary-color);font-weight:600;border-bottom:2px dotted var(--primary-color);transition:all var(--transition-fast);padding:2px 4px;border-radius:3px}.tooltip-trigger:hover{background:#6366f11a;color:var(--primary-dark)}.tooltip-trigger:active{transform:translateY(0)}.tooltip-content{visibility:hidden;opacity:0;position:absolute;z-index:1000;bottom:130%;left:50%;transform:translate(-50%) translateY(8px);transition:opacity var(--transition-base),transform var(--transition-base);transition-delay:10s;pointer-events:none}.tooltip-wrapper:hover .tooltip-content{visibility:visible;opacity:1;transform:translate(-50%) translateY(0);transition-delay:0ms;pointer-events:auto}.tooltip-text{display:inline-block;width:50vw;padding:.75rem 1rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;text-align:center;border-radius:8px;font-size:.875rem;line-height:1.5;box-shadow:0 8px 16px #6366f140;white-space:normal;word-wrap:break-word;font-weight:500}.tooltip-arrow{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--primary-color)}.percent-tooltip{position:relative;display:inline-block;cursor:help}.percent-trigger{color:var(--primary-color);font-weight:600;border-bottom:2px dotted var(--primary-color);transition:all var(--transition-fast);padding:2px 4px;border-radius:3px;display:inline-block}.percent-trigger:hover{background:#6366f11a;color:var(--primary-dark);border-bottom-color:var(--primary-dark)}.percent-tooltip-content{visibility:hidden;opacity:0;position:absolute;z-index:1000;bottom:130%;left:50%;transform:translate(-50%) translateY(8px);transition:all var(--transition-base);pointer-events:none}.percent-tooltip-content .tooltip-text{background:var(--primary-dark);box-shadow:0 8px 16px var(--primary-dark)}.percent-tooltip-content .tooltip-arrow{border-top-color:var(--primary-dark)}.page img{max-height:400px;max-width:100%;height:auto;display:block;margin:1.5rem auto;border-radius:8px;box-shadow:var(--shadow-md);transition:transform var(--transition-base)}.page img:hover{transform:scale(1.02)}.page ul,.page ol{margin-left:1.5rem;margin-bottom:1rem}.page li{margin-bottom:.5rem;color:var(--text-primary)}.footnote-trigger{color:var(--primary-color);font-weight:700;cursor:help;border-bottom:1px dotted var(--primary-color);padding:0 2px;transition:all var(--transition-fast)}.footnote-trigger:hover{color:var(--primary-dark);background:#6366f11a;border-radius:2px}.pagination-controls{display:flex;align-items:center;justify-content:center}.pagination-left{position:absolute;left:0}.pagination-right{position:absolute;right:0}.nav-button{width:50px;height:50px;border-radius:50%;border:2px solid var(--primary-color);background:#fff;color:var(--primary-color);font-size:1.5rem;font-weight:700;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}.nav-button:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;transform:scale(1.1);box-shadow:0 8px 16px #6366f14d}.nav-button:active:not(:disabled){transform:scale(.95)}.nav-button:disabled{opacity:.4;cursor:not-allowed}.nav-button-next{position:fixed;top:20px;right:20px;z-index:1000}.nav-button-prev{position:fixed;top:20px;left:20px;z-index:1000}.nav-buttons-wrapper{position:fixed;top:20px;left:50%;transform:translate(-50%);display:flex;gap:16px;z-index:1000}.pages-sidebar{position:fixed;top:100px;left:0;width:260px;height:100vh;background:beige;border-left:1px solid #eee;padding:10px 12px;overflow-y:auto;display:flex;flex-direction:column;justify-items:center;align-items:center;gap:10px 0px;z-index:1000}.sidebar-item{display:flex;align-items:center;gap:10px;padding:10px;background:#bf9456;border:none;cursor:pointer;width:100%;border-radius:8px;transition:background .2s}.sidebar-item:hover,.sidebar-item.active{background:#444}.title{font-size:14px;line-height:1.4;width:100%;text-align:center;color:#fff}.page-indicator{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);font-weight:600;color:var(--text-secondary);background:#fff;padding:.5rem 1rem;border-radius:20px;box-shadow:var(--shadow-md)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:1024px){.book-container{gap:1rem}.pagination-left{left:-70px}.pagination-right{right:-70px}.nav-button{width:40px;height:40px;font-size:1.25rem}}@media(max-width:768px){.upload-card{padding:2rem 1.5rem}.upload-card h2{font-size:1.5rem}.book-container{flex-direction:column;gap:2rem}.pagination-left{position:relative;left:auto}.pagination-right{position:relative;right:auto}.page{padding:1.5rem;max-width:100%}.page h1{font-size:1.5rem}.page h2{font-size:1.25rem}.nav-button{width:45px;height:45px;font-size:1.25rem}.page-indicator{position:relative;bottom:auto;transform:none;margin-top:1rem}.tooltip-text{min-width:180px;max-width:280px;font-size:.8rem}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
