:root{--primary: #002e67;--primary-light: #004a9e;--primary-lighter: #e8f0fe;--accent: #f5a623;--accent-light: #fff3e0;--surface: #ffffff;--surface-alt: #f8f9fa;--text: #1a1a2e;--text-muted: #6b7280;--border: #e5e7eb;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px rgba(0,0,0,.05), 0 10px 15px rgba(0,0,0,.03);--shadow-lg: 0 10px 25px rgba(0,0,0,.08), 0 20px 40px rgba(0,0,0,.04);--shadow-xl: 0 20px 50px rgba(0,0,0,.12);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--transition: .2s cubic-bezier(.4, 0, .2, 1)}body.dark{--primary: #4da6ff;--primary-light: #7ab8ff;--primary-lighter: #0d1b2a;--accent: #f5a623;--accent-light: #2a2008;--surface: #111827;--surface-alt: #1f2937;--text: #f3f4f6;--text-muted: #9ca3af;--border: #374151;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 6px rgba(0,0,0,.4);--shadow-lg: 0 10px 25px rgba(0,0,0,.5);--shadow-xl: 0 20px 50px rgba(0,0,0,.6)}*{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--surface-alt);color:var(--text);transition:background-color .3s,color .3s;min-height:100vh;display:flex;flex-direction:column}.navbar{background:#ffffff!important;padding:.5rem 0;box-shadow:0 1px 3px #0000000d;border-bottom:1px solid var(--border)}.navbar-brand img{max-height:56px;width:auto;object-fit:contain;transition:opacity var(--transition)}.navbar-brand img:hover{opacity:.85}body.dark .navbar{background:linear-gradient(135deg,#0a1628 0%,#001a3d 100%)!important;border-bottom:none;box-shadow:var(--shadow-md)}.theme-toggle{position:fixed;top:12px;right:16px;z-index:1050;width:42px;height:42px;border-radius:50%;background:var(--surface);border:1.5px solid var(--border);color:var(--text-muted);font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm)}.theme-toggle:hover{transform:scale(1.1);border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow-md)}body.dark .theme-toggle{background:rgba(255,255,255,.12);border-color:#fff3;color:#fff}body.dark .theme-toggle:hover{background:rgba(255,255,255,.2);border-color:#ffffff59;color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),border-color var(--transition),background-color .3s}.card:hover{box-shadow:var(--shadow-md)}.card-header{background:var(--surface)!important;border-bottom:1px solid var(--border);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--primary)!important;padding:.75rem 1rem}body.dark .card-header{color:var(--primary)!important}.card-body{padding:1rem}.card-footer{background:var(--surface)!important;border-top:1px solid var(--border)}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius-sm);padding:1.5rem 1rem;text-align:center;cursor:pointer;transition:all var(--transition);position:relative;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:var(--surface);overflow:hidden}.drop-zone:hover{border-color:var(--primary);background:var(--primary-lighter)}.drop-zone.drag-over{border-color:var(--primary);border-style:solid;background:var(--primary-lighter);transform:scale(1.01)}.drop-zone .dz-icon{width:40px;height:40px;color:var(--text-muted);transition:color var(--transition),transform var(--transition)}.drop-zone:hover .dz-icon{color:var(--primary);transform:translateY(-2px)}.drop-zone .dz-title{font-weight:600;font-size:.9rem;color:var(--text);margin:0}.drop-zone .dz-subtitle{font-size:.78rem;color:var(--text-muted);margin:0}.drop-zone .dz-content{position:relative;z-index:2;transition:opacity .3s;pointer-events:none}.drop-zone.loaded .dz-content{opacity:0}.drop-zone .dz-badge{position:absolute;top:8px;right:8px;z-index:3;background:var(--primary);color:#fff;font-size:.65rem;font-weight:600;padding:3px 10px;border-radius:20px;opacity:0;transition:opacity .3s;pointer-events:none;box-shadow:0 2px 6px #00000026}.drop-zone .dz-badge.show{opacity:1}.drop-zone.loaded,.drop-zone.loaded:hover{background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}.drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:4}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;outline:none;background:var(--border);transition:background .2s;margin:0}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--primary) 0%,var(--primary) var(--fill, 50%),var(--border) var(--fill, 50%),var(--border) 100%)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--surface);border:2.5px solid var(--primary);cursor:pointer;margin-top:-6px;box-shadow:0 1px 4px #00000026;transition:transform var(--transition),box-shadow var(--transition)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 8px #0003}input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--border)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--surface);border:2.5px solid var(--primary);cursor:pointer;box-shadow:0 1px 4px #00000026}input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--primary)}.slider-value{font-size:.78rem;font-weight:600;color:var(--text-muted);min-width:48px;text-align:right}.slider-row{display:flex;align-items:center;gap:.75rem}.slider-row label{font-size:.82rem;font-weight:500;color:var(--text);min-width:80px;margin:0}.slider-row input[type=range]{flex:1}.form-select{font-size:.82rem;border-radius:var(--radius-sm);border-color:var(--border);background-color:var(--surface);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition)}.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #002e671f}body.dark .form-select option{background:var(--surface);color:var(--text)}.btn{font-weight:600;font-size:.85rem;padding:.5rem 1.25rem;border-radius:var(--radius-sm);transition:all var(--transition);display:inline-flex;align-items:center;gap:.5rem}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border:none;color:#fff;box-shadow:0 2px 8px #002e6740}.btn-primary:hover{box-shadow:0 4px 14px #002e6759;transform:translateY(-1px);color:#fff}body.dark .btn-primary{background:linear-gradient(135deg,#2563eb 0%,#3b82f6 100%);box-shadow:0 2px 8px #2563eb4d}body.dark .btn-primary:hover{box-shadow:0 4px 14px #2563eb73}.btn-outline-secondary{border:1.5px solid var(--border);color:var(--text-muted);background:transparent}.btn-outline-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-lighter)}.btn-ghost{border:none;background:transparent;color:var(--text-muted);padding:.35rem .6rem;border-radius:var(--radius-sm)}.btn-ghost:hover{background:var(--border);color:var(--text)}.canvas-wrapper{background:var(--surface-alt);border:2px solid var(--border);border-radius:var(--radius-sm);overflow:auto;position:relative;transition:border-color var(--transition);min-height:200px}.canvas-wrapper.drag-over{border-color:var(--primary);border-style:dashed;background:var(--primary-lighter)}canvas{display:block;margin:0 auto;border-radius:4px;transform-origin:top left;cursor:crosshair}.zoom-bar{display:flex;align-items:center;gap:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.25rem;box-shadow:var(--shadow-sm)}.zoom-bar button{border:none;background:transparent;width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:all var(--transition);font-size:1rem;line-height:1}.zoom-bar button:hover{background:var(--border);color:var(--text)}.zoom-bar .zoom-label{font-size:.75rem;font-weight:600;min-width:40px;text-align:center;color:var(--text-muted);user-select:none}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:.6rem;font-size:.85rem;font-weight:500;color:var(--text);animation:toastIn .35s cubic-bezier(.16,1,.3,1);max-width:360px}.toast.removing{animation:toastOut .25s ease-in forwards}.toast .toast-icon{width:20px;height:20px;flex-shrink:0}.toast.toast-success{border-left:3px solid #10b981}.toast.toast-success .toast-icon{color:#10b981}.toast.toast-error{border-left:3px solid #ef4444}.toast.toast-error .toast-icon{color:#ef4444}.toast.toast-info{border-left:3px solid var(--primary)}.toast.toast-info .toast-icon{color:var(--primary)}@keyframes toastIn{0%{opacity:0;transform:translate(40px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(40px) scale(.95)}}footer{margin-top:auto;background:var(--surface);border-top:1px solid var(--border);padding:1rem 0;text-align:center;font-size:.82rem;color:var(--text-muted);transition:background-color .3s,border-color .3s}.form-control{background:var(--surface);border:1.5px solid var(--border);color:var(--text);border-radius:var(--radius-sm);font-size:.85rem;transition:border-color var(--transition),box-shadow var(--transition)}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #002e671a;background:var(--surface);color:var(--text)}.form-control::placeholder{color:var(--text-muted);opacity:.6}.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}.form-label,.form-check-label{font-size:.82rem;font-weight:500;color:var(--text)}.manual-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.82rem;font-weight:500;color:var(--text-muted);user-select:none;padding:.35rem 0;transition:color var(--transition)}.manual-toggle:hover{color:var(--text)}.manual-toggle .toggle-track{width:36px;height:20px;border-radius:10px;background:var(--border);position:relative;transition:background var(--transition);flex-shrink:0}.manual-toggle .toggle-track .toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform var(--transition)}.manual-toggle.active .toggle-track{background:var(--primary)}.manual-toggle.active .toggle-track .toggle-knob{transform:translate(16px)}body.dark .manual-toggle .toggle-track .toggle-knob{background:#e0e0e0}.collapse-panel{overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .25s;max-height:0;opacity:0}.collapse-panel.open{max-height:200px;opacity:1}.step-label{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--text-muted);margin-bottom:.5rem}.step-label .step-num{width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .4s ease-out both}.animate-in-d1{animation-delay:.05s}.animate-in-d2{animation-delay:.1s}.animate-in-d3{animation-delay:.15s}.animate-in-d4{animation-delay:.2s}.color-picker-wrap{display:flex;align-items:center;gap:.5rem}.color-picker-wrap input[type=color]{width:36px;height:36px;padding:2px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;background:none;flex-shrink:0}.color-picker-wrap .color-hex{font-size:.78rem;font-weight:500;color:var(--text-muted);font-family:Inter,monospace}#qualityGroup{transition:opacity .2s,max-height .2s}#qualityGroup.hidden{display:none!important}.form-check-input{width:1.1em;height:1.1em;margin-top:.15em;cursor:pointer}.form-check{margin:0}@media (max-width: 992px){.drop-zone{min-height:110px;padding:1rem}}@media (max-width: 576px){.theme-toggle{top:8px;right:8px;width:36px;height:36px;font-size:1rem}.slider-row{flex-wrap:wrap;gap:.4rem}.slider-row label{min-width:60px;font-size:.78rem}.btn{font-size:.8rem;padding:.4rem 1rem}.drop-zone{min-height:90px;padding:.75rem}.drop-zone .dz-icon{width:28px;height:28px}.drop-zone .dz-title{font-size:.8rem}.drop-zone .dz-subtitle{display:none}}
