@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inconsolata:wght@400;500;600&family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600;700&display=swap");*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#000000;--bg-secondary:#0a0a0a;--bg-tertiary:#141414;--text-primary:#ffffff;--text-secondary:#a1a1a1;--text-muted:#666666;--accent:#3b82f6;--accent-hover:#2563eb;--accent-light:rgba(59,130,246,0.15);--success:#22c55e;--success-light:rgba(34,197,94,0.15);--warning:#ef4444;--border:#1f1f1f;--border-strong:#2a2a2a;--shadow-sm:0 1px 2px rgba(0,0,0,0.2);--shadow-md:0 4px 12px rgba(0,0,0,0.3);--shadow-lg:0 12px 32px rgba(0,0,0,0.4);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-serif:"Instrument Serif",Georgia,serif;--font-mono:"DM Mono","Inconsolata",monospace}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}.app-container,.loading-state{display:flex;min-height:100vh}.loading-state{align-items:center;justify-content:center;gap:1rem;width:100%;color:var(--text-secondary)}.loading-spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner.small{width:14px;height:14px;border-width:1.5px}.login-view{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:2rem}.login-card{max-width:480px;width:100%;text-align:center}.login-header{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.login-header h1{font-family:var(--font-serif);font-size:3rem;font-weight:400;color:var(--text-primary);letter-spacing:-.02em}.login-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:var(--accent-light);padding:.25rem .5rem;border-radius:4px}.login-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.02em}.login-tagline{font-family:var(--font-serif);font-size:1.1rem;font-style:italic;color:var(--text-secondary);margin-bottom:2rem}.login-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem;line-height:1.6}.about-section{text-align:left;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.about-item{display:flex;gap:.875rem;align-items:flex-start}.about-icon{width:36px;height:36px;min-width:36px;background:var(--accent-light);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--accent)}.about-text{display:flex;flex-direction:column;gap:.25rem}.about-text strong{font-size:.9rem;font-weight:600;color:var(--text-primary)}.about-text span{font-size:.8rem;color:var(--text-secondary);line-height:1.5}.about-divider{height:1px;background:var(--border);margin:.5rem 0}.login-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:var(--text-primary);color:var(--bg-primary);border:none;border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-md)}.login-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.login-button svg{opacity:.9}.sidebar{width:280px;min-width:280px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem}.sidebar-header{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem}.logo{font-family:var(--font-serif);font-size:1.75rem;font-weight:400;color:var(--text-primary);letter-spacing:-.02em}.logo-badge{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:var(--accent-light);padding:.2rem .4rem;border-radius:3px}.identity-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-bottom:1rem}.identity-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.identity-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.verified-badge{font-size:.65rem;font-weight:500;color:var(--success);background:var(--success-light);padding:.2rem .5rem;border-radius:4px}.identity-email{font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem;word-break:break-all}.wallet-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.identity-wallet{font-size:.75rem;font-family:var(--font-mono)}.copy-btn,.identity-wallet{color:var(--text-secondary)}.copy-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.copy-btn:hover{background:var(--border);color:var(--text-primary)}.chain-badge{font-size:.6rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-light);padding:.2rem .4rem;border-radius:4px;width:-moz-fit-content;width:fit-content}.balance-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-bottom:1rem}.balance-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.balance-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.refresh-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.refresh-btn:hover{color:var(--text-primary)}.balance-amounts{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.balance-row{display:flex;justify-content:space-between;align-items:center}.balance-token{font-size:.75rem;color:var(--text-secondary)}.balance-value{font-size:.875rem;font-family:var(--font-mono);color:var(--text-primary);font-weight:500}.balance-loading{font-size:.875rem;color:var(--text-muted);margin-bottom:.75rem}.add-funds-btn{width:100%;padding:.5rem;background:var(--accent-light);border:1px solid var(--accent);border-radius:8px;font-size:.8rem;font-weight:500;color:var(--accent);cursor:pointer;transition:all .15s ease}.add-funds-btn:hover{background:var(--accent);color:white}.proof-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:1rem}.proof-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem}.proof-generating{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.proof-error-compact{display:flex;align-items:center;justify-content:space-between}.proof-error-compact span{font-size:.875rem;color:var(--warning)}.proof-error-compact button{font-size:.75rem;color:var(--accent);background:none;border:none;cursor:pointer;font-weight:500}.proof-ready{display:flex;flex-direction:column;gap:.75rem}.proof-meta{display:flex;align-items:center;gap:.5rem}.proof-protocol{font-size:.875rem;font-family:var(--font-mono);color:var(--text-primary)}.demo-tag{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.15rem .35rem;border-radius:3px}.demo-tag,.download-btn{font-weight:500;background:var(--bg-tertiary)}.download-btn{width:100%;padding:.6rem;border:1px solid var(--border);border-radius:8px;font-size:.8rem;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.download-btn:hover{background:var(--border)}.proof-waiting{font-size:.875rem;color:var(--text-muted)}.sidebar-spacer{flex:1 1}.logout-btn{width:100%;padding:.75rem;background:transparent;border:1px solid var(--border);border-radius:8px;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.logout-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.chat-main{flex:1 1;display:flex;flex-direction:column;min-width:0}.messages-container{flex:1 1;overflow-y:auto;padding:2rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-secondary)}.empty-icon{margin-bottom:1.5rem;color:var(--border-strong)}.empty-state h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.empty-state p{font-size:.95rem;color:var(--text-secondary);max-width:300px}.messages-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.message{display:flex;gap:.75rem}.message-user{flex-direction:row-reverse}.message-avatar{width:32px;height:32px;min-width:32px;background:var(--accent-light);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--accent)}.message-content{max-width:85%}.message-text{padding:1rem 1.25rem;border-radius:16px;font-size:.95rem;line-height:1.65;white-space:pre-wrap}.message-user .message-text{background:var(--accent);color:white;border-bottom-right-radius:4px}.message-assistant .message-text{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:4px}.markdown-content{white-space:normal}.markdown-content p{margin:0 0 .75rem}.markdown-content p:last-child{margin-bottom:0}.markdown-content code{font-family:var(--font-mono);font-size:.85em;background:var(--bg-tertiary);padding:.15rem .4rem;border-radius:4px;border:1px solid var(--border)}.markdown-content pre{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:1rem;overflow-x:auto;margin:.75rem 0}.markdown-content pre code{background:none;padding:0;border:none;font-size:.875rem}.markdown-content ol,.markdown-content ul{margin:.5rem 0;padding-left:1.5rem}.markdown-content li{margin:.25rem 0}.markdown-content strong{font-weight:600;color:var(--text-primary)}.markdown-content em{font-style:italic}.markdown-content a{color:var(--accent);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content blockquote{border-left:3px solid var(--border-strong);padding-left:1rem;margin:.75rem 0;color:var(--text-secondary)}.markdown-content h1,.markdown-content h2,.markdown-content h3{font-weight:600;margin:1rem 0 .5rem}.markdown-content h1{font-size:1.25rem}.markdown-content h2{font-size:1.125rem}.markdown-content h3{font-size:1rem}.markdown-content table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.875rem}.markdown-content td,.markdown-content th{border:1px solid var(--border);padding:.5rem .75rem;text-align:left}.markdown-content th{background:var(--bg-tertiary);font-weight:600;color:var(--text-primary)}.markdown-content td{background:var(--bg-primary)}.markdown-content tr:hover td{background:var(--bg-tertiary)}.cursor{display:inline-block;width:2px;height:1.1em;background:var(--text-primary);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.data-unlock-card{margin-top:.75rem;padding:1rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px}.data-unlocked{display:flex;flex-direction:column;gap:.75rem}.unlocked-header{color:var(--success)}.unlocked-header,.view-guide-btn{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500}.view-guide-btn{justify-content:center;padding:.75rem 1rem;background:var(--primary);color:white;border:none;border-radius:8px;cursor:pointer;transition:background .15s ease}.view-guide-btn:hover{background:var(--primary-hover)}.data-content{font-family:var(--font-mono);font-size:.9rem;padding:1rem;background:var(--bg-tertiary);color:var(--text-primary);border-radius:8px;border:1px solid var(--border)}.settlement-info{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--success-light);border-radius:8px;border:1px solid rgba(34,197,94,.3)}.tx-hash{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.tx-label{color:var(--text-secondary)}.tx-value{font-family:var(--font-mono);font-size:.75rem;color:var(--text-primary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px}.view-tx-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--success);text-decoration:none;font-weight:500;transition:color .15s ease}.view-tx-btn:hover{color:#4ade80;text-decoration:underline}.view-tx-btn svg{flex-shrink:0}.data-locked{flex-wrap:wrap;gap:.75rem}.data-locked,.locked-info{display:flex;align-items:center}.locked-info{gap:.5rem;color:var(--text-secondary);font-size:.875rem}.pay-button{padding:.6rem 1.25rem;background:var(--accent);color:white;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.pay-button:hover:not(:disabled){background:var(--accent-hover)}.pay-button:disabled{opacity:.6;cursor:not-allowed}.negotiate-hint{font-size:.75rem;color:var(--success);font-weight:500}.input-area{padding:1.5rem 2rem 2rem;border-top:1px solid var(--border);background:var(--bg-primary)}.input-wrapper{max-width:800px;margin:0 auto;display:flex;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;transition:all .15s ease}.input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.input-wrapper input{flex:1 1;background:transparent;border:none;font-family:var(--font-sans);font-size:1rem;color:var(--text-primary);outline:none;padding:.5rem 0}.input-wrapper input::placeholder{color:var(--text-muted)}.input-wrapper input:disabled{opacity:.6}.send-button{width:44px;height:44px;min-width:44px;background:var(--accent);border:none;border-radius:12px;display:flex;align-items:center;justify-content:center;color:white;cursor:pointer;transition:all .15s ease}.send-button:hover:not(:disabled){background:var(--accent-hover)}.send-button:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-description{font-size:.95rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.fund-option{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-bottom:1rem}.fund-option-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.fund-token{font-size:1rem;font-weight:600;color:var(--text-primary)}.fund-network{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-light);padding:.15rem .4rem;border-radius:4px}.fund-option-desc{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}.fund-link-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;font-size:.85rem;font-weight:500;color:var(--text-primary);text-decoration:none;transition:all .15s ease}.fund-link-btn:hover{background:var(--border);border-color:var(--border-strong)}.fund-wallet-info{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.fund-wallet-label{font-size:.75rem;color:var(--text-muted)}.fund-wallet-address{font-size:.75rem;font-family:var(--font-mono);color:var(--text-primary);word-break:break-all;background:var(--bg-primary);padding:.5rem;border-radius:4px;border:1px solid var(--border)}.fund-wallet-info .copy-btn{align-self:flex-start}.guide-modal{max-width:720px;max-height:85vh}.guide-content{font-size:.95rem;line-height:1.7;color:var(--text-secondary)}.guide-content h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.guide-content h2{font-size:1.25rem;margin-top:1.5rem;margin-bottom:.75rem}.guide-content h2,.guide-content h3{font-weight:600;color:var(--text-primary)}.guide-content h3{font-size:1.1rem;margin-top:1.25rem;margin-bottom:.5rem}.guide-content p{margin-bottom:1rem}.guide-content ol,.guide-content ul{margin-bottom:1rem;padding-left:1.5rem}.guide-content li{margin-bottom:.5rem}.guide-content code{font-family:var(--font-mono);font-size:.875rem;padding:.125rem .375rem;border-radius:4px}.guide-content code,.guide-content pre{background:var(--bg-primary);border:1px solid var(--border)}.guide-content pre{border-radius:8px;padding:1rem;margin-bottom:1rem;overflow-x:auto}.guide-content pre code{background:none;border:none;padding:0}.guide-content blockquote{border-left:3px solid var(--primary);padding-left:1rem;margin:1rem 0;color:var(--text-muted);font-style:italic}.guide-content a{color:var(--primary);text-decoration:underline}.guide-content a:hover{color:var(--primary-hover)}.generating-guide{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1001;gap:1rem}.generating-guide .spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.generating-guide p{color:var(--text-primary);font-size:1.1rem;font-weight:500}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.sidebar{display:none}.input-area,.messages-container{padding:1rem}.message-content{max-width:90%}.modal{margin:.5rem;max-height:calc(100vh - 1rem)}}