:root{--background-color: #0a0a0a;--app-background: #111111;--text-color: #f8fafc;--secondary-text-color: #cbd5e1;--tertiary-text-color: #94a3b8;--user-message-bg: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);--ai-message-bg: linear-gradient(135deg, #1f2937 0%, #374151 100%);--thinking-message-bg: linear-gradient(135deg, #374151 0%, #4b5563 100%);--input-bg: rgba(31, 41, 55, .8);--input-border-color: rgba(55, 65, 81, .6);--input-focus-border: rgba(59, 130, 246, .8);--button-primary-bg: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--button-primary-hover-bg: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);--border-radius: 20px;--message-border-radius: 24px;--chat-max-width: 1200px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--shadow-sm: 0 2px 8px rgba(0,0,0,.4), 0 1px 4px rgba(0,0,0,.3);--shadow-md: 0 8px 24px rgba(0,0,0,.5), 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 20px 40px rgba(0,0,0,.6), 0 10px 20px rgba(0,0,0,.5);--shadow-glow: 0 0 20px rgba(59, 130, 246, .3);--code-background: #1a1a1a;--code-text-color: #e2e8f0;--accent-color: #8b5cf6;--accent-secondary: #06b6d4;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--glass-bg: rgba(15, 23, 42, .85);--glass-border: rgba(148, 163, 184, .15);--glass-hover: rgba(59, 130, 246, .1);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-accent: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)}*,*:before,*:after{box-sizing:border-box}body{font-family:var(--font-family);margin:0;background:radial-gradient(circle at 25% 75%,rgba(59,130,246,.15) 0%,transparent 60%),radial-gradient(circle at 75% 25%,rgba(139,92,246,.15) 0%,transparent 60%),radial-gradient(circle at 50% 50%,rgba(6,182,212,.08) 0%,transparent 70%),linear-gradient(135deg,#0f172a,#1e293b,#0f172a);color:var(--text-color);display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;line-height:1.6;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,rgba(59,130,246,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(139,92,246,.05) 0%,transparent 50%);pointer-events:none;z-index:-1;animation:backgroundShift 20s ease-in-out infinite}@keyframes backgroundShift{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}#root{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.chat-app-container{width:100%;max-width:var(--chat-max-width);height:calc(100vh - 40px);background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--border-radius);box-shadow:var(--shadow-lg),inset 0 1px #ffffff1a;display:flex;flex-direction:column;overflow:hidden;position:relative;animation:containerFadeIn .8s cubic-bezier(.25,.46,.45,.94)}.chat-app-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.5),transparent);z-index:1}@keyframes containerFadeIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{padding:24px 32px;border-bottom:1px solid var(--glass-border);background:linear-gradient(135deg,#3b82f61f,#8b5cf61f);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.chat-header:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),transparent)}.chat-header h1{font-size:1.6em;font-weight:800;background:linear-gradient(135deg,#60a5fa,#a78bfa,#34d399);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0;letter-spacing:-.03em;flex-grow:1;text-align:center;position:relative;animation:titleGlow 3s ease-in-out infinite}@keyframes titleGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.2) drop-shadow(0 0 8px rgba(59,130,246,.3))}}.settings-button{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--secondary-text-color);cursor:pointer;padding:12px;border-radius:12px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:1.2em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.settings-button:hover{background:#3b82f633;border-color:var(--button-primary-bg);color:var(--text-color);box-shadow:var(--shadow-sm)}.chat-messages-area{flex-grow:1;padding:24px 32px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent}.chat-messages-area::-webkit-scrollbar{width:6px}.chat-messages-area::-webkit-scrollbar-track{background:transparent}.chat-messages-area::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.chat-messages-area::-webkit-scrollbar-thumb:hover{background:var(--secondary-text-color)}.message-container{display:flex;max-width:85%;animation:slideInUp .4s cubic-bezier(.25,.46,.45,.94);flex-direction:column}.message-container.sender-user{align-self:flex-end}.message-container.sender-ai,.message-container.sender-system{align-self:flex-start}.message-container.type-html,.message-container.type-code{max-width:100%;width:100%;align-self:stretch}.message-block-title{font-size:.8em;font-weight:700;color:var(--accent-color);margin-bottom:12px;padding:8px 12px;text-transform:uppercase;letter-spacing:.1em;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;border-radius:8px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.message-block-title.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .3s ease}.message-block-title.clickable:hover,.message-block-title.clickable:focus-visible{background:#8b5cf633;color:#fff;box-shadow:var(--shadow-sm);outline:none}.message-bubble{padding:18px 24px;border-radius:var(--message-border-radius);word-wrap:break-word;line-height:1.6;font-size:1rem;width:fit-content;max-width:100%;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);position:relative;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.message-bubble:hover{box-shadow:var(--shadow-lg)}.message-bubble:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent,rgba(255,255,255,.05));mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.message-container.sender-user .message-bubble{align-self:flex-end}.sender-user .message-bubble{background:var(--user-message-bg);color:#fff;border-bottom-right-radius:8px;box-shadow:var(--shadow-md),0 0 20px #3b82f633}.sender-ai .message-bubble{background:var(--ai-message-bg);color:var(--text-color);border-bottom-left-radius:8px;box-shadow:var(--shadow-md),0 0 20px #3741514d}.sender-system .message-bubble{background:#f59e0b1a;border:1px solid var(--warning-color);color:var(--warning-color);font-style:italic;font-size:.9rem}.message-bubble p{margin:0}.message-bubble.type-block{width:100%;max-width:100%;display:block;background-color:transparent;padding:0;box-shadow:none;border-radius:0;align-self:stretch;animation:fadeIn .3s ease-out forwards}.message-container.is-streaming .message-bubble.type-block{background-color:var(--thinking-message-bg);padding:8px 16px;border-radius:var(--message-border-radius)}.message-container.is-streaming .message-bubble.type-block .thinking-overlay{padding:0}.message-container.is-streaming .message-bubble.type-block .streamed-text-preview{padding:4px 0}.thinking-overlay{display:flex;align-items:center;gap:16px;font-size:.95em;font-weight:700;color:var(--accent-color);margin-bottom:16px;padding:16px 20px;background:linear-gradient(135deg,#8b5cf626,#3b82f61a);border:1px solid rgba(139,92,246,.4);border-radius:16px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-sm),0 0 20px #8b5cf633;animation:thinkingPulse 2s ease-in-out infinite;position:relative;overflow:hidden}.thinking-overlay:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(139,92,246,.2),transparent);animation:thinkingShimmer 2s ease-in-out infinite}@keyframes thinkingPulse{0%,to{box-shadow:var(--shadow-sm),0 0 20px #8b5cf633;border-color:#8b5cf666}50%{box-shadow:var(--shadow-md),0 0 30px #8b5cf666;border-color:#8b5cf699}}@keyframes thinkingShimmer{0%{left:-100%}to{left:100%}}.thinking-overlay svg{width:18px;height:18px;animation:spin 1.5s linear infinite;color:var(--accent-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.streamed-text-preview{margin:0;font-family:var(--font-family);font-size:1rem;line-height:1.6;color:var(--text-color);white-space:pre-wrap;word-break:break-word;filter:blur(1px);opacity:.7;min-height:32px;max-height:400px;overflow:hidden;border-radius:12px;padding:20px;background:linear-gradient(135deg,#ffffff14,#ffffff08);border:1px solid rgba(148,163,184,.2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:streamingPulse 2.5s ease-in-out infinite;position:relative}.streamed-text-preview:after{content:"";position:absolute;bottom:0;right:0;width:8px;height:20px;background:var(--accent-color);border-radius:2px;animation:typingCursor 1s ease-in-out infinite}@keyframes streamingPulse{0%,to{opacity:.7;filter:blur(1px);background:linear-gradient(135deg,#ffffff14,#ffffff08)}50%{opacity:.9;filter:blur(.5px);background:linear-gradient(135deg,#ffffff1f,#ffffff0f)}}@keyframes typingCursor{0%,50%{opacity:1}51%,to{opacity:0}}.message-container.type-html .message-bubble iframe{display:block;width:100%;height:90vh;max-height:1200px;min-height:600px;border:1px solid var(--glass-border);border-radius:var(--border-radius);overflow:auto;resize:vertical;box-shadow:var(--shadow-md);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.message-container.type-html .message-bubble{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.message-container.type-html .message-bubble iframe{position:relative}.message-container.type-html .message-bubble iframe:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background:linear-gradient(135deg,#8b5cf633,#06b6d433);border-radius:calc(var(--border-radius) + 1px);z-index:-1;pointer-events:none}.code-block-container{background:var(--code-background);color:var(--code-text-color);padding:20px 24px;border-radius:var(--border-radius);font-family:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:.9em;line-height:1.6;overflow-x:auto;position:relative;box-shadow:var(--shadow-md);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.code-block-container pre{margin:0;white-space:pre-wrap;word-break:break-all}.copy-code-button{position:absolute;top:12px;right:12px;background:#3b82f633;color:var(--button-primary-bg);border:1px solid var(--button-primary-bg);border-radius:8px;padding:8px 12px;font-size:.8em;font-weight:500;cursor:pointer;transition:all .3s ease;opacity:.8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:6px}.copy-code-button:hover{background:var(--button-primary-bg);color:#fff;opacity:1;box-shadow:var(--shadow-sm)}.copy-code-button:active{opacity:.8}.chat-input-area{display:flex;flex-direction:column;padding:20px 32px;border-top:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);gap:12px}.input-row{display:flex;align-items:center;gap:8px}.input-row input[type=text]{flex-grow:1;padding:18px 28px;border:2px solid var(--input-border-color);border-radius:32px;font-size:1rem;background:var(--input-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text-color);transition:all .4s cubic-bezier(.25,.46,.45,.94);box-shadow:var(--shadow-sm),inset 0 1px #ffffff1a;position:relative}.input-row input[type=text]:focus{outline:none;border-color:var(--input-focus-border);background:#1f2937f2;box-shadow:0 0 0 4px #3b82f633,var(--shadow-glow),var(--shadow-md),inset 0 1px #ffffff26}.input-row input[type=text]::placeholder{color:var(--tertiary-text-color);transition:color .3s ease}.input-row input[type=text]:focus::placeholder{color:var(--secondary-text-color)}.input-row button:not(.paperclip-button):not(.clear-chat-button){padding:18px 32px;background:var(--button-primary-bg);color:#fff;border:none;border-radius:32px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.25,.46,.45,.94);line-height:1.5;box-shadow:var(--shadow-md),0 0 20px #3b82f64d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;overflow:hidden;letter-spacing:.02em}.input-row button:not(.paperclip-button):not(.clear-chat-button):before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.input-row button:not(.paperclip-button):not(.clear-chat-button):hover:before{left:100%}.input-row button:not(.paperclip-button):not(.clear-chat-button):hover{background:var(--button-primary-hover-bg);box-shadow:var(--shadow-lg),var(--shadow-glow)}.input-row button:not(.paperclip-button):not(.clear-chat-button):disabled{background:var(--secondary-text-color);color:var(--background-color);cursor:not-allowed;box-shadow:none;transform:none}.input-row .clear-chat-button{padding:14px!important;background:linear-gradient(135deg,#ef444426,#dc267f1a)!important;color:var(--error-color)!important;border:2px solid rgba(239,68,68,.4)!important;border-radius:50%!important;font-size:1.3rem!important;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.25,.46,.45,.94);width:52px!important;height:52px!important;font-weight:400!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;overflow:hidden}.input-row .clear-chat-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:transform .6s ease}.input-row .clear-chat-button:hover:before{transform:translate(100%)}.input-row .clear-chat-button:hover{background:linear-gradient(135deg,#ef44444d,#dc267f33)!important;color:#fff!important;border-color:var(--error-color)!important;box-shadow:var(--shadow-md),0 0 20px #ef444466!important}.input-row .clear-chat-button:disabled{background:transparent!important;color:var(--secondary-text-color)!important;border-color:var(--secondary-text-color)!important;cursor:not-allowed;transform:none;box-shadow:none!important}.paperclip-button{padding:14px!important;background:linear-gradient(135deg,#10b98126,#06b6d41a)!important;color:var(--success-color)!important;border:2px solid rgba(16,185,129,.4)!important;border-radius:50%!important;font-size:1.3rem!important;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.25,.46,.45,.94);width:52px!important;height:52px!important;font-weight:400!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;overflow:hidden}.paperclip-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:transform .6s ease}.paperclip-button:hover:before{transform:translate(100%)}.paperclip-button:hover{background:linear-gradient(135deg,#10b9814d,#06b6d433)!important;color:#fff!important;border-color:var(--success-color)!important;box-shadow:var(--shadow-md),0 0 20px #10b98166!important}.paperclip-button:disabled{background:transparent!important;color:var(--secondary-text-color)!important;border-color:var(--secondary-text-color)!important;cursor:not-allowed;transform:none;box-shadow:none!important}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media (max-width: 768px){body{padding:10px}.chat-app-container{height:calc(100vh - 20px);border-radius:12px;max-height:none}.chat-header{padding:16px 20px}.chat-header h1{font-size:1.3em}.chat-messages-area{padding:20px;gap:12px}.chat-input-area{padding:16px 20px;gap:8px}.message-container{max-width:90%}.message-container.type-html,.message-container.type-code{max-width:100%}.message-container.type-html .message-bubble iframe{height:70vh;min-height:400px}.input-row input[type=text]{padding:14px 20px;font-size:16px}.input-row button:not(.paperclip-button):not(.clear-chat-button){padding:14px 24px}.paperclip-button,.clear-chat-button{width:44px!important;height:44px!important}}.preset-options{margin-bottom:32px;padding:32px;background:linear-gradient(135deg,var(--glass-bg) 0%,rgba(15,23,42,.9) 100%);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:var(--border-radius);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg),inset 0 1px #ffffff1a;position:relative;animation:presetFadeIn .6s ease-out}.preset-options:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-color),var(--accent-secondary),transparent);border-radius:var(--border-radius) var(--border-radius) 0 0}@keyframes presetFadeIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.preset-header{text-align:center;margin-bottom:24px}.preset-options h3{margin:0 0 8px;font-size:1.3em;font-weight:700;background:linear-gradient(135deg,var(--text-color) 0%,var(--accent-color) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.preset-subtitle{margin:0 0 16px;font-size:.9em;color:var(--secondary-text-color);font-weight:500}.preset-footer{text-align:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--glass-border)}.preset-footer p{margin:0;font-size:.85em;color:var(--secondary-text-color);font-style:italic}.preset-grid{display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start;overflow-x:auto;padding:4px 0;scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent}.preset-grid::-webkit-scrollbar{height:6px}.preset-grid::-webkit-scrollbar-track{background:transparent}.preset-grid::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.preset-grid::-webkit-scrollbar-thumb:hover{background:var(--secondary-text-color)}.preset-button{display:flex;flex-direction:row;align-items:center;gap:10px;padding:12px 20px;background:linear-gradient(135deg,#ffffff14,#ffffff08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:28px;cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94);font-size:.9em;font-weight:700;color:var(--text-color);white-space:nowrap;flex-shrink:0;box-shadow:var(--shadow-sm),inset 0 1px #ffffff1a;position:relative;overflow:hidden;min-width:fit-content;letter-spacing:.01em}.preset-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.preset-button:hover:before{left:100%}.preset-button:hover{border-color:var(--accent-color);background:linear-gradient(135deg,#8b5cf633,#3b82f626);box-shadow:var(--shadow-lg),0 0 25px #8b5cf64d;color:#fff}.preset-button:hover .preset-icon{transform:scale(1.2) rotate(5deg);filter:brightness(1.3)}.preset-button:active{opacity:.9}.preset-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.preset-button:disabled:before{display:none}.preset-loading{position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:.8em;animation:pulse 1.5s ease-in-out infinite}.preset-icon{font-size:1.2em;line-height:1}.preset-label{text-align:center;line-height:1.2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease}.modal-content{background:linear-gradient(135deg,var(--glass-bg) 0%,rgba(15,23,42,.95) 100%);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--border-radius);box-shadow:var(--shadow-lg),inset 0 1px #ffffff1a;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;animation:modalSlideIn .5s cubic-bezier(.25,.46,.45,.94);position:relative}.modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent-color),var(--accent-secondary),var(--accent-color));border-radius:var(--border-radius) var(--border-radius) 0 0}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--glass-border);background:linear-gradient(135deg,#3b82f61a,#8b5cf61a)}.modal-header h2{margin:0;font-size:1.2em;font-weight:700;background:linear-gradient(135deg,var(--text-color) 0%,var(--accent-color) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.modal-close{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--error-color);cursor:pointer;padding:8px;border-radius:8px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:1.2em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-close:hover{background:#ef444433;color:#fff;box-shadow:var(--shadow-sm)}.modal-body{padding:20px}.setting-group{margin-bottom:20px}.setting-group:last-child{margin-bottom:0}.setting-group label{display:block;font-weight:600;color:var(--text-color);margin-bottom:8px;font-size:.9rem}.setting-group input[type=password],.setting-group input[type=text]{width:100%;padding:10px 12px;border:1px solid var(--input-border-color);border-radius:8px;font-size:.9rem;background:var(--input-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-color);transition:all .3s ease;box-shadow:var(--shadow-sm)}.setting-group input[type=password]:focus,.setting-group input[type=text]:focus{outline:none;border-color:var(--button-primary-bg);box-shadow:0 0 0 3px #3b82f64d,var(--shadow-md);transform:translateY(-2px)}.setting-toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:12px 16px;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.setting-toggle:hover{background:#ffffff14;border-color:var(--button-primary-bg);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.setting-toggle-info{display:flex;flex-direction:column;gap:4px;flex-grow:1}.setting-toggle-info label{margin-bottom:0!important;font-size:.9rem;font-weight:600}.setting-status{font-size:.75em;font-weight:500;opacity:.8}.setting-toggle input[type=checkbox]{width:24px;height:24px;accent-color:var(--button-primary-bg);cursor:pointer;border-radius:4px}.setting-group small{display:block;color:var(--secondary-text-color);font-size:.8em;line-height:1.4;margin-top:6px;padding:8px 10px;background:#ffffff08;border-radius:6px;border-left:2px solid var(--accent-color)}@media (max-width: 768px){.preset-options{padding:20px;margin-bottom:24px}.preset-header h3{font-size:1.1em}.preset-subtitle{font-size:.85em}.preset-grid{gap:6px;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.preset-button{padding:8px 12px;font-size:.8em;gap:6px;border-radius:20px;min-width:fit-content}.preset-icon{font-size:1.2em}.preset-footer p{font-size:.8em}.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header,.modal-body{padding:16px 20px}.setting-group{margin-bottom:16px}.setting-group input[type=password],.setting-group input[type=text]{font-size:16px}}.thought-summary{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-left:4px solid var(--button-primary-bg);padding:16px 20px;margin-bottom:16px;border-radius:12px;font-size:.9em;line-height:1.5;color:var(--text-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.thought-summary strong{color:var(--button-primary-bg);font-weight:700}.image-container{display:flex;flex-direction:column;gap:16px;align-items:center;padding:24px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--border-radius);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.image-container img{max-width:100%;height:auto;border-radius:12px;box-shadow:var(--shadow-md);transition:all .3s ease}.image-container img:hover{transform:scale(1.03) translateY(-4px);box-shadow:var(--shadow-lg)}.image-container p{margin:0;text-align:center;color:var(--secondary-text-color);font-size:1rem;font-style:italic;font-weight:500}.uploaded-image-preview{position:relative;display:inline-block;margin-bottom:12px;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md)}.preview-image{max-width:140px;max-height:100px;border-radius:12px;object-fit:cover;transition:all .3s ease}.preview-image:hover{transform:scale(1.05)}.remove-image-button{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;background:var(--error-color);color:#fff;border:2px solid var(--app-background);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;transition:all .3s ease;box-shadow:var(--shadow-sm)}.remove-image-button:hover{background:#dc2626;transform:scale(1.1);box-shadow:var(--shadow-md)}.uploaded-image-container{margin-bottom:8px}.uploaded-image-container img{max-width:200px;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.sender-ai .message-bubble a,.sender-ai .message-bubble a:hover,.sender-ai .message-bubble a:focus,.sender-ai .message-bubble a:active{pointer-events:none;cursor:default;text-decoration:none;color:inherit}.message-container.type-html .message-bubble iframe{pointer-events:auto}*:focus-visible{outline:2px solid var(--button-primary-bg);outline-offset:2px}html{scroll-behavior:smooth}::selection{background:#3b82f64d;color:var(--text-color)}::-moz-selection{background:#3b82f64d;color:var(--text-color)}.loading{opacity:.7;pointer-events:none}.message-bubble,.preset-button,.settings-button,.modal-content{will-change:transform}@media (prefers-contrast: high){:root{--glass-bg: rgba(0, 0, 0, .9);--glass-border: rgba(255, 255, 255, .3)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-color-scheme: light){:root{color-scheme:dark}}/ * Typing Indicator Styles */ .typing-indicator{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#8b5cf61a,#3b82f614);border:1px solid rgba(139,92,246,.3);border-radius:20px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);animation:typingIndicatorFadeIn .3s ease-out;margin-bottom:16px;align-self:flex-start;max-width:85%}.typing-dots{display:flex;gap:4px;align-items:center}.typing-dot{width:8px;height:8px;background:var(--accent-color);border-radius:50%;animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(1){animation-delay:0ms}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.typing-message{font-size:.9em;font-weight:600;color:var(--accent-color);font-style:italic}@keyframes typingIndicatorFadeIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-10px);opacity:1}}.message-container{animation:messageSlideIn .5s cubic-bezier(.25,.46,.45,.94)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px) translate(-10px) scale(.95)}to{opacity:1;transform:translateY(0) translate(0) scale(1)}}.chat-messages-area::-webkit-scrollbar{width:8px}.chat-messages-area::-webkit-scrollbar-track{background:#0f172a4d;border-radius:4px}.chat-messages-area::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-secondary) 100%);border-radius:4px;transition:all .3s ease}.chat-messages-area::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--accent-secondary) 0%,var(--accent-color) 100%);box-shadow:0 0 10px #8b5cf64d}.preset-button:focus-visible,.settings-button:focus-visible,.paperclip-button:focus-visible,.clear-chat-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px;box-shadow:0 0 0 4px #8b5cf633}@media (max-width: 640px){.chat-app-container{margin:8px;height:calc(100vh - 16px);border-radius:16px}.chat-header{padding:20px 24px}.chat-header h1{font-size:1.4em}.chat-messages-area{padding:20px 24px}.chat-input-area{padding:16px 24px}.input-row input[type=text]{padding:16px 24px;border-radius:28px}.input-row button:not(.paperclip-button):not(.clear-chat-button){padding:16px 28px;border-radius:28px}.paperclip-button,.clear-chat-button{width:48px!important;height:48px!important;padding:12px!important}.preset-options{padding:24px}.preset-button{padding:10px 16px;font-size:.85em;border-radius:24px}}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(15, 23, 42, .9);--glass-border: rgba(148, 163, 184, .2)}}@media (prefers-reduced-motion: no-preference){.message-bubble,.preset-button,.settings-button,.paperclip-button,.clear-chat-button,.input-row input[type=text],.input-row button{will-change:transform,box-shadow}}@media print{.chat-app-container{box-shadow:none;border:1px solid #ccc;background:#fff}.chat-header,.chat-input-area{display:none}.message-bubble{box-shadow:none;border:1px solid #ddd;background:#f9f9f9;color:#333}}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px}.spinner-ring{position:relative;display:inline-block}.loading-spinner.small .spinner-ring{width:24px;height:24px}.loading-spinner.medium .spinner-ring{width:32px;height:32px}.loading-spinner.large .spinner-ring{width:48px;height:48px}.spinner-segment{position:absolute;border-radius:50%;border:3px solid transparent;animation:spinnerRotate 1.2s cubic-bezier(.5,0,.5,1) infinite}.loading-spinner.small .spinner-segment{width:24px;height:24px;border-width:2px}.loading-spinner.medium .spinner-segment{width:32px;height:32px;border-width:3px}.loading-spinner.large .spinner-segment{width:48px;height:48px;border-width:4px}.spinner-segment:nth-child(1){border-top-color:var(--accent-color);animation-delay:-.45s}.spinner-segment:nth-child(2){border-right-color:var(--accent-secondary);animation-delay:-.3s}.spinner-segment:nth-child(3){border-bottom-color:var(--success-color);animation-delay:-.15s}.spinner-segment:nth-child(4){border-left-color:var(--button-primary-bg)}.loading-message{font-size:.9em;font-weight:600;color:var(--secondary-text-color);text-align:center;animation:loadingPulse 2s ease-in-out infinite}@keyframes spinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loadingPulse{0%,to{opacity:.6}50%{opacity:1}}.input-row button:disabled{background:linear-gradient(135deg,var(--secondary-text-color) 0%,var(--tertiary-text-color) 100%)!important;color:var(--background-color)!important;cursor:not-allowed;box-shadow:none!important;transform:none!important;position:relative;overflow:hidden}.input-row button:disabled:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:buttonLoading 1.5s ease-in-out infinite}@keyframes buttonLoading{0%{left:-100%}to{left:100%}}.preset-button:disabled{opacity:.7;cursor:not-allowed;transform:none!important;background:linear-gradient(135deg,#ffffff0d,#ffffff05)!important;position:relative;overflow:hidden}.preset-button:disabled:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(139,92,246,.3),transparent);animation:presetLoading 2s ease-in-out infinite}@keyframes presetLoading{0%{left:-100%}to{left:100%}}*{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.message-bubble,.preset-options,.modal-content,.thinking-overlay,.typing-indicator{position:relative}.message-bubble:after,.preset-options:after,.modal-content:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(255,255,255,.05) 100%);pointer-events:none;opacity:0;transition:opacity .3s ease}.message-bubble:hover:after,.preset-options:hover:after{opacity:1}@media (prefers-reduced-motion: reduce){.thinking-overlay,.typing-indicator,.loading-spinner,.preset-button,.message-bubble{animation:none!important}.spinner-segment{animation:none!important;border-top-color:var(--accent-color)}*{transition-duration:.01ms!important}}@media (prefers-contrast: high){:root{--glass-bg: rgba(0, 0, 0, .95);--glass-border: rgba(255, 255, 255, .5);--text-color: #ffffff;--secondary-text-color: #e0e0e0}.message-bubble,.preset-button,.thinking-overlay{border-width:2px}}.message-status{display:flex;align-items:center;gap:6px;font-size:.75em;color:var(--tertiary-text-color);margin-top:8px;opacity:.8;transition:opacity .3s ease}.message-container:hover .message-status{opacity:1}.status-icon{font-size:.9em;transition:all .3s ease}.message-status.sending .status-icon{animation:statusPulse 1.5s ease-in-out infinite}.message-status.delivered .status-icon{animation:statusSuccess .5s ease-out}.message-status.error .status-icon{animation:statusError .5s ease-out}.status-timestamp{font-size:.9em;color:var(--tertiary-text-color);font-weight:500}@keyframes statusPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes statusSuccess{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes statusError{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.message-container{position:relative;margin-bottom:20px}.message-container.sender-user{align-items:flex-end}.message-container.sender-user .message-status{align-self:flex-end;text-align:right}.message-container.sender-ai .message-status{align-self:flex-start;text-align:left}.message-bubble:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),0 0 30px #3b82f626}.sender-user .message-bubble:hover{box-shadow:var(--shadow-lg),0 0 30px #3b82f640}.sender-ai .message-bubble:hover{box-shadow:var(--shadow-lg),0 0 30px #37415166}.code-block-container{position:relative;margin:16px 0;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,var(--code-background) 0%,#1a1a1a 100%);border:1px solid rgba(148,163,184,.2);box-shadow:var(--shadow-md),inset 0 1px #ffffff1a}.code-block-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-color),transparent)}.code-block-container pre{padding:24px;margin:0;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:.9em;line-height:1.7;color:var(--code-text-color);background:transparent;overflow-x:auto}.copy-code-button{position:absolute;top:16px;right:16px;background:linear-gradient(135deg,#3b82f633,#8b5cf626);color:var(--accent-color);border:1px solid rgba(59,130,246,.3);border-radius:10px;padding:8px 14px;font-size:.8em;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);opacity:.8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:center;gap:6px;letter-spacing:.02em}.copy-code-button:hover{background:linear-gradient(135deg,#3b82f64d,#8b5cf640);color:#fff;opacity:1;transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-sm),0 0 15px #3b82f64d}.image-container{padding:32px;background:linear-gradient(135deg,var(--glass-bg) 0%,rgba(15,23,42,.95) 100%);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:20px;border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);text-align:center;position:relative;overflow:hidden}.image-container:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent-color),var(--accent-secondary),var(--success-color))}.image-container img{max-width:100%;height:auto;border-radius:16px;box-shadow:var(--shadow-lg);transition:all .4s cubic-bezier(.25,.46,.45,.94);margin-bottom:20px}.image-container img:hover{transform:scale(1.02) translateY(-4px);box-shadow:var(--shadow-lg),0 0 40px #3b82f633}.image-container p{margin:0;font-size:1rem;color:var(--secondary-text-color);font-weight:500;line-height:1.6}.uploaded-image-preview{position:relative;display:inline-block;margin-bottom:16px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);transition:all .3s ease}.uploaded-image-preview:hover{transform:scale(1.02) translateY(-2px);box-shadow:var(--shadow-lg)}.preview-image{max-width:160px;max-height:120px;border-radius:16px;object-fit:cover;transition:all .3s ease}.remove-image-button{position:absolute;top:-8px;right:-8px;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--error-color) 0%,#dc2626 100%);color:#fff;border:3px solid var(--app-background);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;transition:all .3s cubic-bezier(.25,.46,.45,.94);box-shadow:var(--shadow-sm)}.remove-image-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:scale(1.15);box-shadow:var(--shadow-md),0 0 15px #ef444466}.thought-summary{background:linear-gradient(135deg,#3b82f61f,#8b5cf614);border:1px solid rgba(59,130,246,.4);border-left:4px solid var(--accent-color);padding:20px 24px;margin-bottom:20px;border-radius:16px;font-size:.95em;line-height:1.6;color:var(--text-color);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-sm),inset 0 1px #ffffff1a;position:relative}.thought-summary:before{content:"💭";position:absolute;top:16px;right:20px;font-size:1.2em;opacity:.6}.thought-summary strong{color:var(--accent-color);font-weight:700;font-size:.9em;text-transform:uppercase;letter-spacing:.05em}.notification-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}.notification-toast{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--shadow-lg);pointer-events:auto;animation:notificationSlideIn .4s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.notification-toast.exiting{animation:notificationSlideOut .3s cubic-bezier(.25,.46,.45,.94) forwards}.notification-toast.success{border-left:4px solid var(--success-color);background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,var(--glass-bg) 100%)}.notification-toast.error{border-left:4px solid var(--error-color);background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,var(--glass-bg) 100%)}.notification-toast.warning{border-left:4px solid var(--warning-color);background:linear-gradient(135deg,rgba(245,158,11,.1) 0%,var(--glass-bg) 100%)}.notification-toast.info{border-left:4px solid var(--accent-color);background:linear-gradient(135deg,rgba(59,130,246,.1) 0%,var(--glass-bg) 100%)}.notification-icon{font-size:1.2em;line-height:1;margin-top:2px}.notification-content{flex:1;min-width:0}.notification-title{font-weight:700;font-size:.9em;color:var(--text-color);margin-bottom:4px;line-height:1.4}.notification-message{font-size:.85em;color:var(--secondary-text-color);line-height:1.4;word-wrap:break-word}.notification-close{background:none;border:none;color:var(--secondary-text-color);cursor:pointer;font-size:1.4em;line-height:1;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;margin-top:-2px}.notification-close:hover{background:#ffffff1a;color:var(--text-color);transform:scale(1.1)}@keyframes notificationSlideIn{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes notificationSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.95)}}.settings-button{background:linear-gradient(135deg,#ffffff14,#ffffff08);border:2px solid var(--glass-border);color:var(--secondary-text-color);cursor:pointer;padding:14px;border-radius:16px;transition:all .4s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;justify-content:center;font-size:1.3em;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;overflow:hidden}.settings-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .6s ease}.settings-button:hover:before{left:100%}.settings-button:hover{background:linear-gradient(135deg,#3b82f633,#8b5cf626);border-color:var(--accent-color);color:#fff;transform:translateY(-3px) scale(1.05);box-shadow:var(--shadow-md),0 0 20px #3b82f64d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modalOverlayFadeIn .3s ease}@keyframes modalOverlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--glass-border);background:linear-gradient(135deg,#3b82f61f,#8b5cf614);position:relative}.modal-header:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.4),transparent)}.modal-header h2{margin:0;font-size:1.3em;font-weight:800;background:linear-gradient(135deg,var(--text-color) 0%,var(--accent-color) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.modal-close{background:linear-gradient(135deg,#ef444426,#dc267f1a);border:2px solid rgba(239,68,68,.4);color:var(--error-color);cursor:pointer;padding:10px;border-radius:12px;transition:all .4s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;justify-content:center;font-size:1.3em;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:40px;height:40px}.modal-close:hover{background:linear-gradient(135deg,#ef44444d,#dc267f33);color:#fff;transform:translateY(-2px) scale(1.1);box-shadow:var(--shadow-sm),0 0 15px #ef444466}.setting-group{margin-bottom:24px;animation:settingFadeIn .4s ease-out}.setting-group:nth-child(n){animation-delay:calc(.1s * var(--index, 0))}@keyframes settingFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.setting-group label{display:block;font-weight:700;color:var(--text-color);margin-bottom:10px;font-size:.95rem;letter-spacing:.01em}.setting-group input[type=password],.setting-group input[type=text]{width:100%;padding:14px 16px;border:2px solid var(--input-border-color);border-radius:12px;font-size:.95rem;background:var(--input-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text-color);transition:all .4s cubic-bezier(.25,.46,.45,.94);box-shadow:var(--shadow-sm),inset 0 1px #ffffff1a}.setting-group input[type=password]:focus,.setting-group input[type=text]:focus{outline:none;border-color:var(--input-focus-border);background:#1f2937f2;box-shadow:0 0 0 4px #3b82f633,var(--shadow-glow),var(--shadow-md),inset 0 1px #ffffff26;transform:translateY(-2px)}.setting-toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:16px 20px;background:linear-gradient(135deg,#ffffff14,#ffffff08);border:1px solid var(--glass-border);border-radius:12px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:all .4s cubic-bezier(.25,.46,.45,.94);cursor:pointer}.setting-toggle:hover{background:linear-gradient(135deg,#ffffff1f,#ffffff0f);border-color:var(--accent-color);transform:translateY(-2px);box-shadow:var(--shadow-sm),0 0 15px #3b82f633}.setting-toggle input[type=checkbox]{width:28px;height:28px;accent-color:var(--accent-color);cursor:pointer;border-radius:6px;transition:all .3s ease}.setting-toggle input[type=checkbox]:checked{transform:scale(1.1)}@media (max-width: 640px){.notification-container{top:10px;right:10px;left:10px;max-width:none}.notification-toast{padding:14px 16px;border-radius:12px}.modal-overlay{padding:10px}.modal-content{max-width:none;width:100%;max-height:90vh}.modal-header,.modal-body{padding:16px 20px}.setting-group{margin-bottom:20px}.setting-toggle{padding:14px 16px}}.help-tooltip-container{position:relative;display:inline-block}.help-button{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b82f633,#8b5cf626);border:1px solid rgba(59,130,246,.3);color:var(--accent-color);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9em;font-weight:700;transition:all .3s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.help-button:hover{background:linear-gradient(135deg,#3b82f64d,#8b5cf640);color:#fff;box-shadow:var(--shadow-sm),0 0 15px #3b82f64d}.help-tooltip{position:absolute;top:100%;right:0;margin-top:12px;width:280px;background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--shadow-lg);z-index:1000;animation:helpTooltipSlideIn .3s cubic-bezier(.25,.46,.45,.94)}.help-tooltip-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--glass-border);background:linear-gradient(135deg,#3b82f61a,#8b5cf614);border-radius:16px 16px 0 0}.help-tooltip-header h3{margin:0;font-size:1em;font-weight:700;color:var(--text-color)}.help-close{background:none;border:none;color:var(--secondary-text-color);cursor:pointer;font-size:1.2em;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.help-close:hover{background:#ffffff1a;color:var(--text-color)}.help-shortcuts{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.help-shortcut{display:flex;align-items:center;justify-content:space-between;gap:12px}.help-key{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:1px solid var(--glass-border);border-radius:6px;padding:4px 8px;font-size:.8em;font-weight:600;color:var(--accent-color);font-family:JetBrains Mono,monospace;min-width:fit-content;text-align:center;box-shadow:inset 0 1px #ffffff1a}.help-description{font-size:.85em;color:var(--secondary-text-color);flex:1;text-align:right}@keyframes helpTooltipSlideIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.header-controls{display:flex;align-items:center;gap:12px}@media (max-width: 768px){.help-tooltip{width:260px;right:-20px}.help-button{width:28px;height:28px;font-size:.8em}.help-shortcuts{padding:12px 16px;gap:10px}.help-shortcut{gap:8px}.help-key{padding:3px 6px;font-size:.75em}.help-description{font-size:.8em}}@media (prefers-reduced-motion: no-preference){.help-tooltip,.help-button{will-change:transform,opacity}}.help-tooltip{outline:none}.help-tooltip:focus-within{box-shadow:var(--shadow-lg),0 0 0 3px #3b82f64d}@media (prefers-color-scheme: dark){.help-key{background:linear-gradient(135deg,#ffffff26,#ffffff14);border-color:#94a3b84d}}#root{animation:appLoad 1s cubic-bezier(.25,.46,.45,.94)}@keyframes appLoad{0%{opacity:0;transform:scale(.98);filter:blur(2px)}to{opacity:1;transform:scale(1);filter:blur(0)}}*{scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.5) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-secondary) 100%);border-radius:3px;transition:all .3s ease}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,var(--accent-secondary) 0%,var(--accent-color) 100%);box-shadow:0 0 8px #8b5cf666}::selection{background:linear-gradient(135deg,#3b82f666,#8b5cf64d);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}::-moz-selection{background:linear-gradient(135deg,#3b82f666,#8b5cf64d);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}*:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px;box-shadow:0 0 0 5px #8b5cf633;transition:all .3s ease}button{position:relative;overflow:hidden}button:not(:disabled):active{transform:scale(.98)}.chat-app-container,.modal-content,.preset-options,.notification-toast{position:relative}.chat-app-container:after,.modal-content:after,.preset-options:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,transparent 50%,rgba(255,255,255,.02) 100%);pointer-events:none;border-radius:inherit;opacity:.8}.message-bubble,.preset-button,.notification-toast,.modal-content{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}@media (max-width: 480px){body{padding:8px}.chat-app-container{height:calc(100vh - 16px);border-radius:12px}.chat-header{padding:16px 20px}.chat-header h1{font-size:1.2em}.header-controls{gap:8px}.help-button,.settings-button{width:36px;height:36px;padding:8px}.chat-messages-area{padding:16px 20px;gap:12px}.chat-input-area{padding:12px 20px}.input-row{gap:6px}.input-row input[type=text]{padding:14px 20px;font-size:16px}.paperclip-button,.clear-chat-button{width:44px!important;height:44px!important;padding:10px!important}.message-bubble{padding:14px 18px;font-size:.95rem}.preset-options{padding:20px;margin-bottom:20px}.preset-button{padding:8px 14px;font-size:.8em;gap:6px}}@media (min-width: 1400px){.chat-app-container{max-width:1400px}.chat-messages-area{padding:32px 48px}.chat-input-area{padding:24px 48px}.chat-header{padding:28px 48px}.preset-options{padding:40px}}@media print{*{animation:none!important;transition:none!important;box-shadow:none!important;background:#fff!important;color:#000!important}.chat-header,.chat-input-area,.notification-container,.help-tooltip-container{display:none!important}.chat-app-container{height:auto!important;max-height:none!important;border:1px solid #ccc!important;border-radius:0!important}.message-bubble{border:1px solid #ddd!important;margin-bottom:16px!important;page-break-inside:avoid}.code-block-container{border:1px solid #ccc!important;background:#f5f5f5!important;page-break-inside:avoid}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.thinking-overlay,.typing-indicator,.loading-spinner{animation:none!important}.spinner-segment{animation:none!important;border-top-color:var(--accent-color)!important}}@media (prefers-contrast: high){:root{--glass-bg: rgba(0, 0, 0, .98);--glass-border: rgba(255, 255, 255, .8);--text-color: #ffffff;--secondary-text-color: #f0f0f0;--accent-color: #60a5fa}.message-bubble,.preset-button,.notification-toast,.modal-content{border-width:2px!important;box-shadow:0 4px 8px #000c!important}button:focus-visible{outline-width:3px!important;outline-offset:2px!important}}.message-container,.preset-button,.notification-toast,.modal-overlay,.thinking-overlay,.typing-indicator{transform:translateZ(0);will-change:transform,opacity}@media (prefers-reduced-motion: no-preference){body:before{animation:backgroundShift 30s ease-in-out infinite}.chat-header h1{animation:titleGlow 4s ease-in-out infinite}}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.chat-messages-area{contain:layout style paint}.message-bubble{contain:layout style}
