:root{--bg:#f5f6f0;--bg-accent:#dfe6f4;--panel:#ffffff;--ink:#102241;--ink-muted:#4f5d74;--line:#cfd7e3;--brand:#0d5dd4;--brand-soft:#dbe8ff;--danger:#a7372b}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{color:var(--ink);font-family:var(--font-body),sans-serif;background:radial-gradient(circle at 10% 15%,var(--bg-accent) 0,transparent 30%),radial-gradient(circle at 90% 80%,#f6e8d8 0,transparent 35%),var(--bg)}main{width:min(1120px,96vw);margin:2rem auto}.app-shell{border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 20px 55px rgba(16,34,65,.12);overflow:hidden}.workspace{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:min(74vh,820px)}.sidebar{border-right:1px solid var(--line);background:linear-gradient(180deg,#f8fbff,#f4f8ff);padding:.85rem;display:flex;flex-direction:column;gap:.7rem}.new-chat-btn{border:1px solid #acc6f1;border-radius:11px;background:#e9f2ff;color:#0f4cac;font:inherit;font-size:.9rem;font-weight:600;padding:.6rem .75rem;cursor:pointer}.new-chat-btn:disabled{opacity:.6;cursor:not-allowed}.conversation-list{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.45rem}.conversation-tab{width:100%;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink);font:inherit;text-align:left;padding:.55rem .62rem;display:flex;flex-direction:column;gap:.25rem;cursor:pointer}.conversation-tab:focus-visible,.conversation-tab:hover{background:#e8f1ff;outline:none}.conversation-tab.active{background:#dceaff;border-color:#b9cff6}.conversation-tab:disabled{opacity:.65;cursor:not-allowed}.conversation-title{font-size:.88rem;font-weight:600;line-height:1.25}.conversation-preview{font-size:.78rem;color:var(--ink-muted);line-height:1.25}.chat-panel{min-width:0;display:flex;flex-direction:column}.page-footer{display:flex;justify-content:center;padding-top:.85rem}a.contracts-footer-link{font-size:.88rem}.header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.4rem;border-bottom:1px solid var(--line);background:linear-gradient(125deg,#fbfcff,#f1f6ff)}.title-wrap h1{margin:0;font-family:var(--font-title),serif;font-size:2rem;font-weight:400;line-height:1}.title-wrap .title-subheader{margin:.45rem 0 0;color:#2f3f5f;font-size:.94rem}.title-wrap .title-meta{margin:.2rem 0 0;color:var(--ink-muted);font-size:.88rem}.warning{margin:.75rem 1.4rem 0;border:1px solid #e7c2a1;color:#74401d;background:#fff3e8;border-radius:10px;padding:.65rem .8rem;font-size:.9rem}.chat-log{flex:1 1;min-height:320px;overflow-y:auto;padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:.75rem}.chat-loading-blocker{flex:1 1;min-height:320px;display:grid;place-items:center;padding:1.2rem 1.4rem;background:linear-gradient(180deg,#fbfcff,#f5f8ff)}.chat-loading-spinner{width:2rem;height:2rem;border:3px solid #dbe8ff;border-top:3px solid var(--brand);border-radius:999px;animation:chat-spin .85s linear infinite}@keyframes chat-spin{to{transform:rotate(1turn)}}.message{max-width:min(80ch,90%);padding:.75rem .9rem;border-radius:14px;border:1px solid var(--line);line-height:1.45;font-size:.97rem}.message-content{display:block;white-space:pre-wrap}.message.has-details{cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.message.has-details:hover{border-color:#a8c1ea}.message.has-details:focus-visible{outline:2px solid #bfd6ff;outline-offset:1px}.message.user{align-self:flex-end;background:var(--brand-soft);border-color:#b9cff6}.message.assistant{align-self:flex-start;background:#fdfefe}.message.pending{color:var(--ink-muted);font-style:italic}.message-onchain-details{margin-top:.55rem;padding-top:.55rem;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;gap:.45rem}.message-onchain-chip{border:1px solid var(--line);border-radius:999px;padding:.2rem .55rem;background:#ffffff;font-size:.81rem}.controls{border-top:1px solid var(--line);padding:1rem 1.1rem 1.2rem;background:#fbfcff}.settings-row{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;margin-bottom:.8rem}.model-picker{position:relative;min-width:230px}.model-picker-trigger{width:100%;border:1px solid var(--line);border-radius:999px;padding:.52rem .8rem;background:#ffffff;color:var(--ink);font:inherit;display:flex;align-items:center;justify-content:space-between;gap:.65rem;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.model-picker-trigger:focus-visible{outline:2px solid #bfd6ff;border-color:#99b9f2}.model-picker-trigger:disabled{opacity:.62;cursor:not-allowed}.model-picker-selected{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-picker-caret{color:var(--ink-muted);line-height:1}.model-picker-menu{position:absolute;z-index:60;bottom:calc(100% + .45rem);left:0;width:100%;background:#ffffff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 32px rgba(16,34,65,.16);padding:.38rem;max-height:min(320px,45vh);overflow-y:auto}.model-picker-option{width:100%;border:none;border-radius:10px;background:transparent;color:var(--ink);text-align:left;font:inherit;padding:.48rem .56rem;cursor:pointer}.model-picker-option:focus-visible,.model-picker-option:hover{background:#f0f5ff;outline:none}.model-picker-option.selected{background:#e6efff;color:#0f4cac}.estimate-copy{margin:0;color:var(--ink-muted);font-size:.84rem;line-height:1.4;text-align:right}.input-row{display:flex;gap:.7rem}.input-row textarea{flex:1 1;resize:none;border:1px solid var(--line);border-radius:14px;background:#ffffff;color:var(--ink);font:inherit;min-height:90px;padding:.78rem .85rem}.input-row textarea:focus{outline:2px solid #bfd6ff;border-color:#99b9f2}.send-btn{align-self:flex-end;border:none;border-radius:12px;padding:.75rem 1.1rem;background:var(--brand);color:#ffffff;font-family:var(--font-body),sans-serif;font-size:.95rem;font-weight:600;cursor:pointer}.send-btn:disabled{opacity:.55;cursor:not-allowed}.hint{margin-top:.7rem;font-size:.82rem;color:var(--ink-muted)}a.tx-link{color:var(--brand);text-decoration:none}a.tx-link:hover{text-decoration:underline}@media (max-width:760px){main{width:100%;margin:0}.app-shell{border-radius:0;min-height:100vh}.workspace{display:flex;flex-direction:column;min-height:calc(100vh - 72px)}.sidebar{border-right:none;border-bottom:1px solid var(--line);padding:.75rem}.conversation-list{flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:.5rem;padding-bottom:.15rem}.conversation-tab{min-width:180px;max-width:220px}.page-footer{padding:.85rem 1rem 1.2rem}.header{padding:1rem}.title-wrap h1{font-size:1.7rem}.chat-loading-blocker,.chat-log{min-height:260px;padding:1rem}.message{max-width:94%}.controls{padding:.9rem}.settings-row{flex-direction:column;align-items:stretch}.model-picker{min-width:0}.estimate-copy{text-align:left}.input-row{flex-direction:column}.send-btn{width:100%}}