:root{--color-accent: #7c3aed;--color-accent-hover: #6d28d9;--color-on-accent: #ffffff;--color-justchat-user: #95258d;--color-justchat-assistant: #b51eab;--color-justchat-typing: #e891e3;--color-error-bg: #fee2e2;--color-error-text: #dc2626;--transition-theme: .25s ease;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 14px;color-scheme:dark;--color-bg-primary: #1a1a2e;--color-bg-secondary: #2d2d44;--color-bg-tertiary: #3d3d5c;--color-bg-hover: #4a4a6a;--color-bg-disabled: #252538;--color-border: #404060;--color-text-primary: #ffffff;--color-text-secondary: #a0a0b8;--color-text-muted: #6b6b80;--color-msg-user: #3d3d5c;--color-msg-assistant: #2d2d44;--color-summary-bg: #363654;--color-summary-border: var(--color-accent);--color-summary-text: #d1d1e0;--color-summary-btn-bg: #4a4a6a;--color-summary-btn-text: #e0e0ec;--color-summary-btn-hover: #5a5a7a;--color-summary-history-bg: #2d2d44;--color-summary-history-border: #404060;--color-summary-msg-user: #4a4a6a;--color-summary-msg-assistant: #3d3d5c}:root[data-theme=light]{color-scheme:light;--color-bg-primary: #f8f9fa;--color-bg-secondary: #ffffff;--color-bg-tertiary: #e9ecef;--color-bg-hover: #dee2e6;--color-bg-disabled: #e9ecef;--color-border: #d1d5db;--color-text-primary: #1a1a2e;--color-text-secondary: #4b5563;--color-text-muted: #9ca3af;--color-msg-user: #e5e7eb;--color-msg-assistant: #ffffff;--color-summary-bg: #f0f4f8;--color-summary-border: var(--color-accent);--color-summary-text: #374151;--color-summary-btn-bg: #e5e7eb;--color-summary-btn-text: #4b5563;--color-summary-btn-hover: #d1d5db;--color-summary-history-bg: #ffffff;--color-summary-history-border: #e5e7eb;--color-summary-msg-user: #dbeafe;--color-summary-msg-assistant: #f3f4f6}*{margin:0;padding:0;box-sizing:border-box}body{display:flex;height:100vh;background:var(--color-bg-primary);color:var(--color-text-primary);font-family:system-ui,-apple-system,sans-serif;transition:background var(--transition-theme),color var(--transition-theme)}#chat{width:420px;display:flex;flex-direction:column;border-right:1px solid var(--color-border);background:var(--color-bg-primary);transition:background var(--transition-theme),border-color var(--transition-theme)}#messages{flex:1;overflow-y:auto;padding:16px}#viewer{flex:1;background:var(--color-bg-primary);position:relative;transition:background var(--transition-theme)}#viewer canvas{width:100%!important;height:100%!important;display:block}#theme-toggle{position:fixed;top:16px;right:16px;width:44px;height:44px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;transition:background var(--transition-theme),border-color var(--transition-theme),transform .2s ease,box-shadow .2s ease}#theme-toggle:hover{background:var(--color-bg-tertiary);transform:scale(1.05);box-shadow:0 4px 12px #00000026}#theme-toggle:active{transform:scale(.95)}#theme-toggle svg{width:22px;height:22px;transition:transform .3s ease,opacity .2s ease}#theme-toggle .icon-sun,#theme-toggle .icon-moon{position:absolute;transition:opacity .3s ease,transform .3s ease}:root[data-theme=dark] #theme-toggle .icon-sun{opacity:1;transform:rotate(0)}:root[data-theme=dark] #theme-toggle .icon-moon{opacity:0;transform:rotate(90deg)}:root[data-theme=light] #theme-toggle .icon-sun{opacity:0;transform:rotate(-90deg)}:root[data-theme=light] #theme-toggle .icon-moon{opacity:1;transform:rotate(0)}#theme-toggle:hover svg{transform:rotate(15deg)}#project-menu{display:flex;gap:8px;padding:12px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);transition:background var(--transition-theme),border-color var(--transition-theme)}#project-select{flex:1;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px;cursor:pointer;transition:background var(--transition-theme),border-color var(--transition-theme)}#project-select:hover{border-color:var(--color-accent)}#new-project-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:20px;font-weight:300;cursor:pointer;transition:all .2s ease}#new-project-btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}#input-container{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border);transition:background var(--transition-theme),border-color var(--transition-theme)}#input{flex:1;padding:12px 14px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-primary);font-size:14px;transition:background var(--transition-theme),border-color var(--transition-theme)}#input::placeholder{color:var(--color-text-muted)}#input:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-tertiary)}#input:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-disabled)}#send-btn{width:42px;height:42px;border-radius:10px;border:none;background:var(--color-accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease,transform .15s ease}#send-btn:hover{background:var(--color-accent-hover);transform:scale(1.05)}#send-btn:active{transform:scale(.95)}#send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}#send-btn svg{width:20px;height:20px}#chat-options{padding:12px 16px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border);transition:background var(--transition-theme),border-color var(--transition-theme)}.toggle-switch{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input{display:none}.toggle-track{position:relative;width:46px;height:28px;background:var(--color-bg-tertiary);border-radius:14px;flex-shrink:0;transition:background .3s ease}.toggle-knob{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;transition:transform .3s ease}.toggle-switch input:checked+.toggle-track{background:var(--color-accent)}.toggle-switch input:checked+.toggle-track .toggle-knob{transform:translate(18px)}.toggle-switch:hover .toggle-track{background:var(--color-bg-hover)}.toggle-switch:hover input:checked+.toggle-track{background:var(--color-accent-hover)}.toggle-label{color:var(--color-text-secondary);font-size:13px;line-height:1.3}.message{margin-bottom:12px;padding:12px 14px;border-radius:12px;max-width:85%;line-height:1.5;transition:background var(--transition-theme)}.message.user{background:var(--color-msg-user);margin-left:auto;border-bottom-right-radius:4px}.message.assistant{background:var(--color-msg-assistant);margin-right:auto;border-bottom-left-radius:4px}.message.error{margin-right:auto;background:var(--color-error-bg);color:var(--color-error-text)}.message.user.justchat{background:var(--color-justchat-user);color:#fff}.message.assistant.justchat{background:var(--color-justchat-assistant);color:#fff}.message.typing-indicator{display:flex;gap:5px;padding:16px 20px;background:var(--color-msg-assistant)}.message.typing-indicator span{width:8px;height:8px;background:var(--color-text-muted);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.message.typing-indicator span:nth-child(1){animation-delay:0s}.message.typing-indicator span:nth-child(2){animation-delay:.2s}.message.typing-indicator span:nth-child(3){animation-delay:.4s}.message.typing-indicator.justchat{background:var(--color-justchat-assistant)}.message.typing-indicator.justchat span{background:var(--color-justchat-typing)}@keyframes typing{0%,60%,to{opacity:.4;transform:scale(1)}30%{opacity:1;transform:scale(1.3)}}.message.summary{background:var(--color-summary-bg);border-left:3px solid var(--color-summary-border);padding:14px;margin:12px 0;border-radius:12px;max-width:100%}.summary-content{color:var(--color-summary-text);font-style:italic;line-height:1.5}.summary-toggle-btn{background:var(--color-summary-btn-bg);border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;margin-bottom:10px;color:var(--color-summary-btn-text);transition:background .2s ease}.summary-toggle-btn:hover{background:var(--color-summary-btn-hover)}.summary-chat-history{background:var(--color-summary-history-bg);border:1px solid var(--color-summary-history-border);border-radius:8px;padding:10px;margin-bottom:10px;max-height:200px;overflow-y:auto}.summary-chat-history.hidden{display:none}.summary-chat-msg{padding:8px 12px;margin:6px 0;border-radius:6px;font-size:13px;line-height:1.4}.summary-chat-msg.user{background:var(--color-summary-msg-user);margin-left:20px}.summary-chat-msg.assistant{background:var(--color-summary-msg-assistant);margin-right:20px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}
