.app{display:grid;grid-template-rows:48px 1fr;width:100%;height:100%;font-family:Nunito,sans-serif;color:#fff;background:#000}.toolbar{display:flex;align-items:center;gap:8px;padding:0 16px;background:#0a0a0a;border-bottom:1px solid #1a1a1a}.logo{font-weight:700;font-size:14px;color:#fff;letter-spacing:.5px;margin-right:8px}.toolbar-divider{width:1px;height:24px;background:#1a1a1a;margin:0 4px}.toolbar-btn{padding:4px 10px;border:1px solid #222;border-radius:4px;background:transparent;color:#aaa;font-family:Nunito,sans-serif;font-size:12px;cursor:pointer;white-space:nowrap}.toolbar-btn:hover:not(:disabled){background:#1a1a1a;color:#fff}.toolbar-btn:disabled{opacity:.35;cursor:default}.toolbar-zoom{font-size:11px;color:#666;min-width:40px;text-align:center}.workspace{display:grid;grid-template-columns:40px 1fr 280px;overflow:hidden}.canvas-area{position:relative;overflow:hidden;background:#000}.canvas-element{display:block;width:100%;height:100%;cursor:crosshair}.sidebar{display:flex;flex-direction:column;background:#0a0a0a;border-left:1px solid #1a1a1a;overflow-y:auto}.sidebar-section{padding:12px 16px;border-bottom:1px solid #1a1a1a}.sidebar-section h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#666;margin-bottom:8px}.sidebar-empty{font-size:12px;color:#444}.layer-list{display:flex;flex-direction:column;gap:2px}.layer-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:12px}.layer-item:hover{background:#ffffff0d}.layer-item--active{background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.layer-visibility{background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:0;line-height:1}.layer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ccc}.layer-controls{display:flex;align-items:center;gap:4px}.layer-opacity{width:50px;height:4px;accent-color:#fff}.layer-btn{background:none;border:none;color:#555;cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.layer-btn:hover{color:#ccc}.layer-btn--delete:hover{color:#ff6b6b}.pattern-repeat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:12px}.pattern-repeat-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:1px solid #1a1a1a;border-radius:4px;background:transparent;color:#666;cursor:pointer;font-family:Nunito,sans-serif;font-size:10px}.pattern-repeat-btn:hover{border-color:#333;color:#ccc}.pattern-repeat-btn--active{border-color:#fff;background:#ffffff14;color:#fff}.pattern-repeat-icon{font-size:18px}.pattern-repeat-label{white-space:nowrap}.pattern-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.pattern-field{display:flex;align-items:center;gap:6px}.pattern-field label{font-size:11px;color:#666;min-width:65px}.pattern-field input[type=number]{width:70px;padding:3px 6px;border:1px solid #1a1a1a;border-radius:3px;background:#000;color:#ccc;font-family:Nunito,sans-serif;font-size:12px}.pattern-field input[type=range]{flex:1;accent-color:#fff}.pattern-unit{font-size:10px;color:#444}.pattern-toggles{display:flex;flex-direction:column;gap:6px}.pattern-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:#999;cursor:pointer}.pattern-toggle input[type=checkbox]{accent-color:#fff}.color-extract{display:flex;gap:6px;margin-bottom:12px}.color-count-select{padding:4px 6px;border:1px solid #1a1a1a;border-radius:3px;background:#000;color:#ccc;font-family:Nunito,sans-serif;font-size:12px}.color-btn{padding:4px 10px;border:1px solid #222;border-radius:4px;background:transparent;color:#aaa;font-family:Nunito,sans-serif;font-size:12px;cursor:pointer;white-space:nowrap}.color-btn:hover{background:#1a1a1a;color:#fff}.color-btn--small{padding:2px 8px;font-size:11px}.palette-section{margin-bottom:12px}.palette-swatches{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.palette-swatch-wrapper{display:flex;flex-direction:column;align-items:center;gap:2px}.palette-swatch{width:28px;height:28px;border-radius:4px;border:2px solid transparent;cursor:pointer}.palette-swatch:hover{border-color:#fff}.palette-swatch--locked{border-color:#ff6b6b}.palette-lock{background:none;border:none;font-size:10px;cursor:pointer;padding:0;line-height:1}.color-picker-inline{display:flex;align-items:center;gap:8px;padding:8px;background:#111;border-radius:4px;margin-bottom:8px}.color-picker-label{display:flex;align-items:center;gap:6px;font-size:11px;color:#999}.color-picker-label input[type=color]{width:32px;height:24px;border:none;border-radius:3px;cursor:pointer;background:none}.colorway-section{margin-top:8px}.colorway-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.colorway-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#666}.colorway-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.colorway-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:12px}.colorway-item:hover{background:#ffffff0d}.colorway-item--active{background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.colorway-preview{display:flex;gap:1px}.colorway-preview-swatch{width:12px;height:12px;border-radius:2px}.colorway-name{flex:1;color:#ccc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-controls{margin-top:8px}.batch-label{font-size:11px;color:#666;display:block;margin-bottom:4px}.batch-buttons{display:flex;gap:4px;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#0a0a0a;border:1px solid #1a1a1a;border-radius:8px;padding:24px;min-width:400px;max-width:600px;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header h2{font-size:16px;font-weight:600;color:#fff}.modal-close{background:none;border:none;color:#666;font-size:20px;cursor:pointer}.modal-close:hover{color:#fff}.modal-actions{display:flex;gap:8px;margin-bottom:16px}.modal-loading{font-size:13px;color:#666;text-align:center;padding:16px}.project-grid{display:flex;flex-direction:column;gap:6px}.project-card{display:flex;align-items:center;padding:10px 12px;border:1px solid #1a1a1a;border-radius:6px;cursor:pointer}.project-card:hover{border-color:#333;background:#ffffff08}.project-card-body{flex:1}.project-card-name{font-size:13px;color:#ccc;font-weight:500}.project-card-date{font-size:11px;color:#555;margin-top:2px}.ai-input-group{display:flex;gap:6px;margin-bottom:8px}.ai-mood-input{flex:1;padding:6px 8px;border:1px solid #1a1a1a;border-radius:4px;background:#000;color:#ccc;font-family:Nunito,sans-serif;font-size:12px}.ai-mood-input::placeholder{color:#444}.ai-buttons{display:flex;gap:6px;margin-bottom:8px}.ai-error{font-size:11px;color:#ff6b6b;margin-bottom:8px}.ai-suggestions{display:flex;flex-direction:column;gap:6px}.ai-suggestion-card{padding:8px;border:1px solid #1a1a1a;border-radius:4px;cursor:pointer}.ai-suggestion-card:hover{border-color:#fff;background:#ffffff08}.ai-suggestion-swatches{display:flex;gap:2px;margin-bottom:4px}.ai-suggestion-swatch{flex:1;height:20px;border-radius:2px}.ai-suggestion-info{display:flex;flex-direction:column;gap:2px}.ai-suggestion-name{font-size:11px;font-weight:600;color:#ccc}.ai-suggestion-desc{font-size:10px;color:#666}.tool-palette{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;background:#0a0a0a;border-right:1px solid #1a1a1a;overflow-y:auto}.tool-palette-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid transparent;border-radius:4px;background:transparent;color:#888;cursor:pointer;font-size:14px;padding:0}.tool-palette-btn:hover{background:#ffffff14;color:#ccc}.tool-palette-btn--active{background:#ffffff1f;border-color:#ffffff40;color:#fff}.tool-palette-icon{font-size:16px;line-height:1}.tool-colors{display:flex;align-items:center;gap:6px;margin-bottom:10px}.tool-color-swatch{display:flex;align-items:center;gap:4px;cursor:pointer}.tool-color-swatch input[type=color]{width:28px;height:28px;border:1px solid #333;border-radius:4px;cursor:pointer;background:none;padding:0}.tool-color-label{font-size:10px;color:#666;text-transform:uppercase}.tool-swap-btn{background:none;border:1px solid #222;border-radius:3px;color:#666;cursor:pointer;font-size:12px;padding:2px 4px;line-height:1}.tool-swap-btn:hover{color:#ccc;border-color:#444}.tool-option{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.tool-option label{font-size:11px;color:#888}.tool-option input[type=range]{width:100%;accent-color:#fff}.tool-shape-modes{display:flex;gap:4px}.tool-shape-mode-btn{flex:1;padding:3px 0;border:1px solid #222;border-radius:3px;background:transparent;color:#666;font-family:Nunito,sans-serif;font-size:11px;cursor:pointer;text-transform:capitalize}.tool-shape-mode-btn:hover{border-color:#444;color:#ccc}.tool-shape-mode-btn--active{border-color:#ffffff4d;background:#ffffff1a;color:#fff}.color-btn--active{background:#ffffff1f;border-color:#ffffff4d;color:#fff}.seam-controls{margin-bottom:8px}.seam-feather{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.seam-ai{margin-bottom:8px}.seam-analysis{margin-top:8px;padding:8px;background:#111;border-radius:4px}.seam-score{font-size:12px;color:#ccc;margin-bottom:4px}.seam-score strong{color:#fff}.seam-summary{font-size:11px;color:#888;margin-bottom:8px}.seam-issue{padding:6px 8px;border-radius:3px;margin-bottom:4px;border-left:3px solid #444}.seam-issue--low{border-left-color:#4a4}.seam-issue--medium{border-left-color:#ca3}.seam-issue--high{border-left-color:#f55}.seam-issue-edge{font-size:11px;font-weight:600;color:#ccc;margin-right:6px;text-transform:capitalize}.seam-issue-severity{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.5px}.seam-issue-desc{font-size:11px;color:#777;margin-top:2px}.sep-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.sep-palette{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.sep-color-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:3px;font-size:11px}.sep-color-row:hover{background:#ffffff0d}.sep-color-name{flex:1;color:#ccc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sep-color-hex{color:#666;font-size:10px;font-family:monospace}.sep-pantone{font-size:10px;color:#888;background:#1a1a1a;padding:1px 4px;border-radius:2px}.sep-actions{display:flex;gap:6px}
