@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a28;--bg-card:#1a1a28b3;--bg-card-hover:#232337d9;--bg-glass:#ffffff0a;--bg-glass-hover:#ffffff14;--accent-primary:#6c63ff;--accent-primary-light:#8b83ff;--accent-primary-glow:#6c63ff4d;--accent-secondary:#00d4aa;--accent-secondary-glow:#00d4aa40;--accent-danger:#ff4d6a;--accent-danger-glow:#ff4d6a40;--accent-warning:#ffa726;--text-primary:#f0f0f5;--text-secondary:#8888a0;--text-tertiary:#55556a;--text-accent:#a5a0ff;--border-subtle:#ffffff0f;--border-medium:#ffffff1a;--border-accent:#6c63ff4d;--gradient-primary:linear-gradient(135deg, #6c63ff 0%, #4d44db 100%);--gradient-hero:linear-gradient(135deg, #0a0a0f 0%, #151525 50%, #0d0d18 100%);--gradient-card:linear-gradient(145deg, #1e1e3299 0%, #141423cc 100%);--gradient-glow:radial-gradient(ellipse at 50% 0%, #6c63ff1f 0%, transparent 60%);--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px var(--accent-primary-glow);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.35s cubic-bezier(.4, 0, .2, 1);--transition-spring:.4s cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:var(--accent-primary);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes borderGlow{0%,to{border-color:var(--border-accent)}50%{border-color:var(--accent-primary-light)}}.dropzone-container{width:100%;padding:0 24px;animation:.5s ease-out fadeIn}.dropzone{border:2px dashed var(--border-medium);border-radius:var(--radius-xl);text-align:center;cursor:pointer;transition:all var(--transition-smooth);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:60px 40px;position:relative;overflow:hidden}.dropzone:before{content:"";border-radius:var(--radius-xl);background:var(--gradient-glow);opacity:0;transition:opacity var(--transition-smooth);pointer-events:none;position:absolute;inset:0}.dropzone:hover{border-color:var(--accent-primary);background:var(--bg-glass-hover)}.dropzone:hover:before{opacity:1}.dropzone.dragging{border-color:var(--accent-primary-light);background:#6c63ff0f;animation:1.5s ease-in-out infinite borderGlow;transform:scale(1.01)}.dropzone.dragging:before{opacity:1}.dropzone-icon{color:var(--text-tertiary);transition:all var(--transition-smooth);margin-bottom:16px}.dropzone:hover .dropzone-icon{color:var(--accent-primary);transform:translateY(-4px)}.dropzone.dragging .dropzone-icon{color:var(--accent-primary-light);animation:1.5s ease-in-out infinite float}.dropzone-title{color:var(--text-primary);margin-bottom:8px;font-size:1.25rem;font-weight:600}.dropzone-subtitle{color:var(--text-secondary);font-size:.875rem}.dropzone-badge{color:var(--accent-primary-light);background:#6c63ff1a;border:1px solid #6c63ff33;border-radius:50px;margin-top:16px;padding:6px 14px;font-size:.75rem;font-weight:500;display:inline-block}.dropzone-compact{align-items:center;gap:16px;padding:20px 24px;display:flex}.dropzone-compact .dropzone-icon{margin-bottom:0}.dropzone-compact .dropzone-text{text-align:left}.dropzone-compact .dropzone-title{margin-bottom:2px;font-size:.95rem}.dropzone-compact .dropzone-subtitle{font-size:.8rem}.dropzone-compact .dropzone-badge{margin-top:0;margin-left:auto}.page-card{background:var(--gradient-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:grab;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;animation:.35s ease-out both fadeInScale;position:relative;overflow:visible}.page-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-md), 0 0 16px var(--accent-primary-glow);transform:translateY(-2px)}.page-card:active{cursor:grabbing}.page-card.is-dragging{opacity:.5;box-shadow:none;transform:scale(.95)}.page-card-overlay{cursor:grabbing;box-shadow:var(--shadow-lg), 0 0 30px var(--accent-primary-glow);border-color:var(--accent-primary);z-index:999;transform:scale(1.05)rotate(2deg)}.page-card-thumbnail{aspect-ratio:210/297;border-top-left-radius:inherit;border-top-right-radius:inherit;background:#1e1e2e;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.page-card-thumbnail canvas{object-fit:contain;width:100%;height:100%}.page-card-thumbnail .loading{color:var(--text-tertiary);font-size:.75rem;animation:1.5s ease-in-out infinite pulse}.page-card-delete{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;opacity:0;transition:all var(--transition-fast);z-index:10;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:6px;transform:scale(.8)}.page-card:hover .page-card-delete{opacity:1;transform:scale(1)}.page-card-delete:hover{background:var(--accent-danger);color:#fff;transform:scale(1.1)}.page-card-info{background:var(--bg-card);border-top:1px solid var(--border-subtle);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;padding:8px 10px}.page-card-number{color:var(--accent-primary-light);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:700}.page-card-filename{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.65rem;overflow:hidden}.is-empty-page .page-card-thumbnail{background:#0c0c12 radial-gradient(circle,#ffffff0d 1px,#0000 1px) 0 0/16px 16px}.empty-page-sheet{color:#1e1e2e;text-align:center;box-sizing:border-box;max-width:82%;max-height:82%;animation:fadeIn scaleUp .3s ease-out;background:#fff;border:1px solid #0000000f;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:10px;display:flex;box-shadow:0 4px 14px #0006,0 1px 3px #0000001a}.empty-page-icon-wrapper{border-radius:var(--radius-sm);color:#6c63ff;width:32px;height:32px;transition:all var(--transition-fast);background:#6c63ff14;border:1px solid #6c63ff26;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.empty-page-sheet:hover .empty-page-icon-wrapper{background:#6c63ff26;transform:scale(1.08);box-shadow:0 0 8px #6c63ff4d}.empty-page-text{color:#1a1a24;margin-bottom:2px;font-size:.72rem;font-weight:700}.empty-page-desc{color:#6a6a7f;font-size:.58rem;font-weight:500}.is-empty-page{border-style:dashed;border-color:#6c63ff59}.page-card-insert-zone{z-index:25;pointer-events:auto;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0}.page-card-insert-zone-left{left:calc(-1 * var(--grid-gap-x,24px));width:var(--grid-gap-x,24px)}.page-card-insert-zone-right{right:calc(-1 * var(--grid-gap-x,24px));width:var(--grid-gap-x,24px)}.page-card-insert-pill{color:#fff;opacity:0;width:26px;height:74px;transition:all var(--transition-normal);pointer-events:none;background:#6c63ff;border:1px solid #8b83ff;border-radius:13px;flex-direction:column;justify-content:space-between;align-items:center;padding:4px 0;display:flex;transform:scale(.85);box-shadow:0 4px 14px #6c63ff66}.page-card-insert-zone:hover .page-card-insert-pill{opacity:1;pointer-events:auto;background:#5d54ea;transform:scale(1.08);box-shadow:0 4px 20px #6c63ff99}.pill-adjust-btn{color:#ffffffbf;cursor:pointer;width:100%;height:18px;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.pill-adjust-btn:hover{color:#fff;transform:scale(1.25)}.pill-insert-trigger{color:#6c63ff;cursor:pointer;width:20px;height:20px;transition:all var(--transition-fast);background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:flex;box-shadow:0 2px 6px #00000040}.pill-insert-trigger:hover{transform:scale(1.15);box-shadow:0 0 8px #fffc}.pill-insert-trigger:active{transform:scale(.95)}.page-grid-wrapper{padding:0 24px;animation:.4s ease-out fadeIn}.page-grid-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-grid-title{color:var(--text-secondary);align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.page-grid-count{min-width:24px;height:24px;color:var(--accent-primary-light);background:#6c63ff1f;border-radius:50px;justify-content:center;align-items:center;padding:0 8px;font-size:.75rem;font-weight:700;display:inline-flex}.page-grid{--grid-gap-x:24px;--grid-gap-y:28px;gap:var(--grid-gap-y) var(--grid-gap-x);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}@media (width>=768px){.page-grid{--grid-gap-x:28px;--grid-gap-y:32px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}@media (width>=1200px){.page-grid{--grid-gap-x:32px;--grid-gap-y:36px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.page-grid-empty{text-align:center;color:var(--text-tertiary);grid-column:1/-1;padding:60px 20px;font-size:.9rem}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;padding:0 24px;animation:.3s ease-out fadeIn;display:flex}.toolbar-btn{font-family:var(--font-family);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;border:none;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:600;display:inline-flex}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.toolbar-btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 12px var(--accent-primary-glow)}.toolbar-btn-primary:hover:not(:disabled){box-shadow:0 4px 20px var(--accent-primary-glow);transform:translateY(-1px)}.toolbar-btn-primary:active:not(:disabled){transform:translateY(0)}.toolbar-btn-secondary{background:var(--bg-glass);color:var(--text-secondary);border:1px solid var(--border-medium)}.toolbar-btn-secondary:hover:not(:disabled){background:var(--bg-glass-hover);color:var(--text-primary);border-color:var(--border-accent)}.toolbar-btn-danger{color:var(--text-tertiary);background:0 0;border:1px solid #0000}.toolbar-btn-danger:hover:not(:disabled){color:var(--accent-danger);background:var(--accent-danger-glow);border-color:#ff4d6a33}.toolbar-spacer{flex:1}.toolbar-processing{color:var(--accent-primary-light);align-items:center;gap:8px;font-size:.8rem;animation:1.2s ease-in-out infinite pulse;display:flex}.toolbar-spinner{border:2px solid var(--border-medium);border-top-color:var(--accent-primary);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.landing-page{background:var(--gradient-hero);min-height:100vh;color:var(--text-primary);font-family:var(--font-family);flex-direction:column;align-items:center;padding-bottom:60px;display:flex;position:relative;overflow-x:hidden}.glow-orb{filter:blur(120px);pointer-events:none;z-index:0;opacity:.12;mix-blend-mode:screen;border-radius:50%;animation:6s ease-in-out infinite pulse;position:absolute}.glow-orb-1{background:var(--accent-primary);width:400px;height:400px;top:10%;left:20%}.glow-orb-2{background:var(--accent-secondary);width:450px;height:450px;animation-delay:-3s;top:40%;right:15%}.landing-header{z-index:10;box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;max-width:1200px;padding:24px 32px;animation:.6s ease-out slideDown;display:flex;position:relative}.landing-logo{align-items:center;gap:10px;display:flex}.landing-logo-icon{border-radius:var(--radius-sm);background:var(--gradient-primary);color:#fff;width:34px;height:34px;box-shadow:0 4px 12px var(--accent-primary-glow);justify-content:center;align-items:center;display:flex}.landing-logo-text{letter-spacing:-.02em;background:linear-gradient(135deg, var(--text-primary) 0%, var(--text-accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.15rem;font-weight:800}.nav-cta-btn{border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0a;align-items:center;gap:8px;padding:8px 16px;font-size:.8rem;font-weight:600;display:flex}.nav-cta-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary-light);box-shadow:0 4px 12px var(--accent-primary-glow);transform:translateY(-1px)}.hero-section{z-index:10;text-align:center;box-sizing:border-box;flex-direction:column;align-items:center;max-width:800px;padding:80px 24px 60px;animation:.7s cubic-bezier(.16,1,.3,1) both slideUp;display:flex;position:relative}.hero-badge{color:var(--text-accent);background:#6c63ff1a;border:1px solid #6c63ff33;border-radius:50px;align-items:center;gap:6px;margin-bottom:24px;padding:6px 14px;font-size:.72rem;font-weight:600;display:flex;box-shadow:0 2px 8px #6c63ff0d}.badge-icon{animation:2.5s ease-in-out infinite float}.hero-title{letter-spacing:-.03em;color:var(--text-primary);margin-bottom:20px;font-size:2.6rem;font-weight:800;line-height:1.25}.hero-title span{background:linear-gradient(135deg,#a5a0ff 0%,#00d4aa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);max-width:680px;margin-bottom:36px;font-size:.95rem;line-height:1.6}.hero-cta-btn{background:var(--gradient-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);box-shadow:0 6px 20px var(--accent-primary-glow);border:none;align-items:center;gap:10px;padding:14px 28px;font-size:.95rem;font-weight:700;display:flex}.hero-cta-btn:hover{background:linear-gradient(135deg,#7c73ff 0%,#5d54ea 100%);transform:translateY(-2px);box-shadow:0 8px 24px #6c63ff80}.hero-cta-btn:active{transform:translateY(0)}.features-section{z-index:10;box-sizing:border-box;width:100%;max-width:1100px;padding:60px 24px;animation:.8s cubic-bezier(.16,1,.3,1) .15s both slideUp;position:relative}.section-title{text-align:center;letter-spacing:-.02em;margin-bottom:6px;font-size:1.6rem;font-weight:800}.section-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:44px;font-size:.85rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.feature-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-sizing:border-box;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all var(--transition-normal);background:#1e1e3073;flex-direction:column;align-items:flex-start;padding:30px 24px;display:flex}.feature-card:hover{box-shadow:var(--shadow-md), 0 0 20px #6c63ff1a;background:#23233a99;border-color:#6c63ff59;transform:translateY(-3px)}.feature-icon-wrapper{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:18px;display:flex}.purple-glow{color:#a5a0ff;background:#6c63ff1a;border:1px solid #6c63ff33}.red-glow{color:#ff738b;background:#ff4d6a1a;border:1px solid #ff4d6a33}.green-glow{color:#55ecd2;background:#00d4aa1a;border:1px solid #00d4aa33}.blue-glow{color:#7dd3fc;background:#38bdf81a;border:1px solid #38bdf833}.feature-title{color:var(--text-primary);margin-bottom:8px;font-size:1.05rem;font-weight:700}.feature-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.6}.steps-section{z-index:10;box-sizing:border-box;width:100%;max-width:900px;padding:60px 24px;animation:.8s cubic-bezier(.16,1,.3,1) .3s both slideUp;position:relative}.steps-timeline{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;margin-top:36px;display:grid;position:relative}.step-item{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.step-number{background:linear-gradient(135deg, var(--text-tertiary) 0%, #ffffff1a 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:2.2rem;font-weight:800;line-height:1}.step-title{color:var(--text-primary);margin-bottom:6px;font-size:.95rem;font-weight:700}.step-desc{color:var(--text-secondary);max-width:220px;font-size:.78rem;line-height:1.5}.landing-footer{z-index:10;border-top:1px solid var(--border-subtle);box-sizing:border-box;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:1100px;margin-top:40px;padding:60px 24px 0;display:flex;position:relative}.footer-shield{color:#00d4aa;background:#00d4aa0d;border:1px solid #00d4aa26;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:.72rem;font-weight:600;display:inline-flex}.footer-copyright{color:var(--text-tertiary);font-size:.72rem}@media (width<=768px){.hero-title{font-size:2rem}.landing-header{padding:20px 24px}.hero-section{padding:50px 20px 40px}}.app{background:var(--gradient-hero);flex-direction:column;min-height:100vh;display:flex;position:relative}.fade-in-view{animation:.4s ease-out both fadeIn}.app:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#6c63ff14 0%,#0000 70%);width:800px;height:500px;position:fixed;top:-200px;left:50%;transform:translate(-50%)}.app-header{z-index:1;text-align:center;padding:32px 24px 0;animation:.5s ease-out slideUp;position:relative}.app-logo{align-items:center;gap:12px;margin-bottom:8px;display:inline-flex}.app-logo-icon{border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;width:42px;height:42px;box-shadow:0 4px 16px var(--accent-primary-glow);justify-content:center;align-items:center;display:flex}.app-title{letter-spacing:-.02em;background:linear-gradient(135deg, var(--text-primary) 0%, var(--text-accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:800}.app-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:.9rem}.app-content{z-index:1;flex-direction:column;flex:1;gap:24px;width:100%;max-width:1400px;margin:0 auto;padding-bottom:40px;display:flex;position:relative}.toast{color:#fff;background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9999;opacity:0;transition:all var(--transition-spring);pointer-events:none;padding:12px 24px;font-size:.85rem;font-weight:500;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(100px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast-success{background:#00d4aa26;border-color:#00d4aa4d}.toast-error{background:#ff4d6a26;border-color:#ff4d6a4d}.loading-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9998;background:#0a0a0fb3;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.loading-content{text-align:center;color:var(--text-primary)}.loading-content .toolbar-spinner{border-width:3px;width:32px;height:32px;margin:0 auto 12px}.loading-content p{color:var(--text-secondary);font-size:.9rem}.modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9998;background:#06060aa6;justify-content:center;align-items:center;padding:20px;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg), 0 0 32px #0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#161623cc;border:1px solid #ffffff14;width:100%;max-width:400px;padding:28px;animation:.3s cubic-bezier(.34,1.56,.64,1) both fadeInScale;position:relative;overflow:hidden}.modal-card:before{content:"";background:var(--gradient-primary);height:3px;position:absolute;top:0;left:0;right:0}.modal-header{text-align:center}.modal-icon{border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin:0 auto 16px;display:flex}.modal-icon-lock{color:var(--accent-danger);background:#ff4d6a1a;border:1px solid #ff4d6a33}.modal-icon-plus{color:var(--accent-primary-light);background:#6c63ff1a;border:1px solid #6c63ff33}.modal-title{color:var(--text-primary);margin-bottom:6px;font-size:1.15rem;font-weight:700}.modal-subtitle{color:var(--text-secondary);margin-bottom:20px;font-size:.78rem;line-height:1.4}.modal-body{flex-direction:column;gap:16px;display:flex}.file-info-box{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05;align-items:center;gap:8px;padding:10px 14px;font-size:.78rem;display:flex}.file-info-label{color:var(--text-secondary);flex-shrink:0;font-weight:500}.file-info-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.password-input-wrapper{width:100%;position:relative}.modal-input{border:1px solid var(--border-medium);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:all var(--transition-fast);background:#00000040;outline:none;padding:11px 40px 11px 14px;font-family:inherit;font-size:.85rem}.modal-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}.modal-input.input-error{background:#ff4d6a08;border-color:#ff4d6a80}.modal-input.input-error:focus{border-color:var(--accent-danger);box-shadow:0 0 0 3px var(--accent-danger-glow)}.password-toggle-btn{color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--text-primary)}.modal-error-message{color:var(--accent-danger);margin-top:-8px;font-size:.72rem;animation:.15s ease-out fadeIn}.preview-overlay{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#06060ad1}.preview-modal-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg), 0 12px 48px #0009;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#12121cf2;border:1px solid #ffffff14;flex-direction:column;width:90vw;max-width:860px;max-height:90vh;animation:.3s cubic-bezier(.34,1.56,.64,1) both fadeInScale;display:flex;position:relative;overflow:hidden}.preview-modal-card:before{content:"";background:var(--gradient-primary);height:3px;position:absolute;top:0;left:0;right:0}.preview-modal-header{border-bottom:1px solid var(--border-subtle);background:#00000026;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.preview-title-info{flex:1;align-items:baseline;gap:12px;display:flex;overflow:hidden}.preview-page-number{color:var(--accent-primary-light);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;font-size:.9rem;font-weight:700}.preview-filename{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:500;overflow:hidden}.preview-close-btn{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:16px;padding:6px;display:flex}.preview-close-btn:hover{color:var(--text-primary);background:#ffffff0f;transform:rotate(90deg)}.preview-modal-body{background:#08080d;flex:1;justify-content:center;align-items:center;min-height:320px;padding:24px;display:flex;overflow:auto}.preview-canvas-wrapper{justify-content:center;align-items:center;max-width:100%;max-height:70vh;display:flex;position:relative}.preview-canvas{object-fit:contain;max-width:100%;max-height:70vh;box-shadow:var(--shadow-lg), 0 8px 32px #00000080;border-radius:var(--radius-sm);border:1px solid #ffffff0d}.preview-loading{color:var(--text-secondary);font-size:.85rem;animation:1.5s ease-in-out infinite pulse}.preview-empty-page-sheet{color:#1e1e2e;box-shadow:var(--shadow-lg), 0 8px 32px #0006;border-radius:var(--radius-md);text-align:center;box-sizing:border-box;background:#fff;border:1px solid #00000014;flex-direction:column;justify-content:center;align-items:center;max-width:90%;max-height:70vh;padding:40px;animation:.35s cubic-bezier(.34,1.56,.64,1) both fadeInScale;display:flex}.preview-empty-page-sheet .large-icon{color:#6c63ff;border-radius:var(--radius-md);background:#6c63ff14;border:1px solid #6c63ff26;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:16px;animation:3s ease-in-out infinite float;display:flex}.preview-empty-page-sheet .large-text{color:#111118;margin-bottom:6px;font-size:1.15rem;font-weight:800}.preview-empty-page-sheet .large-desc{color:#55556a;max-width:300px;font-size:.8rem;font-weight:500;line-height:1.5}.modal-footer{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.modal-btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;padding:10px 20px;font-family:inherit;font-size:.82rem;font-weight:600}.modal-btn-secondary{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0a}.modal-btn-secondary:hover{color:var(--text-primary);background:#ffffff14}.modal-btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px var(--accent-primary-glow)}.modal-btn-primary:hover:not(:disabled){box-shadow:0 6px 16px var(--accent-primary-glow);transform:translateY(-1px)}.modal-btn-primary:active:not(:disabled){transform:translateY(0)}.modal-btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}
