@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary: #0f0f14;--bg-secondary: #16161e;--bg-tertiary: #1c1c28;--bg-glass: rgba(30, 30, 45, .7);--bg-glass-hover: rgba(40, 40, 60, .8);--border-color: rgba(100, 100, 150, .15);--border-active: rgba(120, 100, 255, .4);--text-primary: #e8e8f0;--text-secondary: #9090a8;--text-muted: #606078;--accent: #7c5cfc;--accent-hover: #9178ff;--accent-glow: rgba(124, 92, 252, .25);--danger: #ff4d6a;--danger-hover: #ff6b82;--success: #34d399;--warning: #fbbf24;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 2px 8px rgba(0,0,0,.3);--shadow-md: 0 4px 20px rgba(0,0,0,.4);--shadow-lg: 0 8px 40px rgba(0,0,0,.5);--transition: .2s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6464964d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#64649680}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw}.header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:56px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;z-index:100}.header-left{display:flex;align-items:center;gap:12px}.logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px;letter-spacing:-.5px}.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--accent),#a78bfa);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;box-shadow:0 2px 10px var(--accent-glow)}.header-actions{display:flex;align-items:center;gap:8px}.toolbar{display:flex;align-items:center;padding:0 16px;height:48px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);gap:4px;flex-shrink:0;overflow-x:auto}.toolbar-divider{width:1px;height:28px;background:var(--border-color);margin:0 8px}.toolbar-group{display:flex;align-items:center;gap:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-glass);color:var(--text-primary);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn:hover{background:var(--bg-glass-hover);border-color:var(--border-active);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0)}.btn-icon{padding:7px;min-width:34px;min-height:34px}.btn-icon svg{font-size:16px}.btn-primary{background:linear-gradient(135deg,var(--accent),#9178ff);border-color:transparent;color:#fff;box-shadow:0 2px 12px var(--accent-glow)}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-hover),#a58bff);border-color:transparent;box-shadow:0 4px 20px var(--accent-glow)}.btn-danger{color:var(--danger)}.btn-danger:hover{background:#ff4d6a1a;border-color:#ff4d6a4d}.btn.active{background:#7c5cfc26;border-color:var(--accent);color:var(--accent-hover);box-shadow:0 0 12px var(--accent-glow)}.btn-sm{padding:4px 10px;font-size:12px}.workspace{display:flex;flex:1;overflow:hidden}.sidebar{width:180px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:12px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.sidebar-pages{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.page-thumb{position:relative;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:all var(--transition);overflow:hidden;background:var(--bg-tertiary)}.page-thumb:hover{border-color:#7c5cfc4d;transform:scale(1.02)}.page-thumb.active{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.page-thumb canvas{width:100%;height:auto;display:block}.page-thumb-label{position:absolute;bottom:4px;right:4px;background:#000000b3;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.page-thumb-actions{position:absolute;top:4px;right:4px;display:flex;gap:2px;opacity:0;transition:opacity var(--transition)}.page-thumb:hover .page-thumb-actions{opacity:1}.page-thumb-btn{width:22px;height:22px;border-radius:4px;border:none;background:#000000b3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all var(--transition);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.page-thumb-btn:hover{background:var(--accent)}.page-thumb-btn.delete:hover{background:var(--danger)}.page-thumb.dragging{opacity:.4;transform:scale(.95)}.page-thumb.drag-over{border-color:var(--success);box-shadow:0 0 12px #34d3994d}.canvas-area{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:30px;background:radial-gradient(circle at 50% 50%,rgba(124,92,252,.03) 0%,transparent 60%),var(--bg-primary);position:relative}.canvas-wrapper{position:relative;box-shadow:var(--shadow-lg);border-radius:4px;overflow:visible}.canvas-wrapper canvas{display:block;border-radius:4px}.crop-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:crosshair;z-index:10}.crop-selection{position:absolute;border:2px dashed var(--accent);background:#7c5cfc1a;pointer-events:none;z-index:11;box-shadow:0 0 0 9999px #0006}.crop-actions{position:absolute;bottom:-44px;left:50%;transform:translate(-50%);display:flex;gap:6px;pointer-events:all;z-index:12}.reposition-item{position:absolute;border:2px solid var(--success);cursor:move;z-index:15;box-shadow:0 0 12px #34d39933;transition:box-shadow .15s}.reposition-item:hover,.reposition-item.dragging{box-shadow:0 0 20px #34d39966}.reposition-item img{display:block;width:100%;height:100%;pointer-events:none}.reposition-item-actions{position:absolute;top:-32px;right:0;display:flex;gap:4px}.text-annotation{position:absolute;z-index:15;cursor:move}.text-annotation input{background:transparent;border:1px dashed rgba(124,92,252,.5);color:#000;font-family:Inter,sans-serif;outline:none;padding:2px 4px;min-width:80px;border-radius:2px}.text-annotation input:focus{border-color:var(--accent)}.text-annotation-actions{position:absolute;top:-28px;right:0;display:flex;gap:3px}.modal-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px;min-width:420px;max-width:560px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .25s ease}.modal h2{font-size:18px;font-weight:600;margin-bottom:16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;gap:20px}.dropzone-area{width:460px;max-width:90%;padding:60px 40px;border:2px dashed var(--border-color);border-radius:var(--radius-lg);background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;cursor:pointer;transition:all var(--transition)}.dropzone-area:hover,.dropzone-area.drag-active{border-color:var(--accent);background:#7c5cfc0f;box-shadow:0 0 40px var(--accent-glow);transform:scale(1.01)}.dropzone-icon{font-size:48px;color:var(--accent);margin-bottom:16px}.dropzone-title{font-size:20px;font-weight:600;margin-bottom:8px}.dropzone-sub{font-size:14px;color:var(--text-secondary)}.zoom-controls{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:6px 10px;z-index:50}.zoom-label{font-size:12px;font-weight:500;color:var(--text-secondary);min-width:40px;text-align:center}.toast-container{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:8px}.toast{padding:10px 20px;border-radius:var(--radius-md);background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);color:var(--text-primary);font-size:13px;font-weight:500;box-shadow:var(--shadow-md);animation:slideUp .3s ease;display:flex;align-items:center;gap:8px}.toast.success{border-color:var(--success)}.toast.error{border-color:var(--danger)}.toast.info{border-color:var(--accent)}.file-list{display:flex;flex-direction:column;gap:6px;margin:12px 0}.file-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:13px}.file-item-name{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.split-range{display:flex;align-items:center;gap:8px;margin:12px 0}.split-range input{width:60px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:13px;text-align:center}.split-range input:focus{outline:none;border-color:var(--accent)}.split-range label{font-size:13px;color:var(--text-secondary)}.text-size-control{display:flex;align-items:center;gap:6px;margin-left:8px}.text-size-control label{font-size:12px;color:var(--text-secondary)}.text-size-control input[type=number]{width:52px;padding:4px 6px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:12px;text-align:center}.text-size-control input[type=number]:focus{outline:none;border-color:var(--accent)}.text-color-picker{width:28px;height:28px;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:0;cursor:pointer;background:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.no-pdf{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.page-info{font-size:13px;color:var(--text-secondary);font-weight:500}.landing-container{position:relative;width:100vw;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.landing-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(124,92,252,.12) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(16,185,129,.1) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(124,92,252,.03) 0%,transparent 70%);animation:bgPulse 8s ease-in-out infinite alternate}@keyframes bgPulse{0%{opacity:.8}to{opacity:1}}.landing-content{position:relative;z-index:1;text-align:center;max-width:860px;padding:0 24px}.landing-header{margin-bottom:48px}.landing-title{font-size:48px;font-weight:700;letter-spacing:-1.5px;margin-bottom:12px}.landing-title-gradient{background:linear-gradient(135deg,var(--accent),#a78bfa,var(--success));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-subtitle{font-size:16px;color:var(--text-secondary);max-width:480px;margin:0 auto;line-height:1.6}.landing-cards{display:flex;gap:24px;justify-content:center}.landing-card{position:relative;width:380px;padding:36px 28px 28px;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:left;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.landing-card:hover{transform:translateY(-6px);border-color:var(--border-active);box-shadow:var(--shadow-lg)}.landing-card-glow{position:absolute;top:-40%;left:-20%;width:140%;height:100%;border-radius:50%;opacity:0;transition:opacity .4s;pointer-events:none}.landing-card:hover .landing-card-glow{opacity:1}.landing-card-glow-purple{background:radial-gradient(circle,rgba(124,92,252,.08) 0%,transparent 60%)}.landing-card-glow-emerald{background:radial-gradient(circle,rgba(16,185,129,.08) 0%,transparent 60%)}.landing-card-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:18px;box-shadow:0 4px 16px #0000004d}.landing-card-title{font-size:22px;font-weight:600;margin-bottom:8px;letter-spacing:-.3px}.landing-card-desc{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:16px}.landing-card-features{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.landing-card-features span{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;background:var(--bg-tertiary);border-radius:20px;color:var(--text-secondary);border:1px solid var(--border-color)}.landing-card-cta{font-size:14px;font-weight:600;color:var(--accent);transition:color var(--transition)}.landing-card:nth-child(2) .landing-card-cta{color:var(--success)}.landing-card:hover .landing-card-cta{color:var(--accent-hover)}.landing-card:nth-child(2):hover .landing-card-cta{color:#6ee7b7}.landing-footer{margin-top:40px;font-size:13px;color:var(--text-muted)}.img-panel{width:240px;background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:16px;flex-shrink:0;overflow-y:auto}.img-panel h3{font-size:14px;font-weight:600;margin-bottom:14px;letter-spacing:-.2px}.img-input{width:80px;padding:5px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:13px;text-align:center}.img-input:focus{outline:none;border-color:var(--accent)}@media(max-width:800px){.landing-cards{flex-direction:column;align-items:center}.landing-card{width:100%;max-width:380px}.landing-title{font-size:36px}}
