*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:#0f1115;color:#e6e6e6}button{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:14px;background:#4f7cff;color:#fff}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #2a2f3a;background:#171a21;color:#e6e6e6;font-size:14px}.center{display:flex;align-items:center;justify-content:center;min-height:100vh}.card{background:#171a21;border:1px solid #2a2f3a;border-radius:14px;padding:28px;width:360px}.card h1{font-size:20px;margin:0 0 4px}.muted{color:#8b93a7;font-size:13px}.row{display:flex;gap:8px}.field,.row{margin-top:12px}.field label{font-size:13px;color:#8b93a7;display:block;margin-bottom:6px}.err{color:#ff6b6b;margin-top:10px}.err,.link{font-size:13px}.link{background:none;color:#4f7cff;padding:0}.app{display:flex;height:100vh}.sidebar{width:260px;border-right:1px solid #2a2f3a;padding:16px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.sidebar .sess{padding:10px;border-radius:8px;background:#171a21;cursor:pointer;font-size:13px;border:1px solid transparent;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sidebar .sess.active{border-color:#4f7cff}.main{flex:1 1;display:flex;flex-direction:column}.messages{flex:1 1;overflow-y:auto;padding:24px}.msg{max-width:760px;margin:0 auto 18px}.msg .who{font-size:12px;color:#8b93a7;margin-bottom:4px}.msg .bubble{white-space:pre-wrap;line-height:1.6}.msg.user .bubble{color:#cfe0ff}.tool-note{font-size:12px;color:#6f7891;font-style:italic;margin:6px auto;max-width:760px}.composer{border-top:1px solid #2a2f3a;padding:16px;display:flex;gap:8px}.composer textarea{resize:none;height:48px}.topbar{padding:12px 16px;border-bottom:1px solid #2a2f3a;justify-content:space-between;font-size:13px}.overlay,.topbar{display:flex;align-items:center}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);justify-content:center;z-index:50}.wallet-modal{background:#171a21;border:1px solid #2a2f3a;border-radius:14px;padding:24px;width:480px;max-height:86vh;overflow-y:auto}.wallet-head{display:flex;justify-content:space-between;align-items:center}.wallet-head h2{margin:0;font-size:18px}.addr-row{display:flex;gap:8px;align-items:center}.addr{flex:1 1;background:#0f1115;border:1px solid #2a2f3a;border-radius:8px;padding:10px;font-size:12px;word-break:break-all}.bal-row{display:flex;gap:16px;align-items:center;margin-top:16px}.bal{flex:1 1;background:#0f1115;border:1px solid #2a2f3a;border-radius:10px;padding:12px;min-width:0}.bal-num{font-size:22px;font-weight:600;overflow-wrap:anywhere}.wd-item{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:8px 0;border-bottom:1px solid #20242e}.badge{font-size:11px;padding:2px 8px;border-radius:10px;background:#2a2f3a}.badge.submitted{background:#2d4a7a}.badge.confirmed{background:#1f5f3a}.badge.failed{background:#6b2230}.badge.pending{background:#5a4a1f}.badge.bridging{background:#2d4a7a}.badge.done{background:#1f5f3a}.chain-card{margin-top:14px;padding:12px;border:1px solid #2a2f3a;border-radius:10px;background:#0f1115}.chain-card.destination{border-color:#34507f}.chain-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px}.chain-card .row{margin-top:8px}.quote{margin-top:10px;font-size:13px;line-height:1.6;background:#171a21;border-radius:8px;padding:10px}.token-toggle{display:flex;gap:8px;margin-top:8px}.token-toggle .toggle{flex:1 1;background:#171a21;border:1px solid #2a2f3a;color:#8b93a7;font-size:12px;padding:8px}.token-toggle .toggle.on{border-color:#4f7cff;color:#cfe0ff}.confirm-card{max-width:760px;margin:0 auto;background:#171a21;border:1px solid #5a4a1f;border-radius:12px;padding:16px}.cc-title{font-size:14px;font-weight:600;margin-bottom:10px;color:#ffcf6b}.cc-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:4px 0;border-bottom:1px solid #20242e}.cc-row span{color:#8b93a7}.cc-row b{text-align:right}.confirm-card .row{margin-top:12px}.cc-ok{color:#5fd08a;font-size:13px;margin-top:10px}.pos-card{background:#0f1115;border:1px solid #2a2f3a;border-radius:10px;padding:12px;margin-top:12px}.pos-title{font-size:14px;font-weight:600;margin-bottom:6px}.pos-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:3px 0}.pos-card .row{margin-top:10px}