:root{color-scheme:light dark;font-family:Inter,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0f172a;color:#e2e8f0}body{margin:0;min-height:100vh;font-family:inherit}.app-shell{display:flex;flex-direction:column;min-height:100vh;background:radial-gradient(circle at top,rgba(14,165,233,.15),transparent 55%),#020617}.chat-layout{display:flex;flex:1;min-height:0}.chat-sidebar{width:300px;padding:1.5rem;border-right:1px solid rgba(148,163,184,.15);background:#020617eb;display:flex;flex-direction:column;gap:1.5rem;transition:transform .2s ease,box-shadow .2s ease;height:100vh;overflow-y:auto;position:sticky;top:0;align-self:flex-start}.chat-sidebar.compact{position:fixed;top:0;left:0;bottom:0;transform:translate(-110%);z-index:200;box-shadow:0 25px 45px #0f172a73}.chat-sidebar.compact.open{transform:translate(0)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sidebar-title{font-size:1.05rem;font-weight:600;color:#f8fafc}.sidebar-subtitle{font-size:.82rem;color:#94a3b8cc;margin-top:.25rem}.sidebar-new{padding:.55rem .9rem;border-radius:.65rem;border:none;background:linear-gradient(135deg,#2563eb,#6366f1);color:#f8fafc;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.sidebar-new:disabled{opacity:.6;cursor:wait}.sidebar-new:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 18px #2563eb40}.sidebar-section{flex:1;display:flex;flex-direction:column;gap:.85rem}.sidebar-section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8b3}.sidebar-session-list{flex:1;display:flex;flex-direction:column;gap:.65rem;overflow-y:auto;padding-right:.25rem}.sidebar-session{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.75rem .85rem;border-radius:.85rem;border:1px solid rgba(148,163,184,.12);background:#0f172a8c;color:#f1f5f9;text-align:left;cursor:pointer;transition:border .15s ease,background .15s ease}.sidebar-session .session-id{font-size:.8rem;font-weight:600;color:#e2e8f0e6;word-break:break-word}.sidebar-session .session-preview{font-size:.78rem;color:#94a3b8cc;line-height:1.35;max-height:3.2rem;overflow:hidden}.sidebar-session.active{border-color:#38bdf873;background:#0f172ad1}.sidebar-session:hover:not(.active){border-color:#94a3b840;background:#0f172aad}.sidebar-empty{font-size:.8rem;color:#94a3b899;padding:.75rem 0}.header-left{display:flex;align-items:center;gap:1rem}.sidebar-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;border:1px solid rgba(148,163,184,.25);background:#0f172acc;border-radius:.75rem;padding:.45rem;cursor:pointer;color:#f8fafc}.sidebar-toggle span{display:block;width:1.35rem;height:2px;background:currentColor;border-radius:999px}.sidebar-toggle span+span{margin-top:.25rem}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0206178c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:150}.chat-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.app-header{padding:1.5rem 2rem;border-bottom:1px solid rgba(226,232,240,.08);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50;background:#020617eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-header h1{margin:0;font-size:1.25rem;font-weight:600;color:#f8fafc}.app-status{font-size:.85rem;color:#94a3b8e6}.header-right{display:flex;align-items:center;gap:1.5rem}.language-selector{display:flex;align-items:center}.language-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0f172a99;border:1px solid rgba(148,163,184,.2);color:#e2e8f0;padding:.35rem .75rem;border-radius:999px;font-size:.85rem;cursor:pointer}.language-select:focus{outline:none;border-color:#e2e8f0a6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.wallet-balance{display:flex;align-items:center;gap:.75rem;padding:.35rem .6rem;border-radius:999px;background:#0f172a99;border:1px solid rgba(148,163,184,.15);color:#e2e8f0}.wallet-info{display:flex;align-items:baseline;gap:.5rem;font-size:.85rem}.wallet-label{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:#94a3b8d9}.wallet-value{font-weight:600;color:#bef264}.wallet-address{font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;color:#94a3b8b3}.wallet-refresh{background:transparent;border:1px solid rgba(148,163,184,.25);color:#e2e8f0e6;border-radius:999px;width:1.9rem;height:1.9rem;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,color .2s ease}.wallet-refresh:disabled{opacity:.5;cursor:default}.wallet-refresh:not(:disabled):hover{border-color:#e2e8f0a6;color:#f8fafc}@media (max-width: 720px){.header-right{flex-direction:column;align-items:flex-end;gap:.75rem}.wallet-balance{width:100%;justify-content:space-between}.wallet-address{display:none}}.messages-pane{flex:1;min-height:0;overflow-y:auto;padding:2rem 1rem 6rem;display:flex;justify-content:center}.messages-scroll{width:min(900px,100%);display:flex;flex-direction:column;gap:1.5rem}.message-bubble{padding:1.1rem 1.25rem;border-radius:1rem;line-height:1.6;white-space:pre-wrap;box-shadow:0 10px 25px #0f172a40}.message-bubble.user{margin-left:auto;background:linear-gradient(135deg,#2563eb,#6366f1);color:#f8fafc}.message-bubble.assistant{margin-right:auto;background:#0f172acc;border:1px solid rgba(148,163,184,.15)}.message-bubble.guardrail{margin:0 auto;background:#f871711f;border:1px solid rgba(248,113,113,.35);color:#ffe4e6;box-shadow:none;text-align:center;max-width:520px}.guardrail-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:#fda4af}.guardrail-body{margin-top:.3rem;font-size:.92rem;line-height:1.4;color:inherit}.message-markdown{color:inherit;font-size:.98rem;line-height:1.32;word-break:break-word}.message-markdown h1,.message-markdown h2,.message-markdown h3{margin:.2rem 0 .1rem;font-weight:600}.message-markdown p{margin:.18rem 0}.message-markdown ul,.message-markdown ol{margin:.2rem 0;padding-inline-start:1.35rem}.message-markdown ol{list-style-position:inside}.message-markdown ul{list-style-position:outside}.message-markdown li{padding-inline-start:.1rem}.message-markdown li+li{margin-top:.08rem}.message-markdown code{font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;background:#94a3b829;padding:.08rem .25rem;border-radius:.3rem}.message-markdown a{color:#38bdf8;text-decoration:none}.message-markdown a:hover{text-decoration:underline}.attachment-list{margin-top:.9rem;padding:.75rem .85rem;border-radius:.75rem;background:#1e293bc7;border:1px solid rgba(148,163,184,.18);display:flex;flex-direction:column;gap:.6rem}.attachment-title{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:#e2e8f0a6}.attachment-items{display:flex;flex-wrap:wrap;gap:.55rem}.attachment-link{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:.6rem;background:#38bdf81f;color:#38bdf8;font-size:.85rem;text-decoration:none;transition:background .15s ease,transform .15s ease}.attachment-link:hover{background:#38bdf838;transform:translateY(-1px)}.visualization-gallery{margin-top:1rem;display:grid;gap:1.2rem}.chart-card{padding:.9rem 1rem 1.2rem;border-radius:.85rem;background:#0f172aa6;border:1px solid rgba(148,163,184,.18);box-shadow:inset 0 0 0 1px #0f172a4d}.chart-card h4{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:#f8fafc}.chart-note{margin:.6rem 0 0;font-size:.82rem;color:#e2e8f0b8}.thinking-text{font-weight:500;color:#e2e8f0;position:relative;padding-right:1.5rem}.thinking-text:after{content:"...";position:absolute;right:0;top:0;animation:thinkingDots 1.2s steps(4) infinite}@keyframes thinkingDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.composer{padding:1.25rem 1.5rem 1.75rem;display:flex;justify-content:center;position:sticky;bottom:0;z-index:40;background:linear-gradient(180deg,#02061700,#02061799 25%,#020617eb);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.composer form{width:min(900px,100%);display:flex;gap:.75rem;background:#0f172ad9;border:1px solid rgba(148,163,184,.18);border-radius:1.25rem;padding:.85rem .85rem .85rem 1.1rem;box-shadow:0 12px 30px #0f172a66;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.composer textarea{flex:1;min-height:3.2rem;resize:vertical;background:transparent;border:none;color:#e2e8f0;font-size:1rem;font-family:inherit;outline:none;direction:inherit;text-align:start}.composer textarea::placeholder{color:#e2e8f073;text-align:inherit}.composer button{min-width:3rem;border:none;border-radius:.85rem;background:linear-gradient(135deg,#22d3ee,#818cf8);color:#0f172a;font-weight:600;font-size:.95rem;cursor:pointer;padding:0 1.25rem;transition:transform .15s ease,box-shadow .15s ease}.composer button:disabled{opacity:.5;cursor:wait;transform:none;box-shadow:none}.composer button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 20px #818cf859}@media (max-width: 1023px){.chat-sidebar{width:270px}.sidebar-toggle{display:inline-flex}.sidebar-header{flex-direction:column;align-items:stretch;gap:1rem}.sidebar-new{width:100%;justify-content:center}.app-header{padding:1.1rem 1.4rem}.messages-pane{padding:1.5rem 1rem 1rem}.composer{padding:1rem 1rem 1.25rem}}.empty-state{margin:auto;text-align:center;max-width:460px;color:#94a3b8d9;line-height:1.7;padding:4rem 1rem}.empty-state h2{color:#f8fafc;font-weight:600}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:999px;font-size:.78rem;background:#38bdf81f;color:#38bdf8;margin-bottom:1rem}.message-meta{font-size:.75rem;opacity:.65;margin-top:.5rem}
