@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary: #f5f5f5;--bg-canvas: #e8e8e8;--bg-panel: #ffffff;--bg-toolbar: #ffffff;--bg-input: #f0f0f0;--bg-hover: #f5f5f5;--bg-active: #ede9fe;--bg-chip: #f3f0ff;--bg-user-msg: #7c3aed;--bg-ai-msg: #ffffff;--bg-overlay: rgba(0, 0, 0, .02);--text-primary: #1a1a1a;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-on-primary: #ffffff;--text-accent: #7c3aed;--accent: #7c3aed;--accent-hover: #6d28d9;--accent-light: #ede9fe;--accent-glow: rgba(124, 58, 237, .15);--border: #e5e7eb;--border-light: #f0f0f0;--border-focus: #7c3aed;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .08);--shadow-glow: 0 0 20px rgba(124, 58, 237, .12);--toolbar-width: 52px;--chat-width: 380px;--header-height: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--bg-tertiary: #f9fafb;--primary: var(--accent)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;overscroll-behavior-x:none}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;border:none;background:none;cursor:pointer;outline:none}input,textarea{font-family:inherit;border:none;outline:none}.app{display:flex;flex-direction:column;height:100vh;width:100vw}.header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 12px 0 16px;background:var(--bg-panel);border-bottom:1px solid var(--border);z-index:100;flex-shrink:0}.header-left{display:flex;align-items:center;gap:10px}.project-icon{width:28px;height:28px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#7c3aed,#a78bfa);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px}.project-name{font-size:14px;font-weight:500;color:var(--text-primary);background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px 8px;outline:none;width:140px;transition:all .2s;font-family:inherit}.project-name:hover{border-color:var(--border)}.project-name:focus{border-color:var(--accent);background:var(--bg-input);box-shadow:0 0 0 2px var(--accent-glow)}.header-center{display:flex;align-items:center;gap:4px;background:var(--bg-input);border-radius:var(--radius-full);padding:4px 8px}.zoom-btn{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:14px;transition:var(--transition-fast)}.zoom-btn:hover{background:var(--bg-panel);color:var(--text-primary)}.zoom-level{font-size:12px;font-weight:500;color:var(--text-secondary);min-width:40px;text-align:center;user-select:none}.header-right{display:flex;align-items:center;gap:4px}.header-action{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:var(--transition-fast)}.header-action:hover{background:var(--bg-hover);color:var(--text-primary)}.header-action svg{width:18px;height:18px}.main{display:flex;flex:1;overflow:hidden}.toolbar{width:var(--toolbar-width);background:var(--bg-panel);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:10px 0;gap:2px;flex-shrink:0;z-index:50}.tool-btn{width:38px;height:38px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:var(--transition-fast);position:relative}.tool-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tool-btn.disabled{opacity:.4;cursor:not-allowed}.tool-btn.disabled:hover{background:transparent;color:var(--text-secondary)}.tool-btn.active{background:var(--bg-active);color:var(--accent)}.tool-btn svg{width:20px;height:20px}.tool-btn .tooltip{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:4px 10px;background:var(--text-primary);color:var(--text-on-primary);border-radius:var(--radius-sm);font-size:11px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:var(--transition-fast);z-index:200}.tool-btn:hover .tooltip{opacity:1}.toolbar-divider{width:24px;height:1px;background:var(--border);margin:6px 0}.tool-btn-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.shape-menu{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%) scale(.9);background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:var(--radius-md);padding:6px;display:flex;gap:4px;opacity:0;pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:200}.shape-menu.visible{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)}.shape-menu-item{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:var(--transition-fast)}.shape-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.shape-menu-item svg{width:20px;height:20px}.canvas-container{flex:1;position:relative;overflow:hidden;background:var(--bg-canvas);overscroll-behavior-x:none;touch-action:pan-y}.canvas-bg{position:absolute;inset:0;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:24px 24px;opacity:.5;pointer-events:none}.canvas{position:absolute;width:3000px;height:3000px;transform-origin:0 0}.canvas-container.tool-pen{cursor:crosshair}.canvas-zoom-controls{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-full);padding:3px 4px;box-shadow:var(--shadow-md);z-index:200;pointer-events:auto}.canvas-zoom-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:var(--text-secondary);transition:var(--transition-fast);cursor:pointer;background:none;border:none}.canvas-zoom-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.canvas-item{position:absolute;cursor:move;user-select:none;border-radius:var(--radius-md);overflow:visible;transition:box-shadow var(--transition-fast)}.canvas-item img{border-radius:var(--radius-md)}.item-info-label{position:absolute;bottom:0;left:50%;transform:translate(-50%) translateY(calc(100% + 6px));transform-origin:top center;text-align:center;font-size:10px;font-weight:500;color:var(--text-secondary);background:#ffffffd9;backdrop-filter:blur(4px);padding:2px 8px;border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:var(--transition-fast);pointer-events:none}.canvas-item.selected .item-info-label{opacity:1}.canvas-item:hover{outline:2px solid #f43f5e;outline-offset:2px;border-radius:var(--radius-md);box-shadow:none}.canvas-item.hover-highlight{outline:2px solid #f43f5e;outline-offset:2px;border-radius:var(--radius-md)}.canvas-item.selected{box-shadow:0 0 0 2px var(--accent),var(--shadow-lg)}.canvas-item img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.canvas-item .resize-handle{position:absolute;width:10px;height:10px;background:var(--accent);border:2px solid white;border-radius:2px;z-index:10}.canvas-item .resize-handle.nw{top:-5px;left:-5px;cursor:nw-resize}.canvas-item .resize-handle.ne{top:-5px;right:-5px;cursor:ne-resize}.canvas-item .resize-handle.sw{bottom:-5px;left:-5px;cursor:sw-resize}.canvas-item .resize-handle.se{bottom:-5px;right:-5px;cursor:se-resize}.canvas-item .delete-btn{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:var(--radius-full);background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;opacity:0;transition:var(--transition-fast);z-index:10}.canvas-item.selected .delete-btn{opacity:1}.canvas-item .delete-btn:hover{background:#ef4444}.drop-overlay{position:absolute;inset:0;background:#7c3aed0f;border:2px dashed var(--accent);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:200;opacity:0;pointer-events:none;transition:var(--transition-normal)}.drop-overlay.active{opacity:1}.drop-overlay svg{width:48px;height:48px;color:var(--accent)}.drop-overlay span{font-size:15px;font-weight:500;color:var(--accent)}.panel-resizer{width:4px;cursor:col-resize;background:transparent;position:relative;z-index:60;flex-shrink:0}.panel-resizer:after{content:"";position:absolute;inset:0 -2px;transition:var(--transition-fast)}.panel-resizer:hover:after{background:var(--accent);opacity:.3}.chat-panel{width:var(--chat-width);background:var(--bg-panel);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;min-width:280px;max-width:600px;transition:width .3s ease,margin .3s ease}.chat-panel.collapsed{width:0;margin-left:-1px;overflow:hidden}.chat-panel.collapsed .chat-header,.chat-panel.collapsed .chat-messages,.chat-panel.collapsed .chat-input-container{display:none}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-light);flex-shrink:0}.chat-title{font-size:14px;font-weight:600;color:var(--text-primary)}.chat-header-actions{display:flex;gap:2px}.chat-header-btn{width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:var(--transition-fast)}.chat-header-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-header-btn svg{width:16px;height:16px}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}.message{display:flex;flex-direction:column;gap:6px;max-width:100%;animation:messageIn .3s var(--transition-spring)}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{align-items:flex-end}.message.ai{align-items:flex-start}.message-bubble{padding:10px 14px;border-radius:var(--radius-lg);font-size:13.5px;line-height:1.5;max-width:90%;word-wrap:break-word}.message.user .message-bubble{background:var(--bg-user-msg);color:var(--text-on-primary);border-bottom-right-radius:4px}.message.ai .message-bubble{background:var(--bg-ai-msg);color:var(--text-primary);border:1px solid var(--border-light);border-bottom-left-radius:4px}.message-bubble ul,.message-bubble ol{padding-left:18px;margin-top:4px}.message-bubble li{margin-bottom:3px;font-size:13px}.message-bubble li::marker{color:var(--accent)}.typing-indicator{display:flex;align-items:center;gap:4px;padding:12px 16px}.typing-indicator span{width:6px;height:6px;border-radius:var(--radius-full);background:var(--text-tertiary);animation:typingBounce 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:0 4px}.suggestion-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:var(--bg-chip);border:1px solid transparent;border-radius:var(--radius-full);font-size:12px;font-weight:500;color:var(--text-accent);cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.suggestion-chip:hover{background:var(--accent-light);border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.suggestion-chip .chip-emoji{font-size:13px}.chat-followup{padding:8px 4px 0;font-size:12.5px;color:var(--text-secondary);line-height:1.5}.chat-input-area{padding:10px 12px 12px;border-top:1px solid var(--border-light);flex-shrink:0}.chat-input-wrapper{display:flex;align-items:flex-end;gap:6px;background:var(--bg-input);border-radius:var(--radius-lg);padding:8px 10px 8px 44px;border:1px solid transparent;transition:var(--transition-fast);position:relative}.chat-input-wrapper:focus-within{border-color:var(--accent);background:var(--bg-panel);box-shadow:var(--shadow-glow)}.chat-input{flex:1;min-height:80px;max-height:140px;background:none;font-size:13px;color:var(--text-primary);line-height:1.5;overflow-y:auto;overflow-x:hidden;word-wrap:break-word;white-space:pre-wrap;outline:none;padding:8px 0}.chat-input::placeholder{color:var(--text-tertiary)}.input-action-btn{width:24px;height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:var(--transition-fast);position:absolute;left:10px;opacity:.6;z-index:10}#attachBtn{bottom:44px}#styleTransferBtn{bottom:14px}.chat-input-wrapper:hover .input-action-btn,.chat-input-wrapper:focus-within .input-action-btn{opacity:1}.input-action-btn:hover{color:var(--text-secondary);background:var(--bg-hover)}.input-action-btn svg{width:16px;height:16px}.agent-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-light);transition:var(--transition-fast)}.agent-btn:hover{background:var(--accent);color:#fff;box-shadow:var(--shadow-glow)}.agent-btn svg{width:14px;height:14px}.send-btn{width:30px;height:30px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;transition:var(--transition-fast);opacity:.4;pointer-events:none}.send-btn.active{opacity:1;pointer-events:auto}.send-btn.active:hover{background:var(--accent-hover);transform:scale(1.05);box-shadow:var(--shadow-glow)}.send-btn svg{width:16px;height:16px}.status-bar{height:28px;display:flex;align-items:center;padding:0 12px;background:var(--bg-panel);border-top:1px solid var(--border);gap:12px;flex-shrink:0}.status-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-tertiary)}.status-dot{width:6px;height:6px;border-radius:var(--radius-full);background:#22c55e}.status-item svg{width:12px;height:12px}.context-menu{position:fixed;min-width:160px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:4px;z-index:1000;display:none}.context-menu.visible{display:block;animation:ctxIn .15s ease-out}@keyframes ctxIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:var(--radius-sm);font-size:12.5px;color:var(--text-primary);cursor:pointer;transition:var(--transition-fast)}.context-menu-item:hover{background:var(--bg-hover)}.context-menu-item.danger{color:#ef4444}.context-menu-item.danger:hover{background:#fef2f2}.context-menu-divider{height:1px;background:var(--border-light);margin:4px 8px}.hidden-input{display:none}.empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none;opacity:.6}.empty-state svg{width:56px;height:56px;color:var(--text-tertiary)}.empty-state-title{font-size:15px;font-weight:600;color:var(--text-secondary)}.empty-state-desc{font-size:13px;color:var(--text-tertiary);text-align:center;max-width:260px;line-height:1.5}.option-bar{position:absolute;display:none;align-items:center;gap:2px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-full);padding:4px 8px;box-shadow:var(--shadow-lg);z-index:300;white-space:nowrap;pointer-events:auto;opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease}.option-bar.visible{display:flex;opacity:1;transform:translateY(0)}.option-bar.fading{opacity:0;transform:translateY(-4px);transition:opacity .5s ease,transform .5s ease}.option-bar-color-picker{display:flex;align-items:center;padding:0 4px}.color-picker-preview{width:24px;height:24px;border-radius:50%;border:2px solid var(--border);cursor:pointer;position:relative;overflow:hidden;transition:transform .15s,border-color .15s;box-shadow:0 1px 3px #00000026}.color-picker-preview:hover{transform:scale(1.15);border-color:var(--primary)}.color-wheel-input{position:absolute;top:-4px;left:-4px;width:32px;height:32px;border:none;padding:0;cursor:pointer;opacity:0}.option-bar-upscale{display:flex;align-items:center;gap:2px}.option-bar-select{padding:4px 6px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:11px;font-weight:600;cursor:pointer;outline:none;transition:var(--transition-fast)}.option-bar-select:hover{border-color:var(--primary)}.option-bar-btn{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;color:var(--text-secondary);transition:var(--transition-fast);white-space:nowrap}.option-bar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.option-bar-delete:hover{background:#ef44441a;color:#ef4444}.option-bar-btn svg{flex-shrink:0}.option-bar-divider{width:1px;height:20px;background:var(--border);margin:0 2px}#selectionMarquee{position:absolute;border:1.5px dashed var(--accent);background:#7a61ff14;pointer-events:none;z-index:999;display:none;border-radius:2px}.shape-preview{position:absolute;border:2px dashed var(--accent);background:#7c3aed1a;pointer-events:none;z-index:999;display:none}.shape-preview.circle{border-radius:50%}.shape-preview.rect{border-radius:4px}.shape-preview.triangle,.shape-preview.hexagon,.shape-preview.diamond,.shape-preview.star{border:none;background:#7c3aed66}.shape-preview.triangle{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.shape-preview.hexagon{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.shape-preview.diamond{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.shape-preview.star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.crop-overlay{position:absolute;inset:0;z-index:500;display:none;cursor:crosshair}.crop-overlay.active{display:block}.crop-dim{position:absolute;background:#00000080;pointer-events:none}.crop-region{position:absolute;border:2px solid white;box-shadow:0 0 0 9999px #00000080;cursor:move;z-index:2}.crop-region:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.3) 1px,transparent 1px);background-size:33.33% 33.33%;pointer-events:none}.crop-handle{position:absolute;width:12px;height:12px;background:#fff;border:2px solid var(--accent);border-radius:2px;z-index:3}.crop-handle.nw{top:-6px;left:-6px;cursor:nw-resize}.crop-handle.ne{top:-6px;right:-6px;cursor:ne-resize}.crop-handle.sw{bottom:-6px;left:-6px;cursor:sw-resize}.crop-handle.se{bottom:-6px;right:-6px;cursor:se-resize}.crop-actions{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10}.crop-action-btn{padding:8px 20px;border-radius:var(--radius-full);font-size:13px;font-weight:600;transition:var(--transition-fast);cursor:pointer}.crop-action-btn.cancel{background:#ffffffe6;color:var(--text-primary);border:1px solid var(--border)}.crop-action-btn.cancel:hover{background:#fff}.crop-action-btn.apply{background:var(--accent);color:#fff;border:none}.crop-action-btn.apply:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow)}.crop-size-label{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);padding:2px 8px;background:#000000b3;color:#fff;font-size:10px;font-weight:500;border-radius:var(--radius-sm);white-space:nowrap;z-index:4}.skill-chips{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px;gap:16px}.skill-chips-title{font-size:14px;font-weight:600;color:var(--text-primary)}.skill-chips-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.skill-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-primary);color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.skill-chip:hover{border-color:var(--accent);background:var(--accent-light);color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.skill-chip svg{opacity:.6;flex-shrink:0}.skill-chip:hover svg{opacity:1;stroke:var(--accent)}.canvas-item.pen-item{border:none;box-shadow:none;background:transparent;overflow:visible}.canvas-item.pen-item.selected{outline:2px dashed var(--accent);outline-offset:4px;border-radius:0}.canvas-item.shape-item{border:none;box-shadow:none}.canvas-item.shape-item .shape-body{width:100%;height:100%;border-radius:0}.canvas-item.shape-item .shape-body.circle{border-radius:50%}.canvas-item.shape-item .shape-body.rect{border-radius:4px}.canvas-item.shape-item .shape-body.triangle{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.canvas-item.shape-item .shape-body.hexagon{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.canvas-item.shape-item .shape-body.diamond{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.canvas-item.shape-item .shape-body.star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.canvas-item.text-item{border:none;box-shadow:none;background:transparent;min-width:60px;min-height:30px}.canvas-item.text-item .text-body{width:100%;height:100%;font-size:20px;font-weight:500;color:var(--text-primary);outline:none;cursor:move;word-break:break-word;padding:4px 8px;background:transparent;border:none;font-family:inherit}.canvas-item.text-item .text-body:focus{cursor:text;background:#ffffff80;border-radius:var(--radius-sm)}.canvas-item.text-item.selected{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.canvas-item.text-item .text-body[data-placeholder]:empty:before{content:attr(data-placeholder);color:var(--text-tertiary);pointer-events:none}.modal-overlay{position:fixed;inset:0;background:#0006;backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:9999}.modal-overlay.active{display:flex}.modal{background:var(--bg-primary);border-radius:16px;box-shadow:0 20px 60px #00000026;width:440px;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalIn .25s ease}@keyframes modalIn{0%{transform:scale(.95) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .15s}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:20px;overflow-y:auto;flex:1}.setting-group{margin-bottom:20px}.setting-group:last-child{margin-bottom:0}.setting-label{font-size:13px;font-weight:600;color:var(--text-primary);display:block;margin-bottom:4px}.setting-desc{font-size:12px;color:var(--text-secondary);margin:0 0 10px}.setting-desc a{color:var(--accent);text-decoration:none}.setting-desc a:hover{text-decoration:underline}.setting-input-row{display:flex;gap:8px}.setting-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;background:var(--bg-input);color:var(--text-primary);outline:none;transition:border-color .2s}.setting-input:focus{border-color:var(--accent)}.setting-save-btn{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:background .2s;font-family:inherit}.setting-save-btn:hover{background:var(--accent-hover)}.setting-status{font-size:12px;margin-top:8px;min-height:16px}.setting-status.success{color:#10b981}.setting-status.error{color:#ef4444}.setting-info{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.setting-info code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-size:11px;color:var(--accent)}.message-bubble p{margin:0 0 8px}.message-bubble p:last-child{margin-bottom:0}.message-bubble strong{font-weight:600}.message-bubble ul,.message-bubble ol{margin:4px 0;padding-left:20px}.message-bubble li{margin-bottom:2px}.message-bubble code{background:var(--bg-tertiary);padding:1px 4px;border-radius:3px;font-size:12px}.canvas-item.processing{position:relative;pointer-events:none}.canvas-item.processing:before{content:"";position:absolute;inset:0;background:#7c3aed26;border-radius:var(--radius-md);z-index:10}.canvas-item.processing:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:3px solid var(--surface-3);border-top-color:var(--primary);border-radius:50%;animation:processing-spin 1s linear infinite;z-index:11}@keyframes processing-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.ai-image-preview{max-width:200px;max-height:200px;border-radius:var(--radius-md);margin-top:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;border:2px solid var(--surface-3)}.ai-image-preview:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}[data-theme=dark] .ai-image-preview{border-color:var(--surface-2)}.msg-feedback-row{display:flex;align-items:center;gap:4px;margin-top:4px;padding:2px 0;flex-wrap:wrap}.msg-feedback-btn{background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:14px;padding:2px 6px;opacity:.4;transition:opacity .2s,background .2s,border-color .2s}.msg-feedback-btn:hover:not(:disabled){opacity:1;background:var(--bg-input);border-color:var(--border-light)}.msg-feedback-btn.selected{opacity:1!important}.msg-feedback-btn:disabled{cursor:default}.msg-fb-positive.selected{background:#dcfce7;border-color:#86efac}.msg-fb-negative.selected{background:#fef2f2;border-color:#fca5a5}.msg-feedback-status{font-size:11px;color:var(--text-secondary);margin-left:4px}.brain-memory-lessons{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.brain-lesson-card{background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;padding:8px 10px;font-size:12px;position:relative}.brain-lesson-card .lesson-type{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--accent);margin-bottom:2px}.brain-lesson-card .lesson-text{color:var(--text-primary);line-height:1.4}.brain-lesson-card .lesson-meta{font-size:9px;color:var(--text-secondary);margin-top:4px;display:flex;gap:8px}.brain-lesson-card .lesson-delete{position:absolute;top:4px;right:6px;background:none;border:none;font-size:12px;cursor:pointer;opacity:.3;transition:opacity .2s}.brain-lesson-card .lesson-delete:hover{opacity:1;color:#ef4444}[data-theme=dark] .canvas-item.processing:before{background:#8b5cf633}.ai-error{color:#ef4444;font-size:12px;padding:6px 10px;background:#fef2f2;border-radius:var(--radius-sm);border-left:3px solid #ef4444}.ai-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.ai-status-dot.connected{background:#10b981}.ai-status-dot.disconnected{background:#ef4444}.canvas-item.artboard{background:#fff;box-shadow:0 4px 24px #00000014;border:1px solid var(--border);z-index:0}.canvas-item.artboard .artboard-label{position:absolute;top:-24px;left:0;font-size:11px;font-weight:500;color:var(--text-secondary);white-space:nowrap;pointer-events:none}.canvas-item.artboard.selected{box-shadow:0 0 0 2px var(--accent),0 8px 30px #0000001f}.canvas-item.artboard.selected .artboard-label{color:var(--accent);font-weight:600}.option-bar-inputs{display:flex;align-items:center;gap:8px;padding:0 8px;border-left:1px solid var(--border);margin-left:4px}.option-input-group{display:flex;align-items:center;gap:4px}.option-input-label{font-size:11px;font-weight:600;color:var(--text-tertiary)}.option-input{width:48px;background:var(--bg-input);border:1px solid transparent;border-radius:4px;padding:4px 6px;font-size:12px;color:var(--text-primary);text-align:center;transition:all .2s}.option-input:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.option-input::-webkit-inner-spin-button,.option-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.layer-panel-floating{position:absolute;left:60px;bottom:20px;width:260px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:400px;z-index:95;transition:var(--transition-normal);overflow:hidden}.layer-panel-floating.show{display:flex}.layer-panel-header{display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--bg-panel);border-bottom:1px solid var(--border-light);height:48px;flex-shrink:0}.layer-panel-title{font-size:13px;font-weight:600;color:var(--text-primary)}.layer-panel-close{width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.layer-panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.layer-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.layer-list::-webkit-scrollbar{width:4px}.layer-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}.layer-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;user-select:none;transition:background .1s;border:1px solid transparent}.layer-item:hover{background:var(--bg-hover)}.layer-item.selected{background:var(--bg-active);color:var(--accent)}.layer-item.dragging{opacity:.5;background:var(--bg-hover)}.layer-item.drag-over-top{border-top-color:var(--accent)}.layer-item.drag-over-bottom{border-bottom-color:var(--accent)}.layer-item-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex-shrink:0}.layer-item.selected .layer-item-icon{color:var(--accent)}.layer-item-name{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.layer-item:hover .layer-item-name{color:var(--text-primary)}.layer-item.selected .layer-item-name{color:var(--accent);font-weight:500}.layer-item-drag-handle{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);cursor:grab;opacity:0;transition:opacity .1s}.layer-item:hover .layer-item-drag-handle,.layer-item.selected .layer-item-drag-handle{opacity:1}.layer-item-drag-handle:active{cursor:grabbing}.layer-item-lock{width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary)}.layer-item-lock:hover{color:var(--text-primary);opacity:1!important}.canvas-item.hover-highlight{outline:2px solid #fb7185}.canvas-item.locked{pointer-events:none;opacity:.9}[data-theme=dark]{--bg-primary: #1a1a2e;--bg-canvas: #16213e;--bg-panel: #1e1e32;--bg-toolbar: #1e1e32;--bg-input: #2a2a45;--bg-hover: #2a2a45;--bg-active: #2d1b69;--bg-chip: #2d1b69;--bg-user-msg: #7c3aed;--bg-ai-msg: #252540;--bg-overlay: rgba(0, 0, 0, .3);--text-primary: #e4e4ef;--text-secondary: #9ca3b8;--text-tertiary: #6b7194;--text-on-primary: #ffffff;--text-accent: #a78bfa;--accent: #7c3aed;--accent-hover: #9061f9;--accent-light: #2d1b69;--accent-glow: rgba(124, 58, 237, .25);--border: #2e2e4a;--border-light: #252540;--border-focus: #7c3aed;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(124, 58, 237, .2);--bg-tertiary: #252540;--primary: var(--accent)}[data-theme=dark] .canvas-bg{background-image:radial-gradient(circle,#3a3a5c 1px,transparent 1px)}[data-theme=dark] .canvas-item.artboard{background:#252540;border-color:#3a3a5c}[data-theme=dark] .context-menu-item.danger:hover{background:#ef444426}[data-theme=dark] .color-swatch{box-shadow:inset 0 0 0 1px #ffffff26}[data-theme=dark] .crop-action-btn.cancel{background:#1e1e32e6;color:var(--text-primary);border-color:var(--border)}[data-theme=dark] .setting-input{background:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .option-input:focus{background:var(--bg-input)}.toast-container{position:fixed;top:16px;right:16px;z-index:99999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:13px;color:var(--text-primary);pointer-events:auto;opacity:0;transform:translate(100%);transition:all .3s cubic-bezier(.34,1.56,.64,1);max-width:340px}.toast-visible{opacity:1;transform:translate(0)}.toast-exit{opacity:0;transform:translate(100%);transition:all .25s ease-in}.toast-icon{flex-shrink:0;display:flex;align-items:center}.toast-message{flex:1;line-height:1.4}.toast-success{border-left:3px solid #10b981}.toast-success .toast-icon{color:#10b981}.toast-error{border-left:3px solid #ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left:3px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left:3px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6}.model-attribution{display:inline-flex;align-items:center;gap:2px;margin-top:8px;padding:3px 8px;border-radius:4px;background:#f0f0f0;color:#666;font-size:11px;line-height:1.3}.model-attribution-model{font-size:9px;opacity:.75}[data-theme=dark] .model-attribution{background:#ffffff14;color:var(--text-secondary)}.setting-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.toggle-switch{position:relative;width:44px;height:24px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:all .2s;flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:all .2s;box-shadow:0 1px 3px #0003}.toggle-switch.active{background:var(--accent);border-color:var(--accent)}.toggle-switch.active:after{left:22px}.template-categories{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.template-cat-btn{padding:6px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border);cursor:pointer;transition:var(--transition-fast)}.template-cat-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.template-cat-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.template-card{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:var(--transition-fast);background:var(--bg-panel)}.template-card:hover{border-color:var(--accent);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.template-card-preview{height:100px;display:flex;align-items:center;justify-content:center;font-size:36px;background:var(--bg-input)}.template-card-info{padding:10px}.template-card-name{font-size:13px;font-weight:600;color:var(--text-primary)}.template-card-size{font-size:11px;color:var(--text-secondary);margin-top:2px}.brandkit-panel{position:fixed;left:calc(var(--toolbar-width) + 8px);top:calc(var(--header-height) + 8px);width:260px;max-height:calc(100vh - var(--header-height) - 60px);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:200;overflow-y:auto}.brandkit-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-panel);z-index:1}.brandkit-title{font-size:14px;font-weight:600;color:var(--text-primary)}.brandkit-close{width:24px;height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:18px;cursor:pointer}.brandkit-close:hover{background:var(--bg-hover);color:var(--text-primary)}.brandkit-body{padding:12px 14px}.brandkit-section{margin-bottom:16px}.brandkit-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:8px}.brandkit-colors{display:flex;gap:6px;flex-wrap:wrap}.brandkit-color-swatch{width:36px;height:36px;border-radius:var(--radius-sm);cursor:pointer;border:2px solid transparent;transition:var(--transition-fast);position:relative}.brandkit-color-swatch:hover{border-color:var(--accent);transform:scale(1.1)}.brandkit-color-swatch:after{content:attr(data-hex);position:absolute;bottom:-18px;left:50%;transform:translate(-50%);font-size:9px;color:var(--text-tertiary);white-space:nowrap;opacity:0;transition:opacity .15s}.brandkit-color-swatch:hover:after{opacity:1}.brandkit-fonts{display:flex;flex-direction:column;gap:6px}.brandkit-font-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-input);border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:var(--transition-fast)}.brandkit-font-item:hover{background:var(--bg-active)}.brandkit-font-label{font-size:10px;color:var(--text-tertiary);text-transform:uppercase}.brandkit-action-btn{width:100%;padding:8px 12px;margin-top:8px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border);cursor:pointer;transition:var(--transition-fast);text-align:center}.brandkit-action-btn:hover{background:var(--bg-active);border-color:var(--accent)}.brandkit-harmonies{display:flex;flex-direction:column;gap:8px}.brandkit-harmony-row{display:flex;gap:4px;align-items:center}.brandkit-harmony-label{font-size:10px;color:var(--text-tertiary);width:60px;flex-shrink:0}.brandkit-harmony-swatches{display:flex;gap:3px;flex:1}.brandkit-harmony-swatch{width:24px;height:24px;border-radius:4px;cursor:pointer;border:1px solid rgba(0,0,0,.1);transition:var(--transition-fast)}.brandkit-harmony-swatch:hover{transform:scale(1.2)}.brandkit-logo-preview{width:100%;max-height:80px;object-fit:contain;border-radius:var(--radius-sm);margin-top:8px;cursor:pointer}.export-menu{position:fixed;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:10000;min-width:160px;padding:4px}.export-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;width:100%;border-radius:var(--radius-sm);font-size:13px;color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);background:none;border:none;text-align:left}.export-menu-item:hover{background:var(--bg-active);color:var(--accent)}.chat-input:empty:before{content:attr(data-placeholder);color:var(--text-tertiary);pointer-events:none}.chat-input .inline-image-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 2px;background:var(--accent-light);border:1px solid var(--accent);border-radius:var(--radius-md);font-size:12px;color:var(--text-primary);vertical-align:middle;margin:0 2px;cursor:default;user-select:none;max-width:200px;flex-shrink:0}.chat-input .inline-image-chip img{width:20px;height:20px;border-radius:3px;object-fit:cover;flex-shrink:0}.chat-input .inline-image-chip .chip-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:3px;font-size:12px;flex-shrink:0;color:var(--accent)}.chat-input .inline-image-chip .chip-text{font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-input .inline-image-chip .chip-remove{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;margin-left:2px;border-radius:50%;transition:all .15s}.chat-input .inline-image-chip .chip-remove:hover{background:#ef44441a;color:#ef4444}.chat-selection-refs{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:var(--bg-secondary);border-top:1px solid var(--border);max-height:120px;overflow-y:auto}.sel-ref-chip{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:11px;color:var(--text-secondary);max-width:260px;cursor:default;transition:border-color .2s}.sel-ref-chip:hover{border-color:var(--accent)}.sel-ref-thumb{width:28px;height:28px;border-radius:4px;object-fit:cover;flex-shrink:0}.sel-ref-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:4px;font-size:14px;flex-shrink:0;color:var(--accent)}.sel-ref-info{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-primary)}.sel-ref-badge{font-size:9px;padding:1px 5px;background:#7c3aed26;color:var(--accent);border-radius:8px;white-space:nowrap;font-weight:600}.sel-ref-remove{background:none;border:none;color:var(--text-tertiary);font-size:14px;cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0;transition:color .15s}.sel-ref-remove:hover{color:var(--danger, #ef4444)}.detection-overlay{position:absolute;border:2px solid rgba(16,185,129,.7);background:#10b98114;pointer-events:none;z-index:5;border-radius:3px;transition:opacity .2s}.detection-overlay:before{content:"";position:absolute;inset:-2px;border:1px dashed rgba(16,185,129,.3);border-radius:4px}.detection-label{position:absolute;top:-18px;left:0;font-size:9px;font-weight:600;color:#fff;background:#10b981d9;padding:1px 6px;border-radius:3px 3px 0 0;white-space:nowrap;letter-spacing:.3px}.canvas-item:not(.selected) .detection-overlay{opacity:.3}.canvas-item.selected .detection-overlay{opacity:1}#selectionMarquee{position:absolute;border:2px dashed var(--accent);background:#7c3aed1a;pointer-events:none;z-index:1000;display:none;border-radius:2px}.canvas-item.selected{outline:2px solid var(--accent);outline-offset:2px}.canvas-item.selected .resize-handle{display:block!important}.smart-guide-line{stroke:#f43f5e;stroke-width:1;stroke-dasharray:4 3;opacity:.8}.snap-guide-line{stroke:#3b82f6;stroke-width:1;stroke-dasharray:3 2;opacity:.9;pointer-events:none}.option-bar-align,.option-bar-transform{display:flex;align-items:center;gap:2px}.option-bar-btn-sm{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-primary, #1a1a2e);cursor:pointer;transition:background .15s,color .15s;padding:0}.option-bar-btn-sm:hover{background:#7c3aed1f;color:#7c3aed}.option-bar-btn-sm:active{background:#7c3aed38}[data-theme=dark] .option-bar-btn-sm{color:#e2e8f0}[data-theme=dark] .option-bar-btn-sm:hover{background:#7c3aed40;color:#a78bfa}.artwork-placeholder{border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#1a1040,#2d1b69,#1a1040);border:1.5px solid rgba(124,58,237,.4);box-shadow:0 0 0 1px #7c3aed26,0 8px 32px #7c3aed33;cursor:grab;position:absolute;user-select:none}.artwork-placeholder:active{cursor:grabbing}.placeholder-shimmer{position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(167,139,250,.18) 45%,rgba(255,255,255,.22) 50%,rgba(167,139,250,.18) 55%,transparent 70%);background-size:250% 100%;animation:shimmerSweep 1.8s ease-in-out infinite}@keyframes shimmerSweep{0%{background-position:200% center}to{background-position:-200% center}}.placeholder-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:1}.placeholder-icon{color:#a78bfab3;animation:placeholderPulse 2s ease-in-out infinite}@keyframes placeholderPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.placeholder-label{font-size:12px;font-weight:600;color:#c4b5fdd9;letter-spacing:.04em;text-transform:uppercase}.placeholder-dots{display:flex;gap:5px}.placeholder-dots span{width:5px;height:5px;border-radius:50%;background:#a78bfab3;animation:dotBounce 1.2s ease-in-out infinite}.placeholder-dots span:nth-child(2){animation-delay:.2s}.placeholder-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}.option-bar-mix{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff!important;border-radius:var(--radius-full);font-weight:600;box-shadow:0 2px 8px #7c3aed59;transition:box-shadow .2s,transform .15s,opacity .15s}.option-bar-mix:hover{background:linear-gradient(135deg,#6d28d9,#9333ea)!important;color:#fff!important;box-shadow:0 4px 14px #7c3aed80;transform:translateY(-1px)}.option-bar-mix:active{transform:translateY(0);box-shadow:0 2px 6px #7c3aed4d}.option-bar-mix svg{stroke:#fff}.option-bar-mix.loading{opacity:.7;pointer-events:none}.clarify-options{display:flex;flex-direction:column;gap:8px;margin-top:12px}.clarify-option-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;background:#f5f3ff;border:1.5px solid #c4b5fd;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;color:#5b21b6;text-align:left;transition:background .15s,border-color .15s,transform .1s;width:100%}.clarify-option-btn:hover:not(:disabled){background:#ede9fe;border-color:#7c3aed;transform:translateY(-1px)}.clarify-option-btn:active:not(:disabled){transform:translateY(0)}.clarify-option-btn.selected{background:#7c3aed;border-color:#7c3aed;color:#fff}.clarify-option-btn:disabled{opacity:.5;cursor:default}.clarify-option-desc{display:block;font-size:11px;font-weight:400;color:#7c3aed;opacity:.8;margin-top:1px}.clarify-option-btn.selected .clarify-option-desc{color:#fffc}[data-theme=dark] .clarify-option-btn{background:#7c3aed1f;border-color:#7c3aed66;color:#c4b5fd}[data-theme=dark] .clarify-option-btn:hover:not(:disabled){background:#7c3aed40;border-color:#a78bfa}[data-theme=dark] .clarify-option-btn.selected{background:#7c3aed;border-color:#7c3aed;color:#fff}[data-theme=dark] .clarify-option-desc{color:#a78bfa}.adjust-panel{position:fixed;top:80px;left:72px;width:270px;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:14px;box-shadow:0 8px 32px #00000026;z-index:900;display:flex;flex-direction:column;overflow:hidden;user-select:none}.adjust-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px;border-bottom:1px solid var(--border-color, #e5e7eb);background:var(--bg-secondary, #f9fafb);cursor:move}.adjust-panel-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text-primary, #1a1a2e)}.adjust-panel-close{background:none;border:none;cursor:pointer;color:var(--text-secondary, #666);font-size:16px;padding:0 2px;line-height:1;border-radius:4px;transition:color .15s,background .15s}.adjust-panel-close:hover{background:#7c3aed1a;color:#7c3aed}.adjust-panel-body{padding:10px 14px;overflow-y:auto;max-height:62vh}.adjust-no-image{text-align:center;padding:24px 0;color:var(--text-secondary, #888);font-size:13px}.adjust-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#7c3aed;margin:12px 0 6px}.adjust-section-label:first-child{margin-top:4px}.adjust-row{display:grid;grid-template-columns:76px 1fr 30px;align-items:center;gap:8px;margin-bottom:6px}.adjust-row label{font-size:12px;color:var(--text-primary, #333);white-space:nowrap}.adjust-label-r{color:#ef4444!important}.adjust-label-g{color:#10b981!important}.adjust-label-b{color:#3b82f6!important}.adjust-val{font-size:11px;font-weight:600;color:var(--text-secondary, #666);text-align:right;min-width:26px}.adjust-slider{-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:#e5e7eb;outline:none;cursor:pointer;width:100%;transition:background .2s}.adjust-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#7c3aed;border:2px solid #fff;box-shadow:0 1px 4px #7c3aed66;cursor:pointer;transition:transform .15s}.adjust-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.adjust-slider:active::-webkit-slider-thumb{transform:scale(1.1)}.adjust-slider-r::-webkit-slider-thumb{background:#ef4444;box-shadow:0 1px 4px #ef444466}.adjust-slider-g::-webkit-slider-thumb{background:#10b981;box-shadow:0 1px 4px #10b98166}.adjust-slider-b::-webkit-slider-thumb{background:#3b82f6;box-shadow:0 1px 4px #3b82f666}.adjust-panel-footer{display:flex;gap:8px;padding:10px 14px 12px;border-top:1px solid var(--border-color, #e5e7eb)}.adjust-btn-reset{flex:1;padding:7px 0;border-radius:8px;border:1px solid var(--border-color, #e5e7eb);background:var(--bg-secondary, #f9fafb);color:var(--text-primary, #333);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}.adjust-btn-reset:hover{background:#f3f4f6}.adjust-btn-apply{flex:2;padding:7px 0;border-radius:8px;border:none;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #7c3aed59;transition:opacity .15s,transform .15s}.adjust-btn-apply:hover{opacity:.9;transform:translateY(-1px)}.adjust-btn-apply:active{transform:translateY(0)}.adjust-btn-apply.loading{opacity:.6;cursor:wait}[data-theme=dark] .adjust-panel{background:#1e1b2e;border-color:#7c3aed40;box-shadow:0 8px 32px #0006}[data-theme=dark] .adjust-panel-header{background:#2d2640;border-color:#7c3aed33}[data-theme=dark] .adjust-panel-title{color:#e2e8f0}[data-theme=dark] .adjust-row label{color:#cbd5e1}[data-theme=dark] .adjust-slider{background:#3d3657}[data-theme=dark] .adjust-panel-footer{border-color:#7c3aed33}[data-theme=dark] .adjust-btn-reset{background:#2d2640;border-color:#7c3aed40;color:#cbd5e1}[data-theme=dark] .adjust-btn-reset:hover{background:#3d3657}#moodboardModal .modal{border:1px solid var(--border)}[data-theme=dark] #moodboardModal .modal{border-color:#ffffff1a;box-shadow:var(--shadow-lg)}#moodboardModal .setting-group input{margin-top:4px}.moodboard-card-label{font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;display:inline-block;margin-top:4px}.projects-list-container{max-height:150px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px;background:var(--bg-input);display:flex;flex-direction:column;gap:6px}.project-list-row{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;transition:border-color .2s,background .2s}.project-list-row:hover{border-color:var(--accent)}.project-list-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;margin-right:8px}.project-list-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-list-time{font-size:10px;color:var(--text-secondary)}.project-list-actions{display:flex;gap:6px}.project-action-btn{padding:4px 8px;font-size:11px;border-radius:4px;cursor:pointer;border:1px solid transparent;font-weight:500;transition:all .15s;font-family:inherit}.project-action-btn.load{background:var(--accent-light);color:var(--accent)}.project-action-btn.load:hover{background:var(--accent);color:#fff}.project-action-btn.delete{background:#fef2f2;color:#b91c1c}.project-action-btn.delete:hover{background:#ef4444;color:#fff}
