:root{--bg-gradient-start: #111827;--bg-gradient-middle: #1f2937;--bg-gradient-end: #000000;--text-primary: #ffffff;--text-secondary: #9ca3af;--primary-color: #2563eb;--primary-hover: #1d4ed8;--error-bg: rgba(239, 68, 68, .2);--error-border: rgba(239, 68, 68, .5);--error-text: #fecaca;--input-bg: rgba(17, 24, 39, .5);--input-border: #374151;--glass-bg: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .2)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:linear-gradient(135deg,var(--bg-gradient-start),var(--bg-gradient-middle),var(--bg-gradient-end));color:var(--text-primary);min-height:100vh}.app-container{min-height:100vh;display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.w-full{width:100%}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(to bottom right,#111827,#1f2937,#000)}.login-card{width:100%;max-width:28rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;border:1px solid var(--glass-border);padding:2rem;animation:fadeIn .5s ease-out}.login-header{text-align:center;margin-bottom:2rem}.login-title{font-size:1.875rem;font-weight:700;background:linear-gradient(to right,#60a5fa,#9333ea);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.5rem}.login-subtitle{color:var(--text-secondary);font-size:.875rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:#d1d5db;margin-bottom:.5rem;margin-left:.25rem}.input-wrapper{position:relative}.input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af;height:1.25rem;width:1.25rem}.form-input{width:100%;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:.75rem;padding:.75rem 1rem .75rem 2.5rem;color:#fff;font-size:1rem;transition:all .2s}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f680}.error-message{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);font-size:.875rem;border-radius:.5rem;padding:.75rem;text-align:center;margin-bottom:1.5rem}.submit-button{width:100%;background:linear-gradient(to right,#2563eb,#9333ea);color:#fff;font-weight:600;padding:.75rem;border-radius:.75rem;border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.submit-button:hover{transform:scale(1.02);opacity:.9}.submit-button:active{transform:scale(.98)}.submit-button:disabled{opacity:.7;cursor:not-allowed}.spinner{animation:spin 1s linear infinite;height:1.25rem;width:1.25rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-layout{display:flex;flex-direction:column;height:100vh;background-color:var(--bg-gradient-start);color:var(--text-primary);overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background-color:#0000004d;border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-left,.header-right{display:flex;align-items:center;gap:1rem}.new-chat-btn{padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-weight:500;transition:background-color .2s;font-size:.875rem}.new-chat-btn:hover{background-color:var(--primary-hover)}.user-profile{display:flex;align-items:center;gap:.75rem}.user-avatar{width:2rem;height:2rem;background-color:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.user-email{font-size:.875rem;color:var(--text-secondary)}.logout-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:.5rem;transition:color .2s,background-color .2s}.logout-btn:hover{color:var(--error-text);background-color:var(--error-bg)}.chat-main{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.controls-container{padding:1rem 2rem;display:flex;justify-content:center;align-items:center;gap:1.5rem;position:absolute;top:0;left:0;right:0;z-index:10;background:linear-gradient(to bottom,#0006,#0000)}.model-selector{background-color:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;cursor:pointer;outline:none;min-width:200px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:border-color .2s}.model-selector:hover,.model-selector:focus{border-color:var(--primary-color)}.model-selector option{background-color:var(--bg-gradient-middle);color:var(--text-primary)}.setting-group{display:flex;align-items:center;gap:.5rem;background-color:var(--glass-bg);padding:.25rem .75rem;border-radius:.5rem;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.setting-label{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.setting-input{background:transparent;border:none;color:var(--text-primary);font-size:.875rem;width:60px;text-align:center;outline:none}.setting-input:focus{color:var(--primary-color)}.setting-input::-webkit-outer-spin-button,.setting-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.setting-input[type=number]{-moz-appearance:textfield}.chat-messages{flex:1;overflow-y:auto;padding:5rem 2rem 2rem;display:flex;flex-direction:column;gap:1.5rem;scroll-behavior:smooth}.message{display:flex;gap:1rem;max-width:800px;margin:0 auto;width:100%}.message.user{flex-direction:row-reverse}.message-avatar{width:2rem;height:2rem;border-radius:.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.message.ai .message-avatar{background-color:#10a37f}.message.user .message-avatar{background-color:var(--primary-color)}.message-content{background-color:var(--glass-bg);padding:1rem;border-radius:.75rem;line-height:1.6;position:relative;min-width:100px;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;max-width:calc(100% - 3rem)}.message-content p{margin-bottom:.5rem;white-space:pre-wrap}.message-content p:last-child{margin-bottom:0}.message-content strong{font-weight:700;color:#fff}.message-content em{font-style:italic}.message-content ul,.message-content ol{margin-bottom:.5rem;padding-left:1.5rem}.message-content li{margin-bottom:.25rem;white-space:pre-wrap}.message-content code{background-color:#0000004d;padding:.2rem .4rem;border-radius:.25rem;font-family:monospace;font-size:.9em;color:#e2e8f0}.message-content pre{background-color:#0000004d;padding:1rem;border-radius:.5rem;overflow-x:auto;margin-bottom:.75rem;border:1px solid var(--glass-border)}.message-content pre code{background-color:transparent;padding:0;color:inherit;font-size:.9em;white-space:pre}.message-content blockquote{border-left:4px solid var(--primary-color);padding-left:1rem;margin-left:0;margin-bottom:.75rem;color:var(--text-secondary)}.message-content a{color:var(--primary-color);text-decoration:underline}.message.user .message-content{background-color:var(--primary-color);color:#fff;border-bottom-right-radius:.25rem}.message.ai .message-content{background-color:#2d3748;border-bottom-left-radius:.25rem}.message.user .message-content code{background-color:#fff3}.message.user .message-content pre{background-color:#ffffff1a;border-color:#fff3}.chat-input-area{padding:2rem;background-color:transparent;display:flex;justify-content:center}.chat-input-wrapper{width:100%;max-width:800px;position:relative;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:.75rem;box-shadow:0 0 15px #0000001a;display:flex;align-items:flex-end;padding:.75rem}.chat-input{flex:1;background:transparent;border:none;color:#fff;font-size:1rem;resize:none;max-height:200px;padding:.25rem .5rem;font-family:inherit}.chat-input:focus{outline:none}.send-btn{background-color:var(--primary-color);color:#fff;border:none;border-radius:.5rem;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.send-btn:hover{background-color:var(--primary-hover)}.send-btn:disabled{background-color:var(--text-secondary);cursor:not-allowed;opacity:.5}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
