body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.model-selector-trigger-v2{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:15px;cursor:pointer;display:flex;justify-content:space-between;min-height:60px;padding:16px 20px;transition:all .3s ease}@media (max-width:480px){.model-selector-trigger-v2{border-radius:12px;min-height:56px;padding:12px 16px}.model-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-text{font-size:12px;padding:4px 8px}.free-badge{font-size:9px;margin-left:6px;padding:2px 6px}}.model-selector-trigger-v2:hover{background:#ffffff26;box-shadow:0 10px 25px #0000001a;transform:translateY(-2px)}.selected-model-v2{color:#fff;flex:1 1;font-weight:500;gap:12px;margin-right:16px}.change-text{border-radius:8px;color:#ffffffb3;flex-shrink:0;font-size:14px;padding:6px 12px;transition:all .3s ease}.model-selector-trigger-v2:hover .change-text{background:#fff3;color:#fff}.free-badge{background:linear-gradient(135deg,#4caf50,#45a049);border-radius:12px;box-shadow:0 2px 8px #4caf504d;color:#fff;flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.5px;margin-left:8px;padding:3px 8px;text-transform:uppercase}.model-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow:auto;padding:20px;position:fixed;right:0;top:0;z-index:99999}.model-modal{animation:modalSlide .3s ease-out;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#1e1e32fa;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 20px 40px #00000080;max-height:90vh;max-width:800px;overflow:hidden;position:relative;transform:none;width:100%}.modal-header{align-items:center;background:#1e1e32fa;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-header h3{color:#fff;font-size:24px;font-weight:600;margin:0}.close-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;padding:8px;transition:all .3s ease}.close-btn:hover{background:#ff525233;border-color:#ff52524d}.search-section{padding:20px 24px 0}.search-input-container{align-items:center;display:flex;position:relative}.search-icon{color:#fff9;left:16px;position:absolute;z-index:1}.search-input{background:#ffffff26;border:1px solid #ffffff4d;border-radius:12px;color:#fff;font-size:16px;outline:none;padding:16px 48px;transition:all .3s ease;width:100%}.search-input:focus{background:#fff3;border-color:#667eea99;box-shadow:0 0 0 3px #667eea4d}.search-input::placeholder{color:#fff9}.clear-search{background:none;border:none;border-radius:4px;color:#fff9;cursor:pointer;padding:4px;position:absolute;right:16px;transition:all .3s ease}.clear-search:hover{background:#ffffff1a;color:#fff}.filters-section{padding:20px 24px}.filters-header{align-items:center;color:#fff;display:flex;font-weight:500;gap:8px;margin-bottom:12px}.clear-filters{background:none;border:1px solid #fff3;border-radius:6px;color:#ffffffb3;cursor:pointer;font-size:12px;margin-left:auto;padding:6px 12px;transition:all .3s ease}.clear-filters:hover{background:#ffffff1a;color:#fff}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{align-items:center;background:#ffffff26;border:1px solid #ffffff40;border-radius:20px;color:#ffffffe6;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:8px 12px;transition:all .3s ease}.filter-chip:hover{background:#ffffff26;color:#fff}.filter-chip.active{background:#667eea4d;border-color:#667eea80;color:#fff}.models-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));max-height:400px;overflow-y:auto;padding:0 24px 24px}.loading-models,.no-models{color:#ffffffb3;font-style:italic;grid-column:1/-1;padding:40px 20px;text-align:center}.model-card{background:#ffffff1f;border:1px solid #fff3;border-radius:12px;cursor:pointer;padding:16px;transition:all .3s ease}.model-card:hover{background:#fff3;border-color:#ffffff80;box-shadow:0 8px 25px #0003;transform:translateY(-2px)}.model-card.selected{background:#667eea33;border-color:#667eea80;box-shadow:0 0 0 2px #667eea4d}.model-card-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:8px}.model-icon{align-items:center;background:#ffffff1a;border-radius:8px;color:#fff;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.model-info{flex:1 1;min-width:0}.model-card .model-name{color:#fff;font-size:14px;font-weight:600;line-height:1.2;margin-bottom:4px}.model-id{color:#fff9;font-family:Courier New,monospace;font-size:11px;word-break:break-all}.model-price{background:#ffffff1a;border-radius:6px;color:#fffc;font-size:11px;padding:4px 8px;white-space:nowrap}.model-description{color:#ffffffb3;font-size:12px;line-height:1.4;margin-bottom:8px}.model-stats{align-items:center;display:flex;font-size:11px;justify-content:space-between}.context-length{color:#fff9}.selected-indicator{align-items:center;color:#4caf50;display:flex;font-weight:600;gap:4px}.models-grid::-webkit-scrollbar{width:6px}.models-grid::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.models-grid::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.models-grid::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width:768px){.model-modal{margin:10px;max-height:90vh}.models-grid{grid-template-columns:1fr}.filter-chips{justify-content:center}}@media (max-width:480px){.model-modal{border-radius:0;margin:0;max-height:100vh;max-width:100vw;overflow-x:hidden;width:100vw}.model-modal-overlay{padding:0}.modal-header{padding:15px 16px}.modal-header h3{font-size:20px}.search-section{padding:15px 16px 0}.filters-section{padding:15px 16px}.models-grid{gap:10px;grid-template-columns:1fr;padding:0 16px 20px}.model-card{overflow:hidden;padding:12px}.model-card-header{flex-wrap:nowrap;gap:8px}.model-icon{height:28px;width:28px}.model-card .model-name{font-size:13px}.model-id{font-size:10px;overflow-wrap:break-word;word-break:break-all}.model-price{font-size:10px;padding:3px 6px}.model-description{font-size:11px;overflow-wrap:break-word;word-break:break-word}.filter-chips{gap:6px}.filter-chip{font-size:12px;padding:6px 10px}}.message-bubble{position:relative}.text-content{word-wrap:break-word;color:#fff;line-height:1.6}.code-block-container{background:#1e1e1e;border:1px solid #3c3c3c;border-radius:8px;box-shadow:0 2px 8px #0000004d;margin:12px 0;overflow:hidden}.code-header{align-items:center;background:#2d2d30;border-bottom:1px solid #3c3c3c;display:flex;justify-content:space-between;padding:8px 16px}.language-tag{color:#ccc;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;font-weight:500;letter-spacing:.3px;text-transform:lowercase}.code-actions{display:flex;gap:8px}.action-btn{align-items:center;background:#3c3c3c;border:1px solid #5a5a5a;border-radius:4px;color:#ccc;display:flex;justify-content:center;padding:6px 8px;transition:all .2s ease}.action-btn:hover{background:#505050;border-color:#007acc;color:#fff}.copy-btn:hover,.preview-btn:hover{background:#0e639c;border-color:#007acc;color:#fff}.code-content{word-wrap:normal;background:#1e1e1e;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.4;margin:0;overflow-x:auto;padding:16px;tab-size:2;white-space:pre}.code-content::-webkit-scrollbar{height:12px;width:12px}.code-content::-webkit-scrollbar-track{background:#1e1e1e}.code-content::-webkit-scrollbar-thumb{background:#424242;border-radius:6px}.code-content::-webkit-scrollbar-thumb:hover{background:#4f4f4f}.code-content::-webkit-scrollbar-corner{background:#1e1e1e}.preview-container{background:#ffffff05;padding:16px}.message-copy-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff9;cursor:pointer;opacity:0;padding:4px 6px;position:absolute;right:8px;top:8px;transition:all .3s ease}.message-bubble:hover .message-copy-btn{opacity:1}.message-copy-btn:hover{background:#4caf504d;border-color:#4caf5080;color:#fff}.message-bubble.error .text-content{color:#ffcdd2}.message-bubble.system{background:#4caf5033;border-color:#4caf504d;font-style:italic;opacity:.9}.message-bubble.system .text-content{color:#c8e6c9;font-size:14px}.code-content{background:#1e1e1e!important;color:#d4d4d4}.language-css .code-content,.language-html .code-content,.language-javascript .code-content,.language-js .code-content,.language-json .code-content,.language-python .code-content,.language-text .code-content{color:#d4d4d4}.token-display{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#667eea26,#764ba226);border:1px solid #667eea4d;border-radius:12px;box-shadow:0 4px 16px #667eea1a;display:flex;justify-content:space-between;margin-bottom:12px;padding:12px 16px;transition:all .3s ease}.token-display:hover{border-color:#667eea80;box-shadow:0 6px 20px #667eea26}.token-info{flex:1 1;gap:10px}.token-icon,.token-info{align-items:center;display:flex}.token-icon{background:#667eea33;border-radius:6px;color:#667eea;height:28px;justify-content:center;width:28px}.token-details{display:flex;flex-direction:column;gap:2px}.context-line,.input-line{align-items:center;display:flex;font-size:12px;gap:6px}.input-line{font-weight:500}.context-line{font-size:11px;opacity:.8}.label{color:#ffffffb3;min-width:45px}.value{color:#fffffff2;font-weight:500}.attachment-indicator{background:#4caf5033;border-radius:4px;color:#4caf50;font-size:9px;font-weight:600;margin-left:4px;padding:2px 6px}.attachment-indicator:not(:first-of-type){margin-left:2px}.cost-info{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.cost-amount{color:#667eea;font-size:15px;font-weight:700;text-shadow:0 0 10px #667eea4d}.cost-label{color:#fff9;font-size:10px;font-style:italic;text-align:right}@media (max-width:768px){.token-display{margin-bottom:10px;padding:10px 12px}.token-icon{height:24px;width:24px}.context-line,.input-line{font-size:11px}.context-line{font-size:10px}.cost-amount{font-size:14px}.cost-label{font-size:9px}}@media (max-width:480px){.token-display{flex-direction:column;gap:8px;text-align:center}.token-info{justify-content:center}.cost-info{align-items:center}}.session-tracker{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#4caf501a,#43a0471a);border:1px solid #4caf504d;border-radius:12px;box-shadow:0 4px 16px #4caf500d;margin-bottom:12px;padding:12px}.session-tracker.header-session-tracker{border-radius:8px;margin-bottom:0;min-width:200px;padding:8px 12px}.session-tracker.header-session-tracker .session-header{margin-bottom:6px}.session-tracker.header-session-tracker .session-title{font-size:10px}.session-tracker.header-session-tracker .session-stats{gap:4px}.session-tracker.header-session-tracker .stat-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.session-tracker.header-session-tracker .stat-item{gap:4px}.session-tracker.header-session-tracker .stat-details{gap:1px}.session-tracker.header-session-tracker .stat-label{font-size:8px}.session-tracker.header-session-tracker .stat-value{font-size:10px}.session-tracker.header-session-tracker .stat-sub{font-size:8px}.session-tracker.header-session-tracker .progress-bar{height:4px;margin-bottom:2px}.session-tracker.header-session-tracker .progress-info,.session-tracker.header-session-tracker .progress-text,.session-tracker.header-session-tracker .refresh-time{font-size:8px}@media (max-width:768px){.session-tracker.header-session-tracker{display:none}}.session-header{margin-bottom:10px}.session-title{align-items:center;color:#fff;display:flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.5px;text-transform:uppercase}.session-stats{display:flex;flex-direction:column;gap:8px}.stat-row{display:flex;justify-content:space-between}.stat-item{align-items:center;display:flex;flex:1 1;gap:8px}.stat-item svg{color:#4caf50;flex-shrink:0}.stat-details{display:flex;flex-direction:column;gap:1px;min-width:0}.stat-label{color:#ffffffe6;font-size:10px;font-weight:500}.stat-value{color:#fff;font-size:12px;font-weight:600}.stat-sub{color:#fffc;font-size:9px}.session-progress{margin-top:6px}.progress-bar{background:#ffffff1a;border-radius:3px;height:6px;margin-bottom:4px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:3px;height:100%;transition:width .3s ease}.progress-info{align-items:center;display:flex;justify-content:space-between}.progress-text{color:#fff;font-size:9px;font-weight:500}.refresh-time{background:#4caf504d;border-radius:4px;color:#fff;font-size:9px;font-weight:600;padding:2px 6px}@media (max-width:768px){.session-tracker{padding:10px}.stat-item{gap:6px}.session-title,.stat-value{font-size:11px}.stat-label,.stat-sub{font-size:9px}}.chat-container{display:flex;flex-direction:column;height:100%;min-height:0}.messages-area{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:20px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 30px}@media (max-width:768px){.messages-area{gap:15px;padding:15px 20px}}@media (max-width:480px){.messages-area{gap:12px;padding:12px 16px}.message-content{max-width:85%}.message{gap:8px}.message-icon{height:32px;width:32px}}.input-area{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#ffffff26;border-top:1px solid #ffffff1a;bottom:0;box-shadow:0 -5px 20px #0000001a;flex-shrink:0;padding:20px 30px calc(20px + env(safe-area-inset-bottom));position:-webkit-sticky;position:sticky;z-index:999}@media (max-width:768px){.input-area{padding:15px 20px calc(15px + env(safe-area-inset-bottom))}}@media (max-width:480px){.input-area{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}}.input-stats{display:flex;gap:8px;margin-bottom:8px}.input-stats .session-tracker,.input-stats .token-display{flex:1 1;margin-bottom:0}.include-files-checkbox{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;margin-bottom:12px;padding:12px 16px}.checkbox-label{align-items:center;color:#ffffffe6;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px}.checkbox-input{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.checkbox-text{-webkit-user-select:none;user-select:none}@media (max-width:768px){.include-files-checkbox{margin-bottom:10px;padding:10px 12px}.checkbox-label{font-size:13px}.checkbox-input{height:16px;width:16px}}.files-loaded{color:#4caf50;font-size:12px;font-weight:600}.inline-session-tracker{margin-bottom:0!important}@media (max-width:768px){.input-stats{flex-direction:column;gap:6px}}@media (max-width:480px){.attachment-btn{border-radius:20px;padding:12px}.message-input,.send-btn{border-radius:20px;padding:12px 16px}.message-input{font-size:16px;min-height:44px;white-space:nowrap}.message-input::placeholder{font-size:14px}}.messages-area::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.messages-area::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.messages-area::-webkit-scrollbar-thumb:hover{background:#ffffff80}.layout-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;box-shadow:0 25px 50px #0000001a;display:flex;flex-direction:column;height:100%;margin:0 auto;max-width:1200px;min-height:calc(100vh - 60px);overflow:hidden}@media (max-width:768px){.layout-container{border:none;border-radius:0;height:100vh;margin:0;max-width:100%;min-height:calc(100vh - 50px);width:100%}}.layout-header{align-items:center;background:#ffffff1a;border-bottom:1px solid #ffffff1a;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 30px}@media (max-width:768px){.layout-header{padding:15px 20px}}@media (max-width:480px){.layout-header{padding:12px 16px}}.layout-content{display:flex;flex:1 1;flex-direction:column;min-height:0}.layout-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;padding:12px;transition:all .3s ease}.layout-btn:hover{background:#fff3;transform:translateY(-2px)}@media (max-width:768px){.layout-btn{padding:8px}}.status-container{margin-right:12px}.connection-status{color:#fff}.connection-status.connected{background:#4caf501a;color:#008504}.connection-status.disconnected{background:#f443361a;color:#a5150b}.project-path{background:#2196f31a;border:1px solid #2196f34d;border-radius:12px;color:#2078c0;font-size:12px;font-weight:500;padding:4px 8px}@media (max-width:768px){.header-actions{gap:4px}.status-container{display:none}}.vision-alert-overlay{animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:99998}.vision-alert-modal{animation:modalSlide .3s ease-out;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#1e1e32fa;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 20px 40px #00000080;left:50%;max-width:400px;padding:30px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:99999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlide{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.vision-alert-title{color:#fff;font-size:18px;font-weight:600;margin-bottom:16px;text-align:center}.vision-alert-message{color:#fffc;line-height:1.5;margin-bottom:20px;text-align:center}.vision-alert-actions{display:flex;gap:12px;justify-content:center}.vision-alert-btn{border:none;border-radius:12px;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.vision-alert-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.vision-alert-btn-secondary{background:#ffffff1a;border:1px solid #fff3;color:#fff}.vision-alert-btn:hover{box-shadow:0 8px 25px #0003;transform:translateY(-2px)}.model-selector-fixed{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border-top:1px solid #ffffff1a;bottom:0;padding:15px 20px;position:-webkit-sticky;position:sticky;z-index:1000}@media (max-width:768px){.ai-chat-container{border:none;border-radius:0;height:100vh;margin:0;max-width:100%;width:100%}}.chat-header{align-items:center;background:#ffffff1a;border-bottom:1px solid #ffffff1a;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 30px}@media (max-width:768px){.chat-header{padding:15px 20px}}@media (max-width:480px){.chat-header{padding:12px 16px}}.header-title{align-items:center;display:flex;flex:1 1;gap:15px}@media (max-width:480px){.header-title{gap:10px}}.header-icon{color:#fff;filter:drop-shadow(0 0 10px rgba(255,255,255,.3));height:32px;width:32px}.header-title h1{color:#fff;font-size:28px;font-weight:600;margin:0;text-shadow:0 2px 10px #0003}@media (max-width:768px){.header-title h1{font-size:20px}}@media (max-width:480px){.header-title h1{font-size:18px}.header-icon{height:24px;width:24px}}.settings-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;padding:12px;transition:all .3s ease}.settings-btn:hover{background:#fff3;transform:translateY(-2px)}.settings-panel{background:#ffffff0d;border-bottom:1px solid #ffffff1a;padding:20px 30px}@media (max-width:768px){.settings-panel{padding:15px 20px}.setting-item{align-items:stretch;flex-direction:column;gap:10px}.setting-item label{min-width:auto}}.setting-item{align-items:center;display:flex;gap:15px}.setting-item label{color:#fff;font-weight:500;min-width:150px}.setting-item input{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#fff;flex:1 1;outline:none;padding:12px 16px}.setting-item input::placeholder{color:#fff9}.setting-item button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.setting-item button:hover{box-shadow:0 10px 25px #0003;transform:translateY(-2px)}.model-selector-container{border-bottom:1px solid #ffffff1a;flex-shrink:0;padding:20px 30px}@media (max-width:768px){.model-selector-container{padding:15px 20px}}@media (max-width:480px){.model-selector-container{padding:12px 16px}}.messages-container{flex:1 1;padding:20px 30px}@media (max-width:768px){.messages-container{gap:15px;padding:15px 20px}}@media (max-width:480px){.messages-container{gap:12px;padding:12px 16px}}.message{animation:messageSlide .3s ease-out;display:flex;gap:15px}@keyframes messageSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.message.assistant{align-self:flex-start}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.message.user .message-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.message.assistant .message-icon{background:#ffffff1a;border:1px solid #fff3;color:#fff}.message-content{word-wrap:break-word;max-width:70%;overflow-wrap:break-word}@media (max-width:768px){.message-content{max-width:80%}}@media (max-width:480px){.message-content{max-width:85%}.message{gap:8px}.message-icon{height:32px;width:32px}.message-bubble{border-radius:16px;padding:12px 14px}}.message-bubble{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff1a;border-radius:20px;padding:16px 20px}.message.user .message-bubble{background:#ffffff26;color:#fff}.message.assistant .message-bubble{background:#ffffff1a;color:#fff}.message-bubble.error{background:#ff525233;border-color:#ff52524d}.message-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.attachment-preview{border-radius:8px;overflow:hidden}.attachment-image{border-radius:8px;max-height:200px;max-width:200px}.attachment-file{align-items:center;background:#ffffff1a;border-radius:8px;display:flex;font-size:14px;gap:8px;padding:8px 12px}.typing-indicator{display:flex;gap:4px;padding:16px 20px}.typing-indicator span{animation:typing 1.4s infinite;background:#fff9;border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.6;transform:scale(1)}30%{opacity:1;transform:scale(1.2)}}.input-container{background:#ffffff0d;padding:20px 30px}@media (max-width:768px){.input-container{padding:15px 20px max(15px,env(safe-area-inset-bottom))}}@media (max-width:480px){.input-container{padding:12px 16px max(12px,env(safe-area-inset-bottom))}}.attachments-preview{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.attachment-item{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:8px;position:relative}.attachment-thumb{border-radius:4px;height:60px;object-fit:cover;width:60px}.file-attachment{gap:8px;padding:4px}.file-attachment,.remove-attachment{align-items:center;color:#fff;display:flex;font-size:12px}.remove-attachment{background:#ff5252;border:none;border-radius:50%;cursor:pointer;height:20px;justify-content:center;position:absolute;right:-5px;top:-5px;width:20px}.input-row{align-items:flex-end;display:flex;gap:12px}@media (max-width:768px){.input-row{gap:8px}}@media (max-width:480px){.input-row{gap:8px}.attachment-btn{border-radius:20px;padding:12px}.message-input,.send-btn{border-radius:20px;padding:12px 16px}.message-input{font-size:16px;min-height:44px;white-space:nowrap}.message-input::placeholder{font-size:14px}}.attachment-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;padding:12px;transition:all .3s ease}.attachment-btn:hover{background:#fff3;transform:translateY(-2px)}.message-input{word-wrap:break-word;background:#ffffff1a;border:1px solid #fff3;border-radius:25px;color:#fff;flex:1 1;font-size:16px;max-height:120px;min-height:50px;outline:none;padding:16px 20px;resize:none}.message-input,.message-input::placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-input::placeholder{color:#fff9}.send-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;padding:16px 20px;transition:all .3s ease}.send-btn:hover:not(:disabled){box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.send-btn:disabled{cursor:not-allowed;opacity:.5}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.messages-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}:root{--tabs-h:56px}.ai-chat-container,.tab-content{display:flex;flex-direction:column}.app-tabs{position:-webkit-sticky;position:sticky}.tab-content{height:calc(100dvh - 56px);height:calc(100dvh - var(--tabs-h))}.ai-chat-container,.tab-content{border-radius:18px;overflow:hidden}.ai-chat-container{height:100%}.header-actions{align-items:center;display:flex;gap:8px}.action-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;padding:12px;transition:all .3s ease}.action-btn:hover:not(:disabled){background:#fff3;transform:translateY(-2px)}.action-btn:disabled{cursor:not-allowed;opacity:.5}.model-selector-container{padding:20px 24px}.model-selector-v2{grid-column-gap:12px;align-items:center;column-gap:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}.model-selector-trigger-v2{display:contents}.selected-model-v2{align-items:center;background:#ffffff1f;border:1px solid #fff3;border-radius:12px;display:flex;gap:8px;min-width:0;padding:8px 12px}.model-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-text,.free-badge{flex:0 0 auto}.change-text{background:#ffffff1a;border:1px solid #fff3;border-radius:10px;cursor:pointer;padding:8px 10px;position:static;white-space:nowrap}.status-container{display:flex;flex-direction:column;gap:4px;margin-left:12px}.connection-status{border-radius:12px;font-size:12px;font-weight:500;padding:4px 8px}.messages-container{-webkit-overflow-scrolling:touch;display:flex;flex:1 1 auto;flex-direction:column;gap:20px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 30px 120px}.input-container{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#ffffff26;border-bottom-left-radius:18px;border-bottom-right-radius:18px;border-top:1px solid #ffffff1a;bottom:0;box-shadow:0 -5px 20px #0000001a;flex-shrink:0;padding:20px 30px calc(20px + env(safe-area-inset-bottom));position:-webkit-sticky;position:sticky;z-index:999}.chat-history-panel,.file-explorer-panel,.project-selector-panel{background:#ffffff0d;border-bottom:1px solid #ffffff1a}.project-selector-panel{padding:20px 24px}.chat-history-header,.file-explorer-header,.project-selector-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:16px 24px}.file-explorer-header h3,.project-selector-header h3{color:#fff;font-size:16px;margin:0}.chat-history-header button,.project-selector-header button{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;padding:4px 8px}.project-input{align-items:center}.project-input input{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;flex:1 1;outline:none;padding:12px 16px}.project-input input::placeholder{color:#fff9}.project-input button{background:#667eea4d;border:1px solid #667eea80;border-radius:8px;color:#fff;cursor:pointer;padding:12px 20px;transition:all .3s ease}.project-input button:hover{background:#667eea66}.chat-history-list{padding:16px 24px}.no-chats{color:#fff9;font-style:italic;padding:20px;text-align:center}.chat-history-item{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:12px;margin-bottom:8px;padding:12px;transition:all .3s ease}.chat-history-item:hover{background:#ffffff1a}.chat-history-item.active{background:#667eea33;border-color:#667eea80}.chat-item-content{flex:1 1;min-width:0}.chat-title{color:#fff;font-size:14px;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-date{color:#fff9;font-size:11px}.chat-project{color:#2196f3cc;font-size:11px;margin-top:2px}.delete-chat-btn{background:#ff525233;border:1px solid #ff52524d;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;opacity:.7;padding:4px 6px;transition:all .3s ease}.delete-chat-btn:hover{background:#ff525266;opacity:1}.file-tree{padding:16px 24px}.file-item{align-items:center;border-radius:6px;color:#fffc;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:6px 8px;transition:all .2s ease}.file-item:hover{background:#ffffff1a;color:#fff}.file-item.selected{background:#667eea4d;border:1px solid #667eea80;color:#fff}.file-item.folder{font-weight:500}.file-item.file{margin-left:16px}.file-explorer-panel::-webkit-scrollbar{width:6px}.file-explorer-panel::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.file-explorer-panel::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.file-explorer-panel::-webkit-scrollbar-thumb:hover{background:#ffffff80}.connection-warning{align-items:flex-start;background:#ff98001a;border:1px solid #ff98004d;border-radius:12px;color:#ff9800;display:flex;gap:16px;margin:20px;padding:20px 24px}.warning-content{flex:1 1}.warning-title{color:#ff9800;display:block;font-size:16px;font-weight:600;margin-bottom:12px}.warning-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.download-btn{background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:8px;box-shadow:0 4px 12px #ff98004d;color:#fff;display:inline-block;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .3s ease}.download-btn:hover{background:linear-gradient(135deg,#f57c00,#ef6c00);box-shadow:0 6px 16px #ff980066;transform:translateY(-2px)}.connection-warning button{background:#ff980033;border:1px solid #ff98004d;border-radius:8px;color:#ff9800;cursor:pointer;font-weight:500;padding:10px 16px;transition:all .3s ease}.connection-warning button:hover{background:#ff98004d}.connection-help{grid-gap:16px;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:16px;padding:16px}.install-instructions,.troubleshooting{color:#ffffffe6}.install-instructions strong,.troubleshooting strong{color:#ff9800;display:block;font-weight:600;margin-bottom:8px}.connection-help ul{color:#fffc;font-size:12px;margin:8px 0 0;padding-left:20px}.connection-help li{line-height:1.4;margin:6px 0}.connection-help code{background:#0000004d;border-radius:4px;color:#4caf50;font-family:Courier New,monospace;padding:2px 6px}@media (max-width:768px){.connection-help{grid-template-columns:1fr}.warning-actions{flex-direction:column}.connection-warning button,.download-btn{text-align:center}}.include-files-status{align-items:center;background:#4caf501a;border:1px solid #4caf504d;border-radius:8px;color:#4caf50;display:flex;font-size:12px;gap:8px;margin-bottom:8px;padding:8px 12px}.files-count{font-weight:600}@media (max-width:768px){.model-selector-container{padding:15px 20px}.input-container{padding:15px 20px calc(15px + env(safe-area-inset-bottom))}.messages-container{gap:15px;padding:15px 20px 110px}.header-actions{gap:4px}.action-btn{padding:8px}.status-container{display:none}.file-explorer-header,.file-tree{padding:12px 16px}.file-item{font-size:13px;padding:8px 6px}}.project-selector-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border-bottom:1px solid #fff3;padding:20px 30px}.project-selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.project-selector-header h3{color:#fff;font-size:18px;font-weight:600;margin:0}.close-project-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:8px 12px;transition:all .3s ease}.close-project-btn:hover{background:#ff52524d;border-color:#ff525280}.project-input{align-items:stretch;display:flex;gap:12px}.project-actions{display:flex;gap:8px;margin-top:12px}.clear-project-btn{background:#ff525233;border:1px solid #ff52524d;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .3s ease;white-space:nowrap}.clear-project-btn:hover{background:#ff52524d;border-color:#ff525280}.project-info{background:#ffffff0d;border-radius:6px;color:#ffffffb3;font-size:12px;margin-top:8px;padding:8px 12px}.project-path-input{background:#ffffff26;border:1px solid #ffffff4d;border-radius:12px;caret-color:#fff;color:#fff;flex:1 1;font-size:16px;outline:none;padding:14px 18px;text-shadow:0 0 1px #ffffff80;transition:all .3s ease}.project-path-input:focus{background:#ffffff40;border-color:#667eeab3;box-shadow:0 0 0 3px #667eea4d;caret-color:#fff}.project-path-input::placeholder{color:#ffffffb3;text-shadow:none}.load-project-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s ease;white-space:nowrap}.load-project-btn:hover{background:linear-gradient(135deg,#7b8ff0,#8a5ab8);box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.load-project-btn:active{transform:translateY(0)}@media (max-width:768px){.project-selector-panel{padding:15px 20px}.project-input{flex-direction:column;gap:12px}.load-project-btn{width:100%}}@media (max-width:480px){.project-selector-panel{padding:12px 16px}.project-selector-header h3{font-size:16px}.project-path-input{font-size:14px;padding:12px 16px}.load-project-btn{font-size:14px;padding:12px 20px}}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;overflow-x:hidden}@media (max-width:768px){body{font-size:14px}}.App{display:flex;flex-direction:column;min-height:100vh;padding:0;position:relative}.app-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-bottom:1px solid #fff3;display:flex;height:60px;left:0;position:fixed;right:0;top:0;z-index:1000}.tab-btn{align-items:center;background:#0000;border:none;color:#ffffffb3;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:500;justify-content:center;padding:16px 24px;transition:all .3s ease}.tab-btn:hover{background:#ffffff1a;color:#fff}.tab-btn.active{background:#667eea4d;border-bottom:2px solid #667eea;color:#fff}.tab-content{flex:1 1;margin-top:60px;min-height:calc(100vh - 60px)}@media (max-width:768px){.tab-btn{font-size:14px;padding:12px 16px}.app-tabs{height:50px}.tab-content{margin-top:50px;min-height:calc(100vh - 50px)}.App{padding:0}}.App:before{animation:backgroundShift 20s ease-in-out infinite;background:radial-gradient(circle at 20% 80%,#7877c64d 0,#0000 50%),radial-gradient(circle at 80% 20%,#ff77c64d 0,#0000 50%),radial-gradient(circle at 40% 40%,#78ffc633 0,#0000 50%);content:"";height:100%;left:0;position:fixed;top:0;width:100%;z-index:-1}@keyframes backgroundShift{0%,to{transform:translateX(0) translateY(0)}33%{transform:translateX(-20px) translateY(20px)}66%{transform:translateX(20px) translateY(-20px)}}
/*# sourceMappingURL=main.0b969ebb.css.map*/