.tattoo-upload{margin-bottom:20px}.tattoo-upload h3{margin-bottom:10px;font-size:16px;font-weight:600}.upload-button{width:100%;padding:10px 16px;background:#4a90e2;color:#fff;border:none;border-radius:4px 4px 0 0;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.upload-button:hover{background:#357abd}.upload-button.pending{background:#e27d4a;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.upload-hint{margin-top:8px;font-size:12px;color:#666;text-align:center}.image-preview-section{padding:16px 0}.image-preview-section h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#1a1a1a}.image-preview-section .primary-action button{background-color:#28a745}.tool-hint{margin:0 0 16px;font-size:13px;color:#666;line-height:1.4}.preview-images{display:flex;gap:12px;margin-bottom:16px;overflow-x:auto;padding-bottom:8px}.preview-item{display:flex;flex-direction:column;align-items:center;min-width:80px}.preview-img{width:80px;height:80px;object-fit:contain;border:2px solid #e5e7eb;border-radius:8px;background:linear-gradient(45deg,#f3f4f6 25%,transparent 25%),linear-gradient(-45deg,#f3f4f6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f3f4f6 75%),linear-gradient(-45deg,transparent 75%,#f3f4f6 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px}.preview-label{margin-top:6px;font-size:11px;font-weight:500;color:#6b7280;text-align:center}.background-removal-tools{margin-bottom:16px}.tool-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-bottom:12px}.tool-btn{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.tool-btn:disabled{opacity:.5;cursor:not-allowed}.tool-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.tool-btn.white-bg{background:#f8fafc;border-color:#e2e8f0;color:#374151}.tool-btn.light-bg{background:#fef3c7;border-color:#fbbf24;color:#92400e}.tool-btn.aggressive{background:#fee2e2;border-color:#f87171;color:#dc2626}.processing-indicator{display:flex;align-items:center;justify-content:center;padding:8px;background:#f3f4f6;border-radius:6px;font-size:12px;color:#6b7280}.processing-indicator span{animation:processingPulse 1.5s infinite}@keyframes processingPulse{0%,to{opacity:.6}50%{opacity:1}}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.action-btn{padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.original{background:#f3f4f6;color:#374151;border-color:#d1d5db}.action-btn.original:not(:disabled):hover{background:#e5e7eb}.action-btn.processed{background:#10b981;color:#fff;border-color:#10b981}.action-btn.processed:not(:disabled):hover{background:#059669}.action-btn.cancel{background:#ef4444;color:#fff;border-color:#ef4444}.action-btn.cancel:not(:disabled):hover{background:#dc2626}@media (max-width: 768px){.tattoo-upload h3{display:none}.mobile-drawer.add-drawer .tattoo-upload h3{display:block;margin-bottom:12px;font-size:15px}.image-preview-section h4{margin:0 0 4px;font-size:13px;font-weight:500}.tool-hint{margin:0 0 8px;font-size:11px;line-height:1.3}.preview-images{margin-bottom:8px;padding-bottom:4px}.background-removal-tools,.tool-buttons{margin-bottom:8px}.processing-indicator{padding:4px;font-size:11px}.action-buttons{gap:6px}.action-btn{padding:8px 12px;font-size:11px}}@media (min-width: 769px){.controls-panel .upload-button{border-radius:4px 4px 0 0!important}.controls-panel .upload-hint{margin:0;padding:8px 16px;background:#f8f9fa;border:1px solid #e9ecef;border-top:none;border-radius:0 0 4px 4px}.image-preview-section{max-width:280px}.preview-images{justify-content:center;gap:8px}.preview-item{min-width:60px}.preview-img{width:60px;height:60px}.tool-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:0 auto 12px}.tool-btn{flex:1;min-width:calc(50% - 3px);padding:8px;font-size:11px}.action-buttons{display:flex;flex-direction:column;gap:6px;max-width:220px;margin:0 auto}.action-btn{padding:8px 12px;font-size:12px}.tool-hint{font-size:12px;text-align:center}.processing-indicator{font-size:11px;padding:6px}}.tattoo-controls{padding:0;border-bottom:1px solid #e0e0e0}.tattoo-header{padding:0 0 12px;border-bottom:2px solid #e0e0e0;margin-bottom:16px}.tattoo-header-label{font-size:12px;color:#666;margin-bottom:6px}.tattoo-name-input{width:100%;padding:8px 12px;border:2px solid #ddd;border-radius:6px;font-size:16px;font-weight:500;background:#fafafa}.tattoo-name-input::placeholder{color:#999}.control-group{margin-bottom:16px}.control-label{font-size:13px;font-weight:500;margin-bottom:8px;display:block}.control-label-large{font-size:13px;font-weight:500;margin-bottom:6px;display:block}.move-control-group{margin-bottom:16px}.move-button{width:100%;padding:12px 16px;font-size:14px;font-weight:500;border:2px solid #3498db;background:#3498db;color:#fff;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.move-button:hover{background:#2980b9;border-color:#2980b9}.move-status{width:100%;padding:12px 16px;font-size:14px;font-weight:500;border:2px solid #e74c3c;background:#e74c3c;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.move-cancel-button{width:100%;padding:8px 12px;font-size:12px;font-weight:500;border:1px solid #95a5a6;background:#95a5a6;color:#fff;border-radius:4px;cursor:pointer;transition:all .2s}.move-cancel-button:hover{background:#7f8c8d;border-color:#7f8c8d}.move-hint{font-size:11px;color:#666;margin-top:8px;text-align:center}.scale-buttons{display:flex;align-items:center;gap:6px;justify-content:center}.scale-button{width:32px;height:32px;border-radius:4px;cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0;transition:all .2s}.scale-button-large-decrease{border:1px solid #e74c3c;background:#e74c3c;color:#fff;font-size:14px}.scale-button-large-decrease:hover{background:#c0392b;border-color:#c0392b}.scale-button-small{border:1px solid #ddd;background:#fff;color:#333;font-size:18px}.scale-button-small:hover{background:#f5f5f5;border-color:#bbb}.scale-button-large-increase{border:1px solid #27ae60;background:#27ae60;color:#fff;font-size:14px}.scale-button-large-increase:hover{background:#229954;border-color:#229954}.scale-value{min-width:60px;text-align:center;font-size:14px;font-weight:500}.scale-warning{font-size:11px;color:#ff6b6b;margin-top:6px}.rotation-slider{width:100%;height:6px;background:#ddd;border-radius:3px;outline:none;-webkit-appearance:none;cursor:pointer}.rotation-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:#4a90e2;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0003}.rotation-slider::-moz-range-thumb{width:20px;height:20px;background:#4a90e2;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.mirror-controls{display:flex;gap:12px}.mirror-checkbox{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.mirror-checkbox input{margin:0}.opacity-slider{width:100%;height:6px;background:#ddd;border-radius:3px;outline:none;-webkit-appearance:none;cursor:pointer}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:#4a90e2;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0003}.opacity-slider::-moz-range-thumb{width:20px;height:20px;background:#4a90e2;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.delete-section{margin-top:24px;padding-top:16px;border-top:2px solid #e0e0e0}.delete-button{width:100%;padding:12px;background:#e74c3c;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #e74c3c4d}.delete-button:hover{background:#c0392b;box-shadow:0 4px 8px #e74c3c66}.delete-description{font-size:11px;color:#666;margin-top:8px;text-align:center}.mobile-nav-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-nav-bar{position:fixed;bottom:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.1);display:flex;justify-content:space-around;align-items:center;padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:1001;box-shadow:0 -4px 20px #0000001a}.nav-button{display:flex;flex-direction:column;align-items:center;background:none;border:none;padding:8px 12px;cursor:pointer;transition:all .2s ease;position:relative;min-width:50px}.nav-button:not(.disabled):active{transform:scale(.95)}.nav-button.disabled{opacity:.3;cursor:not-allowed}.nav-button.active{color:#3b82f6}.nav-icon{font-size:20px;margin-bottom:2px}.nav-icon-large{font-size:28px;font-weight:700;color:#fff}.nav-label{font-size:10px;font-weight:500;color:#666;margin-top:2px}.nav-button.active .nav-label{color:#3b82f6}.nav-badge{position:absolute;top:4px;right:8px;background:#3b82f6;color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:10px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center}.center-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;width:56px;height:56px;margin:-8px 0;box-shadow:0 4px 16px #3b82f666;transform:translateY(-8px)}.center-button.active{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-8px) scale(1.05)}.mobile-drawer{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:16px 16px 0 0;max-height:45vh;z-index:1000;animation:slideUp .3s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.mobile-drawer.add-drawer{max-height:70vh}.mobile-drawer.edit-drawer{max-height:35vh}@keyframes slideUp{0%{transform:translateY(100%);opacity:.8}to{transform:translateY(0);opacity:1}}.mobile-drawer.slide-out{animation:slideOut .2s cubic-bezier(.55,.085,.68,.53)}@keyframes slideOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:.8}}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px 10px;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:16px 16px 0 0}.drawer-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.close-button{background:#f3f4f6;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#6b7280;cursor:pointer;transition:all .2s ease}.close-button:hover{background:#e5e7eb;color:#374151}.drawer-content{padding:12px 16px;overflow-y:auto;flex:1}.mobile-button-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:6px;margin-bottom:12px}.mobile-button-grid-2x2{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;margin-bottom:8px}.action-btn{padding:10px 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.action-btn:disabled{opacity:.5;cursor:not-allowed;background:#f9fafb}.action-btn:not(:disabled):active{transform:scale(.98)}.action-btn.save{background:#8b5cf6;color:#fff;border-color:#8b5cf6}.action-btn.load{background:#f59e0b;color:#fff;border-color:#f59e0b}.action-btn.danger{background:#ef4444;color:#fff;border-color:#ef4444}.mobile-tattoo-list{margin-top:8px}.layer-info{font-size:11px;color:#6b7280;margin-bottom:8px;text-align:center}.mobile-tattoo-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;margin:6px 0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s ease}.mobile-tattoo-item:active{transform:scale(.98)}.mobile-tattoo-item.selected{background:#3b82f6;color:#fff;border-color:#3b82f6}.tattoo-name{font-size:14px;font-weight:500;flex:1}.layer-controls{display:flex;gap:4px;align-items:center}.layer-btn{width:28px;height:28px;border:1px solid #d1d5db;background:#fff;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.layer-btn.edit-btn{background:#3b82f6;color:#fff;border-color:#3b82f6}.layer-btn.edit-btn:active{background:#2563eb}.layer-btn:disabled{opacity:.3;cursor:not-allowed}.mobile-tattoo-item.selected .layer-btn{border-color:#ffffff4d;background:#ffffff1a;color:#fff}.settings-section{margin-bottom:16px}.settings-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#111827}.mobile-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px}.preset-btn{padding:10px 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.preset-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.toggle-btn{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.toggle-btn.active{background:#10b981;color:#fff;border-color:#10b981}.toggle-btn.roadmap-btn{background:#3b82f6;color:#fff;border-color:#3b82f6}.toggle-btn.roadmap-btn:not(:disabled):hover{background:#2563eb;border-color:#2563eb}.empty-state{text-align:center;padding:24px 16px;color:#6b7280}.empty-state p{margin:0;font-size:14px;font-style:italic}.upload-hint{padding:12px;background:#dbeafe;border:1px solid #93c5fd;border-radius:0 0 8px 8px;text-align:center}.upload-hint p{margin:0;color:#1e40af;font-size:14px;font-weight:500}.profile-info{margin-top:20px;padding:16px;background:#f9fafb;border-radius:8px;text-align:center}.profile-info p{margin:0;color:#6b7280;font-size:14px}@media (max-width: 768px){.drawer-header{padding:8px 12px 6px}.drawer-header h3{font-size:14px;font-weight:500}.drawer-content{padding:8px 12px}.mobile-drawer.add-drawer .drawer-header{padding:12px 16px 10px}.mobile-drawer.add-drawer .drawer-header h3{font-size:16px;font-weight:600}.mobile-drawer.add-drawer .drawer-content{padding:12px 16px}.close-button{width:24px;height:24px;font-size:16px}.mobile-button-grid-2x2{margin-bottom:6px}.mobile-button-grid{margin-bottom:8px}.mobile-tattoo-list{margin-top:6px}.layer-info{margin-bottom:6px;font-size:10px}.mobile-tattoo-item{padding:10px 12px;margin:4px 0}.settings-section{margin-bottom:12px}.settings-section h4{margin:0 0 6px;font-size:13px}.empty-state{padding:16px 12px}.empty-state p{font-size:13px}.upload-hint{padding:8px;margin-top:12px}.upload-hint p{font-size:13px;margin:0}}
