:root{--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-tertiary: #16213e;--bg-card: rgba(26, 26, 46, .8);--bg-glass: rgba(255, 255, 255, .05);--bg-glass-hover: rgba(255, 255, 255, .1);--text-primary: #e0e0ff;--text-secondary: #a0a0c0;--text-muted: #6a6a8a;--accent-primary: #6c63ff;--accent-primary-hover: #7e77ff;--accent-primary-glow: rgba(108, 99, 255, .3);--accent-secondary: #00d4aa;--accent-secondary-hover: #00e8bb;--accent-success: #00e676;--accent-danger: #ff5252;--accent-warning: #ffc107;--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--accent-primary-glow);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;background-image:radial-gradient(ellipse at 20% 50%,rgba(108,99,255,.06) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(0,212,170,.04) 0%,transparent 60%)}.app-header{background:#0f0f1ae6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);padding:16px 24px;position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:16px}.logo{display:flex;align-items:center;gap:10px;color:var(--accent-primary)}.logo h1{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:var(--text-muted);font-size:.85rem;font-weight:300}.header-nav{display:flex;gap:4px;margin-left:auto;background:var(--bg-glass);border-radius:var(--radius-md);padding:3px;border:1px solid var(--border-color)}.nav-link{padding:8px 16px;color:var(--text-secondary);text-decoration:none;font-size:.85rem;font-weight:500;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.nav-link:hover{color:var(--text-primary);background:var(--bg-glass-hover)}.nav-link.active{color:#fff;background:linear-gradient(135deg,var(--accent-primary),#8b5cf6)}.app-main{max-width:1400px;margin:0 auto;padding:24px}.upload-area{border:2px dashed var(--border-hover);border-radius:var(--radius-xl);padding:80px 40px;text-align:center;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-normal);cursor:pointer;position:relative;overflow:hidden}.upload-area:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#6c63ff0d,#00d4aa0d);opacity:0;transition:opacity var(--transition-normal)}.upload-area:hover,.upload-area.drag-over{border-color:var(--accent-primary);background:#6c63ff0d;box-shadow:var(--shadow-glow)}.upload-area:hover:before,.upload-area.drag-over:before{opacity:1}.upload-content{position:relative;z-index:1}.upload-icon{color:var(--text-muted);margin-bottom:20px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.upload-text{font-size:1.2rem;font-weight:500;color:var(--text-primary);margin-bottom:8px}.upload-subtext{color:var(--text-muted);margin-bottom:16px;font-size:.9rem}.upload-hint{color:var(--text-muted);font-size:.8rem;margin-top:16px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-md);font-family:var(--font-family);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),#8b5cf6);color:#fff;box-shadow:0 2px 12px #6c63ff4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px #6c63ff80}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-glass-hover);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:#ffffff26;border-color:var(--border-hover)}.btn-success{background:linear-gradient(135deg,var(--accent-success),var(--accent-secondary));color:#0a0a0a;font-weight:600;box-shadow:0 2px 12px #00e6764d}.btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 20px #00e67680}.btn-danger{background:#ff525226;color:var(--accent-danger);border:1px solid rgba(255,82,82,.3)}.btn-danger:hover{background:#ff525240}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-ghost:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-lg{padding:14px 28px;font-size:1rem;border-radius:var(--radius-lg)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.editor-area{animation:fadeIn var(--transition-slow)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.image-info-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:16px}.image-info{display:flex;gap:16px}.info-item{color:var(--text-secondary);font-size:.85rem;display:flex;align-items:center;gap:4px}.info-item:not(:last-child):after{content:"•";margin-left:16px;color:var(--text-muted)}.mode-tabs{display:flex;gap:4px;padding:4px;background:var(--bg-glass);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:16px}.mode-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-family);font-size:.9rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.mode-tab:hover{color:var(--text-primary);background:var(--bg-glass-hover)}.mode-tab.active{color:#fff;background:linear-gradient(135deg,var(--accent-primary),#8b5cf6);box-shadow:0 2px 10px #6c63ff4d}.editor-body{display:grid;grid-template-columns:1fr 340px;gap:16px;min-height:500px}.canvas-container{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;min-height:500px}#preview-canvas{max-width:100%;max-height:100%;display:block}.crop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair}.crop-box{position:absolute;border:2px solid var(--accent-primary);background:#6c63ff1a;cursor:move;transition:border-color var(--transition-fast)}.crop-box:hover{border-color:var(--accent-secondary)}.crop-box .crop-delete{position:absolute;top:-10px;right:-10px;width:20px;height:20px;background:var(--accent-danger);color:#fff;border:none;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast)}.crop-box:hover .crop-delete{opacity:1}.crop-box .crop-label{position:absolute;bottom:-22px;left:50%;transform:translate(-50%);background:var(--bg-secondary);color:var(--text-secondary);font-size:10px;padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap}.crop-box .resize-handle{position:absolute;width:10px;height:10px;background:var(--accent-primary);border:1px solid white;border-radius:2px}.crop-box .resize-handle.nw{top:-5px;left:-5px;cursor:nw-resize}.crop-box .resize-handle.ne{top:-5px;right:-5px;cursor:ne-resize}.crop-box .resize-handle.sw{bottom:-5px;left:-5px;cursor:sw-resize}.crop-box .resize-handle.se{bottom:-5px;right:-5px;cursor:se-resize}.settings-panel{display:flex;flex-direction:column;gap:16px}.settings-content{background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;animation:fadeIn var(--transition-normal)}.settings-content h3{font-size:1rem;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.setting-group{margin-bottom:16px}.setting-group label{display:block;color:var(--text-secondary);font-size:.85rem;font-weight:500;margin-bottom:8px}.setting-group input[type=number],.setting-group select{width:100%;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family);font-size:.9rem;transition:border-color var(--transition-fast)}.setting-group input[type=number]:focus,.setting-group select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6c63ff26}.input-stepper{display:flex;align-items:center;gap:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-color)}.input-stepper input{flex:1;text-align:center;border:none!important;border-radius:0!important;border-left:1px solid var(--border-color)!important;border-right:1px solid var(--border-color)!important}.stepper-btn{width:40px;height:40px;background:var(--bg-secondary);border:none;color:var(--text-primary);font-size:1.1rem;cursor:pointer;transition:background var(--transition-fast);display:flex;align-items:center;justify-content:center}.stepper-btn:hover{background:var(--accent-primary);color:#fff}input[type=range]{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-secondary);border-radius:3px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--accent-primary);border-radius:50%;cursor:pointer;box-shadow:0 0 6px var(--accent-primary-glow)}.range-value{display:inline-block;color:var(--accent-primary);font-size:.85rem;font-weight:600;margin-top:4px}.split-info{padding:12px 16px;background:#6c63ff14;border-radius:var(--radius-sm);border:1px solid rgba(108,99,255,.15);margin-top:8px}.split-info p{color:var(--text-secondary);font-size:.85rem;line-height:1.6}.split-info strong{color:var(--accent-primary)}.crop-info-text{color:#ffc800e6!important;font-size:.8rem!important;margin-top:4px}.crop-reset-btn{margin-top:10px;width:100%;justify-content:center;padding:8px 14px;font-size:.8rem}.btn-small{padding:6px 14px!important;font-size:.8rem!important}.mode-description{color:var(--text-secondary);font-size:.85rem;margin-bottom:16px;padding:10px;background:#00d4aa0f;border-radius:var(--radius-sm);border-left:3px solid var(--accent-secondary)}.line-list,.crop-list{max-height:200px;overflow-y:auto;margin-bottom:8px}.line-list::-webkit-scrollbar,.crop-list::-webkit-scrollbar{width:4px}.line-list::-webkit-scrollbar-thumb,.crop-list::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:2px}.line-item,.crop-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:4px;font-size:.85rem;color:var(--text-secondary)}.line-item .line-type{display:flex;align-items:center;gap:6px}.line-item .line-type-badge{padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.line-type-badge.horizontal{background:#6c63ff26;color:var(--accent-primary)}.line-type-badge.vertical{background:#00d4aa26;color:var(--accent-secondary)}.line-item .delete-line,.crop-item .delete-crop{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;transition:color var(--transition-fast)}.line-item .delete-line:hover,.crop-item .delete-crop:hover{color:var(--accent-danger)}.empty-hint{color:var(--text-muted);font-size:.85rem;text-align:center;padding:20px;font-style:italic}.splitline-buttons{display:flex;gap:8px;margin-bottom:16px}.splitline-buttons .btn{flex:1;justify-content:center}.export-section{background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.export-section h3{font-size:1rem;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.action-buttons{display:flex;flex-direction:column;gap:10px}.action-buttons .btn{justify-content:center;width:100%}.watermark-section{background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.switch{position:relative;display:inline-block;width:48px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-secondary);transition:.4s;border:1px solid var(--border-color)}.slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:var(--text-muted);transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--accent-primary);border-color:var(--accent-primary)}input:checked+.slider:before{transform:translate(24px);background-color:#fff}.slider.round{border-radius:24px}.watermark-options.hidden{display:none}.watermark-options{animation:fadeIn var(--transition-normal);border-top:1px solid var(--border-color);padding-top:16px}.radio-group{display:flex;gap:16px}.radio-group label{display:flex;align-items:center;gap:6px;cursor:pointer;margin:0!important;color:var(--text-primary)!important}.color-picker-wrapper{display:flex;align-items:center;gap:10px}.color-picker-wrapper input[type=color]{width:40px;height:40px;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:0;background:none}.color-picker-wrapper span{font-family:monospace;color:var(--text-secondary)}.file-name{display:block;margin-top:8px;font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.position-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:4px;width:120px;height:90px;background:var(--bg-secondary);padding:4px;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.pos-item{background:#ffffff0d;border-radius:2px;cursor:pointer;transition:all var(--transition-fast)}.pos-item:hover{background:#ffffff1a}.pos-item.active{background:var(--accent-primary);box-shadow:0 0 8px var(--accent-primary-glow)}.result-area{margin-top:24px;padding:20px;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-lg);animation:fadeIn var(--transition-slow)}.result-area h3{font-size:1rem;font-weight:600;margin-bottom:16px}.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.result-item{position:relative;background:var(--bg-secondary);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);transition:all var(--transition-fast);cursor:pointer}.result-item:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.result-item img{width:100%;aspect-ratio:1;object-fit:contain;background:repeating-conic-gradient(rgba(255,255,255,.05) 0% 25%,transparent 0% 50%) 0 0 / 20px 20px}.result-item .result-label{padding:6px 10px;font-size:.75rem;color:var(--text-muted);text-align:center}.result-item .result-download{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:0;transition:opacity var(--transition-fast);display:flex;align-items:center;justify-content:center}.result-item:hover .result-download{opacity:1}.progress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.progress-content{text-align:center}.spinner{width:48px;height:48px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}#progress-text{color:var(--text-primary);font-size:1rem;margin-bottom:16px}.progress-bar-container{width:240px;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden;margin:0 auto}.progress-bar{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:3px;width:0%;transition:width var(--transition-fast)}.splitline-handle{position:absolute;z-index:10}.splitline-handle.horizontal{left:0;right:0;height:3px;background:var(--accent-primary);cursor:ns-resize}.splitline-handle.horizontal:after{content:"";position:absolute;left:50%;top:-8px;transform:translate(-50%);width:30px;height:19px;background:var(--accent-primary);border-radius:4px;opacity:.8}.splitline-handle.vertical{top:0;bottom:0;width:3px;background:var(--accent-secondary);cursor:ew-resize}.splitline-handle.vertical:after{content:"";position:absolute;top:50%;left:-8px;transform:translateY(-50%);width:19px;height:30px;background:var(--accent-secondary);border-radius:4px;opacity:.8}.hidden{display:none!important}@media (max-width: 900px){.editor-body{grid-template-columns:1fr}.mode-tabs{flex-wrap:wrap}.mode-tab{flex:1 1 45%;font-size:.8rem;padding:10px 12px}.header-content{flex-direction:column;align-items:flex-start;gap:4px}}@media (max-width: 600px){.app-main{padding:12px}.upload-area{padding:40px 20px}.result-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}
