:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#f5f5f5;color:#333;line-height:1.6}.app{max-width:1000px;margin:0 auto;padding:2rem}header{text-align:center;margin-bottom:2rem}.header-top{display:flex;justify-content:space-between;align-items:center;padding:0 .5rem}.header-top h1{margin:0;flex:1;text-align:center}.reset-btn{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:transparent;border:1px solid #dc2626;border-radius:8px;color:#dc2626;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.reset-btn:hover{background:#fef2f2;border-color:#b91c1c}.theme-toggle{background:#fff;border:1px solid #ddd;border-radius:8px;padding:.5rem;cursor:pointer;color:#333;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 4px #0000000d}.theme-toggle:hover{background:#f5f5f5;border-color:#ccc}header h1{font-size:2rem;color:#1a1a2e}header p{color:#666}.save-indicator{display:inline-block;margin-top:.5rem;padding:.25rem .75rem;background:#d1fae5;color:#059669;border-radius:12px;font-size:.75rem;font-weight:500;animation:fadeInOut 1.5s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-5px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}.state-selector{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.state-selector label{font-size:.9rem;color:#555}.state-selector select{padding:.5rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;min-width:200px;cursor:pointer}.state-selector select:focus{outline:none;border-color:#1a1a2e}.tabs{display:flex;gap:.5rem;margin-bottom:2rem;background:#fff;padding:.5rem;border-radius:8px;box-shadow:0 2px 4px #0000000d}.tabs button{flex:1;padding:.75rem 1.5rem;border:none;background:transparent;font-size:1rem;cursor:pointer;border-radius:6px;transition:all .2s}.tabs button.active{background:#1a1a2e;color:#fff}.tabs button:hover:not(.active){background:#f0f0f0}main{display:grid;grid-template-columns:1fr 300px;gap:2rem}.form-section{display:flex;flex-direction:column;gap:1.5rem}.form-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000000d}.form-card h2{font-size:1.25rem;margin-bottom:1rem;color:#1a1a2e}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;color:#555;margin-bottom:.25rem}.form-group input{width:100%;padding:.625rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}.form-group input:focus{outline:none;border-color:#1a1a2e}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.helper{font-size:.875rem;color:#666;margin-top:.5rem}.summary{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000000d;height:fit-content;position:sticky;top:2rem}.summary h2{font-size:1.25rem;margin-bottom:1rem;color:#1a1a2e}.summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9rem}.summary-row.total{font-weight:600;font-size:1rem}.summary-row.crypto-gains{font-weight:500}.summary-row.sub-row{font-size:.8rem;color:#666;padding-left:.5rem}.summary-row.sub-row .gain{color:#27ae60}.summary-row.sub-row .loss{color:#e74c3c}.summary-row.balance{color:#e74c3c;font-weight:600}.summary-row.balance.refund{color:#27ae60}.summary-row.overtime{color:#27ae60;background:#27ae601a;padding:.25rem .5rem;border-radius:4px;margin:.25rem 0}.summary hr{border:none;border-top:1px solid #eee;margin:.5rem 0}.disclaimer{font-size:.75rem;color:#999;margin-top:1rem}.tx-list{margin:1rem 0}.tx-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f9f9f9;border-radius:6px;margin-bottom:.5rem}.tx-type{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.tx-type.buy{background:#e8f5e9;color:#2e7d32}.tx-type.sell{background:#ffebee;color:#c62828}.tx-type.transfer{background:#e3f2fd;color:#1565c0}.tx-network{font-size:.85rem}.tx-item button{margin-left:auto;background:none;border:none;font-size:1.25rem;cursor:pointer;color:#999}.tx-item button:hover{color:#c62828}.empty-state{text-align:center;color:#999;padding:2rem}.add-tx{display:grid;grid-template-columns:80px 110px 70px 1fr 1fr auto;gap:.5rem;align-items:end}.add-tx input,.add-tx select{padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:.8rem}.add-tx button{padding:.5rem 1rem;background:#1a1a2e;color:#fff;border:none;border-radius:6px;cursor:pointer}.wallet-card h2{display:flex;align-items:center;gap:.5rem}.wallet-card h2 svg{color:#1a1a2e}.wallet-input-group{display:flex;gap:.5rem;margin:1rem 0}.network-select-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.network-select-row label{font-size:.875rem;color:#555}.network-select{padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.875rem;background:#fff;cursor:pointer}.network-select:focus{outline:none;border-color:#1a1a2e}.wallet-address-input{flex:1;padding:.75rem 1rem;border:1px solid #ddd;border-radius:8px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.85rem;background:#fafafa}.wallet-address-input:focus{outline:none;border-color:#1a1a2e;background:#fff}.fetch-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#1a1a2e,#2d2d4a);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;min-width:100px;display:flex;align-items:center;justify-content:center}.fetch-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #1a1a2e4d}.fetch-btn:disabled{opacity:.6;cursor:not-allowed}.loading-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.wallet-loading{display:flex;flex-direction:column;align-items:center;padding:2rem;background:#f8f9fa;border-radius:8px;margin:1rem 0}.loading-bars{display:flex;gap:4px;height:32px;align-items:flex-end;margin-bottom:1rem}.loading-bars span{width:4px;background:#1a1a2e;border-radius:2px;animation:loadingBars 1s ease-in-out infinite}.loading-bars span:nth-child(1){animation-delay:0s;height:12px}.loading-bars span:nth-child(2){animation-delay:.1s;height:20px}.loading-bars span:nth-child(3){animation-delay:.2s;height:16px}.loading-bars span:nth-child(4){animation-delay:.3s;height:24px}@keyframes loadingBars{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5)}}.wallet-loading p{color:#666;font-size:.875rem}.wallet-error{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;margin:1rem 0}.wallet-summary{background:linear-gradient(135deg,#f0fdf4,#ecfeff);border:1px solid #bbf7d0;border-radius:10px;padding:1rem;margin:1rem 0}.wallet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.wallet-address{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.875rem;color:#1a1a2e;font-weight:600}.tx-badge{background:#1a1a2e;color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.network-badge{background:#fff;border:1px solid #e5e7eb;padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500;color:#4b5563;text-transform:capitalize}} .wallet-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}.stat{display:flex;flex-direction:column}.stat-label{font-size:.75rem;color:#666}.stat-value{font-size:.9rem;font-weight:600}.stat-value.positive{color:#16a34a}.stat-value.negative{color:#dc2626}.wallet-tokens{display:flex;flex-wrap:wrap;gap:.5rem}.token-tag{background:#fff;border:1px solid #e5e7eb;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;color:#4b5563}.demo-hint{background:#f8f9fa;padding:.75rem;border-radius:6px;font-size:.75rem;line-height:1.5}.demo-hint code{background:#e9ecef;padding:.125rem .25rem;border-radius:3px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.7rem;color:#495057;word-break:break-all}.upload-card h2{display:flex;align-items:center;gap:.5rem}.upload-zone{margin:1rem 0}.file-input{display:none}.upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;transition:all .2s;background:#fafafa}.upload-label:hover{border-color:#1a1a2e;background:#f5f5f5}.upload-label svg{color:#9ca3af;margin-bottom:.5rem}.upload-label span{color:#6b7280;font-size:.9rem}.upload-label .upload-hint{font-size:.75rem;color:#9ca3af;margin-top:.25rem}.upload-progress{margin:1rem 0;padding:1.5rem;background:#f8f9fa;border-radius:10px}.progress-info{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem}.progress-info span:first-child{color:#374151;font-weight:500}.progress-info span:last-child{color:#1a1a2e;font-weight:600}.progress-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#1a1a2e,#4f46e5);border-radius:4px;transition:width .3s ease}.progress-status{font-size:.8rem;color:#6b7280;text-align:center}.upload-success{margin:1rem 0;padding:1rem;background:linear-gradient(135deg,#f0fdf4,#ecfeff);border:1px solid #bbf7d0;border-radius:10px}.success-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.success-header svg{color:#16a34a}.success-header span{color:#16a34a;font-weight:600;font-size:.9rem;flex:1}.clear-btn{background:none;border:none;font-size:1.25rem;color:#9ca3af;cursor:pointer;padding:0;line-height:1}.clear-btn:hover{color:#dc2626}.file-name{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem;color:#374151;background:#fff;padding:.5rem;border-radius:6px;margin-bottom:.5rem}.success-detail{font-size:.8rem;color:#059669;display:flex;align-items:center;gap:.25rem}@media(max-width:768px){main{grid-template-columns:1fr}.summary{position:static}.form-row{grid-template-columns:1fr}.add-tx{grid-template-columns:1fr 1fr}.add-tx button{grid-column:span 2}}.export-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;margin-top:1rem;background:linear-gradient(135deg,#1a1a2e,#2d2d4a);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.export-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a1a2e4d}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;padding:2rem;max-width:400px;width:90%;position:relative;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{text-align:center;margin-bottom:1.5rem}.lock-icon{width:48px;height:48px;background:#f0fdf4;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#16a34a}.modal-header h2{font-size:1.25rem;margin-bottom:.25rem}.modal-header p{color:#666;font-size:.875rem}.price-tag{text-align:center;padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:1.5rem}.price{display:block;font-size:2rem;font-weight:700;color:#1a1a2e}.price-note{font-size:.75rem;color:#666}.checkout-form{margin-bottom:1.5rem}.checkout-form .form-group{margin-bottom:.75rem}.checkout-form label{display:block;font-size:.75rem;color:#555;margin-bottom:.25rem}.checkout-form input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.checkout-form input:focus{outline:none;border-color:#1a1a2e}.form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.pay-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem;background:linear-gradient(135deg,#635bff,#0a2540);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.pay-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #635bff66}.secure-note{display:flex;align-items:center;justify-content:center;gap:.25rem;margin-top:1rem;font-size:.7rem;color:#666}.close-modal{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;line-height:1}.close-modal:hover{color:#333}.processing-state,.success-state{text-align:center;padding:2rem 0}.spinner{width:48px;height:48px;border:3px solid #e5e7eb;border-top-color:#635bff;border-radius:50%;margin:0 auto 1.5rem;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.processing-state h2,.success-state h2{font-size:1.25rem;margin-bottom:.5rem}.processing-state p,.success-state p{color:#666}.success-icon{width:72px;height:72px;background:#d1fae5;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#16a34a}.done-btn{margin-top:1.5rem;padding:.75rem 2rem;background:#1a1a2e;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer}.done-btn:hover{background:#2d2d4a}.payment-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.payment-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:.85rem;color:#666;cursor:pointer;transition:all .2s}.payment-tab:hover{border-color:#1a1a2e}.payment-tab.active{background:#1a1a2e;border-color:#1a1a2e;color:#fff}.crypto-payment{text-align:center}.crypto-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}.network-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;background:#f8f9fa;border-radius:6px;font-size:.8rem;color:#666;margin-bottom:1rem}.crypto-token{display:flex;flex-direction:column;align-items:center;padding:.5rem;border:1px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s}.crypto-token:hover{border-color:#635bff}.crypto-token.selected{border-color:#635bff;background:#f5f3ff}.crypto-token .token-icon{font-size:1.25rem;margin-bottom:.15rem}.crypto-token .token-name{font-weight:600;font-size:.75rem}.crypto-token .token-amount{font-size:.65rem;color:#666}.qr-placeholder{margin-bottom:1.5rem}.qr-code{background:#fff;padding:1rem;border:1px solid #eee;border-radius:8px;display:inline-block}.qr-label{font-size:.75rem;color:#666;margin-top:.5rem}.wallet-address{text-align:left;margin-bottom:1.5rem}.wallet-address label{display:block;font-size:.75rem;color:#666;margin-bottom:.5rem}.address-box{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f8f9fa;border-radius:6px}.address-box code{flex:1;font-family:SF Mono,Monaco,monospace;font-size:.65rem;color:#333;word-break:break-all}.copy-btn{background:#fff;border:1px solid #ddd;border-radius:4px;padding:.4rem;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center}.copy-btn:hover{background:#f0f0f0}.connect-wallet-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem;background:#fff;border:2px solid #635bff;border-radius:8px;font-size:.9rem;font-weight:600;color:#635bff;cursor:pointer;transition:all .2s;margin-bottom:1rem}.connect-wallet-btn:hover{background:#f5f3ff}.pay-btn.crypto-pay{background:linear-gradient(135deg,#635bff,#0a2540)}.crypto-note{display:flex;align-items:center;justify-content:center;gap:.25rem;margin-top:1rem;font-size:.7rem;color:#666}body.dark{background:#0d1117;color:#e6edf3}body.dark .app{background:#0d1117}body.dark header h1{color:#e6edf3}body.dark header p{color:#8b949e}body.dark .theme-toggle{position:absolute;top:1rem;right:1rem;background:#21262d;border:1px solid #30363d;border-radius:8px;padding:.5rem;cursor:pointer;color:#e6edf3;display:flex;align-items:center;justify-content:center;transition:all .2s}body.dark .theme-toggle:hover{background:#30363d;border-color:#484f58}body.dark .reset-btn{border-color:#f85149;color:#f85149}body.dark .reset-btn:hover{background:#2d1b1b;border-color:#da3633}body.dark header{background:#161b22;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem}body.dark .header-top{display:flex;justify-content:space-between;align-items:center;padding:0 .5rem}body.dark .header-top h1{margin:0;flex:1;text-align:center}body.dark .state-selector{background:#161b22;border:1px solid #30363d}body.dark .state-selector label{color:#8b949e}body.dark .state-selector select{background:#21262d;border-color:#30363d;color:#e6edf3}body.dark .tabs{background:#161b22;border:1px solid #30363d}body.dark .tabs button{color:#8b949e}body.dark .tabs button:hover:not(.active){background:#21262d}body.dark .tabs button.active{background:#238636}body.dark .form-card{background:#161b22;border:1px solid #30363d}body.dark .form-card h2{color:#e6edf3}body.dark .form-group label{color:#8b949e}body.dark .form-group input,body.dark .add-tx input,body.dark .add-tx select{background:#21262d;border-color:#30363d;color:#e6edf3}body.dark .form-group input:focus,body.dark .add-tx input:focus,body.dark .add-tx select:focus{border-color:#238636}body.dark .helper{color:#8b949e}body.dark .tx-item{background:#21262d}body.dark .empty-state{color:#8b949e}body.dark .upload-label{background:#21262d;border-color:#30363d}body.dark .upload-label:hover{background:#30363d}body.dark .upload-label span,body.dark .upload-label svg{color:#8b949e}body.dark .upload-progress{background:#21262d}body.dark .progress-info span:first-child{color:#e6edf3}body.dark .progress-bar{background:#30363d}body.dark .progress-status{color:#8b949e}body.dark .upload-success{background:linear-gradient(135deg,#0d1a10,#0c1a1c);border-color:#238636}body.dark .file-name{background:#21262d;color:#e6edf3}body.dark .summary{background:#161b22;border:1px solid #30363d}body.dark .summary h2{color:#e6edf3}body.dark .summary-row{color:#8b949e}body.dark .summary-row.overtime{background:#27ae6026;color:#3fb950}body.dark .summary hr{border-color:#30363d}body.dark .disclaimer{color:#6e7681}body.dark .export-btn{background:linear-gradient(135deg,#238636,#1a7f37)}body.dark .modal-overlay{background:#000c}body.dark .modal-content{background:#161b22;border:1px solid #30363d}body.dark .modal-header h2{color:#e6edf3}body.dark .modal-header p,body.dark .price-note,body.dark .secure-note,body.dark .crypto-note{color:#8b949e}body.dark .price{color:#e6edf3}body.dark .price-tag{background:#21262d}body.dark .checkout-form label{color:#8b949e}body.dark .checkout-form input{background:#21262d;border-color:#30363d;color:#e6edf3}body.dark .payment-tab{background:#21262d;border-color:#30363d;color:#8b949e}body.dark .payment-tab.active{background:#238636;border-color:#238636;color:#fff}body.dark .network-badge{background:#21262d;color:#8b949e}body.dark .qr-code{background:#21262d;border-color:#30363d}body.dark .address-box{background:#21262d}body.dark .address-box code{color:#e6edf3}body.dark .copy-btn{background:#30363d;border-color:#484f58;color:#8b949e}body.dark .connect-wallet-btn{background:#21262d;color:#a371f7;border-color:#a371f7}body.dark .connect-wallet-btn:hover{background:#1f1625}body.dark .close-modal,body.dark .processing-state p,body.dark .success-state p{color:#8b949e}body.dark .success-icon{background:#0d1a10}body.dark .done-btn{background:#238636}body.dark .done-btn:hover{background:#2ea043}body.dark .demo-hint{background:#21262d}body.dark .demo-hint code{background:#30363d;color:#e6edf3}body.dark .wallet-card h2 svg{color:#e6edf3}body.dark .wallet-address-input,body.dark .network-select{background:#21262d;border-color:#30363d;color:#e6edf3}body.dark .wallet-summary{background:linear-gradient(135deg,#0d1a10,#0c1a1c);border-color:#238636}body.dark .wallet-address{color:#e6edf3}body.dark .wallet-error{background:#2d1b1b;border-color:#f85149;color:#f85149}body.dark .loading-bars span{background:#238636}body.dark .spinner{border-color:#30363d;border-top-color:#238636}body.dark .save-indicator{background:#238636;color:#fff}body.dark .wallet-loading{background:#21262d}body.dark .loading-spinner{border-color:#fff3;border-top-color:#fff}.chat-widget{position:fixed;bottom:20px;right:20px;z-index:1000;font-family:inherit}.chat-toggle{width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #6366f166;transition:transform .2s,box-shadow .2s}.chat-toggle:hover{transform:scale(1.05);box-shadow:0 6px 16px #6366f180}.chat-window{position:absolute;bottom:70px;right:0;width:360px;height:480px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-header{padding:12px 16px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-weight:600;display:flex;justify-content:space-between;align-items:center}.chat-close{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:0;line-height:1}.chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.chat-message{padding:10px 14px;border-radius:12px;max-width:85%;font-size:14px;line-height:1.5;white-space:pre-wrap}.chat-message.user{align-self:flex-end;background:#4f46e5;color:#fff;border-bottom-right-radius:4px}.chat-message.assistant{align-self:flex-start;background:#f3f4f6;color:#1f2937;border-bottom-left-radius:4px}.chat-input-wrap{padding:12px;border-top:1px solid #e5e7eb;display:flex;gap:8px}.chat-input-wrap input{flex:1;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.chat-input-wrap input:focus{border-color:#4f46e5}.chat-input-wrap button{padding:10px 16px;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.chat-input-wrap button:hover:not(:disabled){background:#4338ca}.chat-input-wrap button:disabled{background:#9ca3af;cursor:not-allowed}body.dark .chat-window{background:#161b22;border:1px solid #30363d}body.dark .chat-message.assistant{background:#21262d;color:#e6edf3}body.dark .chat-input-wrap{border-color:#30363d}body.dark .chat-input-wrap input{background:#0d1117;border-color:#30363d;color:#e6edf3}body.dark .chat-input-wrap input:focus{border-color:#6366f1}
