.sidebar-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:999}.sidebar{position:fixed;top:0;left:0;width:320px;height:100vh;background:#050505d9;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;z-index:1000;overflow:hidden;box-shadow:10px 0 40px #00000080}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-header h2{font-family:var(--font-mono);font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--color-white);opacity:.9}.close-sidebar-btn{width:28px;height:28px;padding:0;background:transparent;border:1px solid transparent;color:var(--color-gray-2);font-size:20px;line-height:1;border-radius:50%;transition:all .2s}.close-sidebar-btn:hover{background:#ffffff1a;color:var(--color-white)}.new-chat-btn{margin:20px 16px;padding:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-white);font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;border-radius:10px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.new-chat-btn:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px);box-shadow:0 4px 15px #0003}.chat-list{flex:1;overflow-y:auto;padding:0 12px}.chat-list::-webkit-scrollbar{width:4px}.chat-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.loading-chats,.empty-chats{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--color-gray-2)}.loading-spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.chat-item{padding:14px;margin-bottom:4px;border-radius:10px;cursor:pointer;transition:all .2s;border:1px solid transparent;display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-item:hover{background:#ffffff08;border-color:#ffffff0d}.chat-item.active{background:#ffffff14;border-color:#ffffff1a}.chat-info{flex:1;min-width:0}.chat-title{font-family:var(--font-main);font-size:14px;font-weight:500;margin-bottom:4px;color:var(--color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-preview{font-size:12px;color:var(--color-gray-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-date{font-family:var(--font-mono);font-size:9px;color:var(--color-gray-2);text-transform:uppercase;letter-spacing:.5px;opacity:.7}.chat-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.chat-item:hover .chat-actions,.chat-item:focus-within .chat-actions{opacity:1}.edit-btn,.delete-btn{width:26px;height:26px;padding:0;background:#0000004d;border:1px solid rgba(255,255,255,.1);color:var(--color-gray-2);font-size:12px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.edit-btn:hover{background:var(--color-white);color:var(--color-black)}.delete-btn:hover{background:#ff323226;border-color:#ff5050;color:#ff5050}.chat-edit-form{width:100%;display:flex;align-items:center;gap:8px}.chat-edit-form input{flex:1;padding:6px 8px;font-size:13px;background:#00000080;border:1px solid var(--color-accent);border-radius:6px;color:#fff;outline:none}.save-btn,.cancel-btn{width:26px;height:26px;padding:0;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer}.save-btn{background:var(--color-accent);color:#fff;border:none}.cancel-btn{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--color-gray-2)}.sidebar-footer{padding:20px;border-top:1px solid rgba(255,255,255,.06);background:#0003}.user-block{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;cursor:pointer;transition:all .2s}.user-block:hover{background:#ffffff14;border-color:#ffffff1a;transform:translateY(-1px)}.user-name{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--color-white);margin:0}.logout-hint{font-family:var(--font-mono);font-size:10px;color:var(--color-gray-2)}.logout-icon{color:var(--color-gray-2);opacity:.5;transition:all .2s}.user-block:hover .logout-icon{opacity:1;color:#ff5050;transform:translate(2px)}.home-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative}.home-content{max-width:900px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;z-index:1}.home-title{font-family:var(--font-main);font-size:5.5rem;font-weight:700;letter-spacing:-3px;margin-bottom:24px;background:linear-gradient(135deg,var(--color-white) 0%,var(--color-gray-3) 50%,rgba(99,102,241,.8) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;text-shadow:0 0 80px rgba(99,102,241,.3)}.home-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60%;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.5}.home-subtitle{font-size:1.25rem;color:var(--color-gray-2);margin-bottom:60px;max-width:650px;line-height:1.8;font-weight:300}.home-prompt-form{width:100%;position:relative;margin-bottom:80px}.prompt-input{height:64px;font-size:17px;padding-left:28px;padding-right:140px;background:#0a0a0ab3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:32px;border:2px solid var(--color-gray-1);transition:all var(--transition-normal)}.prompt-input:focus{border-color:var(--color-accent);background:#0a0a0ae6;box-shadow:0 0 0 4px #6366f11a,0 8px 40px #0006}.prompt-submit-btn{position:absolute;right:8px;top:8px;width:48px;height:48px;border-radius:50%;padding:0;font-size:24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:#fff;border:none;box-shadow:0 4px 15px #6366f166;transition:all var(--transition-normal)}.prompt-submit-btn:hover{transform:translateY(-2px) rotate(45deg);box-shadow:0 8px 25px #6366f180,0 0 40px #6366f14d}.spinner-container{position:absolute;right:8px;top:8px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#6366f11a;border-radius:50%}.spinner{width:28px;height:28px;border:3px solid rgba(99,102,241,.2);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.home-menu-btn{position:fixed;top:30px;left:30px;z-index:100;border-radius:12px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.examples-section{width:100%}.examples-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:3px;color:var(--color-gray-2);margin-bottom:32px;position:relative;display:inline-block}.examples-label:before,.examples-label:after{content:"";position:absolute;top:50%;width:40px;height:1px;background:var(--color-gray-1)}.examples-label:before{right:calc(100% + 16px)}.examples-label:after{left:calc(100% + 16px)}.examples-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.example-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(99,102,241,.1) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-normal)}.example-card:hover:before{opacity:1}.example-card:hover{border-color:var(--color-accent);background:#ffffff0d;transform:translateY(-6px);box-shadow:0 12px 40px #0000004d,0 0 0 1px #6366f133}.example-card-label{font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--color-white);margin-bottom:12px;position:relative;z-index:1;letter-spacing:.5px}.example-card-prompt{font-size:13px;color:var(--color-gray-2);line-height:1.6;position:relative;z-index:1}@media (max-width: 768px){.home-title{font-size:3.5rem;letter-spacing:-2px}.home-subtitle{font-size:1rem}.examples-grid{grid-template-columns:1fr}.prompt-input{padding-right:70px}}.example-card{padding:28px;border:1px solid var(--color-gray-1);border-radius:16px;cursor:pointer;transition:all var(--transition-normal);background:#ffffff05;text-align:left;position:relative;overflow:hidden}.example-card:before{content:"";position:absolute;top:50%;left:50%;width:200%;height:200%;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,rgba(99,102,241,.08) 25%,transparent 50%);transform:translate(-50%,-50%) scale(0);filter:blur(40px);opacity:0;transition:all 1.2s cubic-bezier(.16,1,.3,1);pointer-events:none}.example-card:hover:before{transform:translate(-50%,-50%) scale(1) rotate(180deg);opacity:1}.example-card:after{content:"";position:absolute;top:-100%;right:-100%;bottom:-100%;left:-100%;background:radial-gradient(circle at 50% 50%,rgba(139,92,246,.12) 0%,transparent 40%);filter:blur(60px);opacity:0;animation:smoke-pulse 3s ease-in-out infinite;pointer-events:none}.example-card:hover:after{opacity:1}@keyframes smoke-pulse{0%,to{transform:scale(.8) translate(-10%,-10%);opacity:.3}50%{transform:scale(1.2) translate(5%,5%);opacity:.6}}.example-card:hover{border-color:var(--color-accent);background:#ffffff0d;transform:translateY(-6px);box-shadow:0 12px 40px #0000004d,0 0 60px #6366f133,inset 0 0 80px #6366f10d}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05}.panel-header h3{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--color-white);display:flex;align-items:center;gap:10px}.close-btn{width:28px;height:28px;padding:0;background:transparent;border:none;color:var(--color-gray-2);font-size:20px;line-height:1;border-radius:50%;transition:all var(--transition-fast)}.close-btn:hover{background:#ffffff1a;color:var(--color-white);transform:none;box-shadow:none}.panel-content{flex:1;overflow-y:auto;padding:24px}.panel-content::-webkit-scrollbar{width:4px}.params-section{display:flex;flex-direction:column;gap:24px}.param-group{display:flex;flex-direction:column;gap:10px}.param-group label{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--color-gray-2);font-weight:600}.param-value{color:var(--color-accent);font-family:var(--font-mono)}.slider{-webkit-appearance:none;width:100%;height:4px;background:#ffffff1a;border-radius:2px;outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--color-white);border-radius:50%;cursor:pointer;transition:all var(--transition-fast);border:2px solid var(--color-black)}.slider::-webkit-slider-thumb:hover{transform:scale(1.2);background:var(--color-accent)}.select,.input,.textarea{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;font-family:var(--font-mono);font-size:11px;color:var(--color-white);transition:all var(--transition-fast)}.select:focus,.input:focus,.textarea:focus{border-color:var(--color-accent);background:#00000080;transform:none;box-shadow:0 0 0 1px var(--color-accent)}.accordion-item{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:8px;overflow:hidden;transition:all var(--transition-normal)}.accordion-item.enabled{border-color:#6366f14d;background:#6366f105}.accordion-header{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff03}.accordion-header:hover{background:#ffffff08}.accordion-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:var(--color-gray-3)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--color-gray-1);transition:all var(--transition-normal)}.accordion-item.enabled .status-dot{background:var(--color-accent);box-shadow:0 0 8px var(--color-accent)}.accordion-arrow{font-size:10px;color:var(--color-gray-2);transition:transform var(--transition-normal)}.accordion-arrow.open{transform:rotate(180deg)}.accordion-content{padding:16px;border-top:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:16px}.tags-input-container{display:flex;flex-wrap:wrap;gap:6px;padding:6px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px}.tag-chip{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#6366f126;border:1px solid rgba(99,102,241,.2);border-radius:4px;font-size:10px;color:var(--color-white)}.tag-remove{cursor:pointer;opacity:.7;font-weight:700}.tag-remove:hover{opacity:1}.tags-input{flex:1;min-width:60px;background:transparent;border:none;padding:4px;font-size:11px;color:var(--color-white);outline:none}.enable-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:4px}.toggle-switch{width:28px;height:16px;background:var(--color-gray-1);border-radius:8px;position:relative;transition:all var(--transition-fast)}.enable-toggle input:checked+.toggle-switch{background:var(--color-accent)}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;background:#fff;border-radius:50%;transition:all var(--transition-fast)}.enable-toggle input:checked+.toggle-switch:after{transform:translate(12px)}.parameters-panel{width:380px;height:100%;background:#0a0a0ae6;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;overflow:hidden;box-shadow:-10px 0 40px #00000080}.tabs{display:flex;gap:8px;padding:0 24px;margin-top:20px}.tabs button{flex:1;padding:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);color:var(--color-gray-2);font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;transition:all .3s cubic-bezier(.25,.8,.25,1);border-radius:8px;cursor:pointer;position:relative;overflow:hidden}.tabs button:hover{transform:translateY(-2px);border-color:#fff3;color:var(--color-white);background:#ffffff14}.tabs button.active{background:var(--color-white);color:var(--color-black);border-color:var(--color-white);box-shadow:0 4px 20px #ffffff26}input[type=range]{-webkit-appearance:none;width:100%;background:transparent;margin:8px 0}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;cursor:pointer;background:#ffffff1a;border-radius:4px;border:none;transition:background .2s}input[type=range]:hover::-webkit-slider-runnable-track{background:#ffffff26}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:8px;border-radius:2px;background:var(--color-white);cursor:pointer;margin-top:-5px;box-shadow:0 1px 4px #00000080;transition:transform .1s,background .2s}input[type=range]::-webkit-slider-thumb:hover{background:var(--color-accent);transform:scaleY(1.1)}.file-upload-area{border:1px dashed rgba(255,255,255,.2);border-radius:8px;padding:12px;text-align:center;cursor:pointer;transition:all .2s;background:#0003}.file-upload-area:hover{border-color:var(--color-accent);background:#6366f10d}.file-upload-label{font-size:11px;color:var(--color-gray-2);pointer-events:none}.uploaded-file-item{display:flex;align-items:center;gap:8px;background:#ffffff1a;padding:6px 10px;border-radius:6px;margin-top:6px;font-size:11px}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-white)}.remove-file{cursor:pointer;color:#ff5050;font-weight:700}.control-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.control-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--color-gray-2);font-weight:600}.auto-toggle-btn{background:transparent;border:1px solid rgba(255,255,255,.1);padding:4px 8px;border-radius:4px;font-family:var(--font-mono);font-size:9px;color:var(--color-gray-2);cursor:pointer;transition:all .2s;text-transform:uppercase}.auto-toggle-btn.manual{background:#6366f133;border-color:var(--color-accent);color:var(--color-white)}.auto-toggle-btn:hover{border-color:var(--color-white);color:var(--color-white)}.control-value{color:var(--color-accent);margin-left:8px}.auto-placeholder{background:#ffffff08;border:1px dashed rgba(255,255,255,.1);border-radius:8px;padding:10px;text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--color-gray-2);cursor:not-allowed;opacity:.6}.thumbnails-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.thumbnail-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#0000004d}.thumbnail-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.thumbnail-item:hover img{transform:scale(1.1)}.remove-thumb-btn{position:absolute;top:4px;right:4px;width:20px;height:20px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;opacity:0;transition:opacity .2s}.thumbnail-item:hover .remove-thumb-btn{opacity:1}.remove-thumb-btn:hover{background:#ef4444;border-color:#ef4444}.single-preview{position:relative;width:100%;height:160px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1);margin-top:8px}.single-preview img{width:100%;height:100%;object-fit:cover}.image-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:40px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.preview-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.preview-content{position:relative;width:100%;max-width:1400px;height:90vh;display:flex;gap:32px;z-index:1}.preview-image-container{flex:1;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:24px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000080}.preview-image{max-width:100%;max-height:100%;object-fit:contain;transition:transform .3s ease}.preview-sidebar{width:320px;display:flex;flex-direction:column;gap:24px;padding:32px;background:#0a0a0f99;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid rgba(255,255,255,.08);border-radius:24px;box-shadow:0 20px 50px #0000004d}.preview-header{display:flex;justify-content:space-between;align-items:flex-start}.preview-title{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--color-gray-2);font-weight:700}.preview-close-btn{width:32px;height:32px;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-white);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:all .2s}.preview-close-btn:hover{background:#ffffff26;transform:scale(1.05)}.preview-params{display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding-right:8px}.preview-params::-webkit-scrollbar{width:4px}.preview-params::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.param-row{display:flex;flex-direction:column;gap:8px}.param-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:var(--color-gray-2);letter-spacing:1px}.param-value{font-size:14px;color:var(--color-white);background:#0000004d;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.05);word-break:break-word;line-height:1.5}.param-value.highlight{color:var(--color-accent-hover);font-family:var(--font-mono)}.download-btn{margin-top:auto;width:100%;height:48px;background:var(--color-white);color:var(--color-black);font-family:var(--font-mono);font-weight:600;text-transform:uppercase;letter-spacing:1px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s}.download-btn:hover{background:var(--color-accent);color:var(--color-white);box-shadow:0 0 30px #6d28d966;transform:translateY(-2px)}.message-bubble{display:flex;align-items:flex-start;max-width:75%;position:relative}.message-bubble.user{margin-left:auto;justify-content:flex-end}.message-bubble.assistant{margin-right:auto;justify-content:flex-start}.message-content-wrapper{display:flex;flex-direction:column;gap:12px;min-width:0;width:100%}.message-text{padding:16px 20px;border-radius:20px;font-size:15px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;position:relative;background:#ffffff0a;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 20px #0000001a,inset 0 1px #ffffff1a,0 0 40px #6366f10d;transition:all var(--transition-normal);color:var(--color-white)}.message-text:hover{background:#ffffff0f;border-color:#ffffff1f;box-shadow:0 8px 30px #00000026,inset 0 1px #ffffff26,0 0 60px #6366f114;transform:translateY(-1px)}.message-text:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);border-radius:20px 20px 0 0}.message-text:after{content:"";position:absolute;bottom:-10px;left:20%;right:20%;height:10px;background:radial-gradient(ellipse at center,rgba(99,102,241,.15) 0%,transparent 70%);filter:blur(8px);opacity:0;transition:opacity var(--transition-normal)}.message-text:hover:after{opacity:1}.message-bubble.user .message-text{border-radius:20px 20px 4px}.message-bubble.assistant .message-text{border-radius:20px 20px 20px 4px}.message-images{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.message-image{position:relative;border-radius:16px;overflow:hidden;cursor:pointer;background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #0003,0 0 40px #6366f11a;transition:all var(--transition-normal)}.message-image:hover{border-color:#fff3;box-shadow:0 8px 30px #0000004d,0 0 60px #6366f126;transform:translateY(-2px)}.message-image img{width:100%;height:auto;display:block;transition:transform var(--transition-normal)}.message-image:hover img{transform:scale(1.03)}.image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 50%);display:flex;align-items:flex-end;justify-content:flex-end;padding:12px;opacity:0;transition:opacity var(--transition-fast)}.message-image:hover .image-overlay{opacity:1}.expand-icon{width:32px;height:32px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;border:1px solid rgba(255,255,255,.3)}@media (max-width: 768px){.message-bubble{max-width:90%}.message-text{padding:14px 18px;font-size:14px}}.error-message-bubble{padding:16px 20px;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:20px 20px 20px 4px;font-family:var(--font-mono);font-size:14px;color:var(--color-error);line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.chat-page{height:100vh;display:flex;flex-direction:column;background-color:transparent;position:relative;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:20px 30px;flex-shrink:0;z-index:100;position:relative;background:#0a050fb3;-webkit-backdrop-filter:blur(28px) saturate(120%);backdrop-filter:blur(28px) saturate(120%);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 4px 30px #0000004d}.header-left{display:flex;align-items:center;gap:16px;min-width:0;flex:1}.chat-title{font-family:var(--font-mono);font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.5px}.chat-container{flex:1;display:flex;overflow:hidden;position:relative;z-index:1}.messages-area{flex:1;overflow-y:auto;padding:40px;display:flex;flex-direction:column;gap:32px;position:relative;z-index:1}.empty-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--color-gray-2)}.empty-chat-icon{font-size:48px;margin-bottom:24px;opacity:.5}.empty-chat h3{font-size:24px;font-weight:600;margin-bottom:12px;color:var(--color-white)}.empty-chat p{font-size:15px;line-height:1.6;max-width:400px}.input-area-wrapper{padding:20px 30px;flex-shrink:0;position:relative;z-index:10;background:#0a050fb3;-webkit-backdrop-filter:blur(28px) saturate(120%);backdrop-filter:blur(28px) saturate(120%);border-top:1px solid rgba(255,255,255,.1)}.uploaded-images-preview{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.uploaded-image-thumb{position:relative;width:72px;height:72px;border:1px solid var(--color-gray-1);border-radius:8px;overflow:hidden;background:#00000080}.uploaded-image-thumb img{width:100%;height:100%;object-fit:cover}.remove-image-btn{position:absolute;top:4px;right:4px;width:20px;height:20px;padding:0;background:#000c;color:var(--color-white);border:1px solid var(--color-white);border-radius:50%;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.remove-image-btn:hover{background:#ff5050;border-color:#ff5050}.input-controls{display:flex;align-items:flex-start;gap:12px;background:#0a0a0ab3;border:2px solid var(--color-gray-1);border-radius:24px;padding:8px;transition:all var(--transition-normal)}.input-controls:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px #6d28d91a,0 4px 20px #0006}.message-input{flex:1;min-height:44px;max-height:200px;resize:none;background:transparent;border:none;padding:10px;font-size:15px;line-height:1.5;color:var(--color-white);font-family:var(--font-main)}.message-input:focus{outline:none}.input-area-wrapper .icon-btn{width:44px;height:44px;border-radius:12px;flex-shrink:0}.send-btn{width:44px;height:44px;border-radius:12px;padding:0;background:var(--color-accent);display:flex;align-items:center;justify-content:center;border:none;transition:all var(--transition-normal);cursor:pointer}.send-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.05);background:var(--color-accent-hover);box-shadow:0 6px 20px #6d28d966,0 0 30px #6d28d933}.send-btn svg{transition:transform var(--transition-fast);color:#fff}.send-btn:hover:not(:disabled) svg{transform:translate(2px)}.send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;background:var(--color-accent)}.generation-status{display:flex;gap:16px;align-items:flex-start;padding:20px;background:#ffffff0a;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.08);border-radius:20px;box-shadow:0 4px 20px #0000001a,inset 0 1px #ffffff1a,0 0 40px #6d28d914;max-width:75%}.status-avatar{width:44px;height:44px;border-radius:12px;background:#6d28d926;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(109,40,217,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 20px #6d28d933}.thinking-dots{display:flex;gap:4px}.thinking-dots span{display:inline-block;width:6px;height:6px;background-color:var(--color-accent);border-radius:50%;animation:thinking-anim 1.4s infinite ease-in-out both}.thinking-dots span:nth-child(1){animation-delay:-.32s}.thinking-dots span:nth-child(2){animation-delay:-.16s}@keyframes thinking-anim{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.status-content{flex:1;padding-top:4px}.status-text{font-family:var(--font-mono);font-size:14px;color:var(--color-white);margin-bottom:8px}.progress-bar{width:100%;height:3px;background:var(--color-gray-1);border-radius:2px;margin-top:12px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover));box-shadow:0 0 15px var(--color-accent);transition:width .5s ease-out}@media (max-width: 768px){.messages-area{padding:20px}.chat-header,.input-area-wrapper{padding:15px}.chat-title{font-size:14px}.generation-status{max-width:90%}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative}.auth-container{width:100%;max-width:420px;padding:40px;background:#0a0a0a99;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.08);border-radius:24px;box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column;gap:32px}.auth-title{font-family:var(--font-mono);font-size:1.75rem;font-weight:700;letter-spacing:-1px;text-align:center;color:var(--color-white);text-shadow:0 0 20px rgba(255,255,255,.1);margin:0}.auth-mode-toggle{display:flex;background:#0000004d;padding:4px;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.auth-mode-toggle button{flex:1;padding:10px;background:transparent;border:none;color:var(--color-gray-2);font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;border-radius:8px;transition:all .3s cubic-bezier(.25,.8,.25,1)}.auth-mode-toggle button:hover{color:var(--color-white);background:#ffffff0d}.auth-mode-toggle button.active{background:#ffffff1a;color:var(--color-white);box-shadow:0 2px 10px #0003;border:1px solid rgba(255,255,255,.05)}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form input{height:52px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:0 20px;font-family:var(--font-main);font-size:15px;color:var(--color-white);transition:all .2s ease}.auth-form input::placeholder{color:var(--color-gray-2);font-family:var(--font-mono);font-size:13px}.auth-form input:focus{border-color:var(--color-accent);background:#00000080;box-shadow:0 0 0 1px var(--color-accent);outline:none}.error-message{padding:12px;background:#ff50501a;border:1px solid rgba(255,80,80,.2);border-radius:8px;font-family:var(--font-mono);font-size:12px;color:#ff6b6b;text-align:center}.auth-submit-btn{height:52px;margin-top:10px;background:var(--color-white);color:var(--color-black);font-family:var(--font-mono);font-weight:600;font-size:14px;letter-spacing:.5px;border:none;border-radius:12px;cursor:pointer;transition:all .2s}.auth-submit-btn:hover{background:var(--color-accent);color:var(--color-white);transform:translateY(-2px);box-shadow:0 8px 20px #6366f14d}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}*{margin:0;padding:0;box-sizing:border-box}:root{--color-black: #080509;--color-dark-1: #050505;--color-dark-2: #121212;--color-gray-1: #222222;--color-gray-2: #888888;--color-gray-3: #cccccc;--color-white: #ffffff;--color-accent: #6d28d9;--color-accent-dark: #4c1d95;--color-accent-hover: #8b5cf6;--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .1);--color-error-border: rgba(239, 68, 68, .3);--font-main: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .4s cubic-bezier(.4, 0, .2, 1)}body{font-family:var(--font-main);background:var(--color-black);color:var(--color-white);min-height:100vh;overflow:hidden;position:relative}body:before,body:after{content:"";position:fixed;top:50%;left:50%;width:200vmax;height:200vmax;border-radius:50%;z-index:-1;will-change:transform,opacity}body:before{background:radial-gradient(circle,rgba(76,29,149,.5) 0%,transparent 50%);animation:smoke-drift-1 45s linear infinite}body:after{background:radial-gradient(circle,rgba(109,40,217,.25) 0%,transparent 60%);animation:smoke-drift-2 35s linear infinite alternate}@keyframes smoke-drift-1{0%{transform:translate(-50%,-50%) rotate(0) scale(1);opacity:.15}25%{transform:translate(-45%,-55%) rotate(90deg) scale(1.1);opacity:.2}50%{transform:translate(-50%,-50%) rotate(180deg) scale(1);opacity:.18}75%{transform:translate(-55%,-45%) rotate(270deg) scale(.9);opacity:.22}to{transform:translate(-50%,-50%) rotate(360deg) scale(1);opacity:.15}}@keyframes smoke-drift-2{0%{transform:translate(-50%,-50%) rotate(0) scale(1.2);opacity:.1}50%{transform:translate(-52%,-48%) rotate(-180deg) scale(1);opacity:.15}to{transform:translate(-50%,-50%) rotate(-360deg) scale(1.2);opacity:.1}}.noise-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='3' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");z-index:0;mix-blend-mode:overlay}input,textarea,select{background:#ffffff08;border:1px solid var(--color-gray-1);color:var(--color-white);padding:12px 16px;font-family:var(--font-main);font-size:15px;border-radius:12px;transition:all var(--transition-normal);outline:none;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--color-accent);background:#ffffff0d;box-shadow:0 0 0 3px #6d28d91a,0 4px 20px #6d28d926;transform:translateY(-1px)}input::placeholder,textarea::placeholder{color:var(--color-gray-2)}button{font-family:var(--font-mono);font-size:14px;font-weight:600;border-radius:12px;cursor:pointer;transition:all var(--transition-normal);outline:none;border:none;background:var(--color-white);color:var(--color-black);padding:12px 24px;position:relative;overflow:hidden;letter-spacing:.5px}button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ffffff26,0 0 60px #fff3}button:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}button:disabled:hover{transform:none}.accent-btn{background:var(--color-accent);color:var(--color-white)}.accent-btn:hover{box-shadow:0 8px 25px #6d28d966,0 0 40px #6d28d933;filter:brightness(1.1)}.icon-btn{background:#ffffff0d;border:1px solid var(--color-gray-1);color:var(--color-gray-2);width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;font-size:20px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.icon-btn:hover{color:var(--color-white);border-color:var(--color-white);background:#ffffff1a;box-shadow:0 4px 15px #ffffff1a,inset 0 0 20px #ffffff0d;transform:translateY(-2px) scale(1.05)}.icon-btn svg{transition:transform var(--transition-normal)}.icon-btn:hover svg{transform:scale(1.1)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff05}::-webkit-scrollbar-thumb{background:var(--color-gray-1);border-radius:4px;transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-2)}.error-message{padding:12px;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:4px;font-family:var(--font-mono);font-size:12px;color:var(--color-error);text-align:center;word-wrap:break-word}
