:root{--active:#1164a3;--ink:#1d1c1d;--muted:#717274;--line:#e2e2e3;--link:#0576b9;--green:#2eb67d;--highlight:#fffdf3;--dot:#ece0b8;--selfhl:#fff3a0;--btcred:#c0341d;--btcbg:#fdece9;--sans:"Lato","Helvetica Neue",Helvetica,Arial,-apple-system,sans-serif;--mono:Monaco,"SFMono-Regular",Menlo,Consolas,"Courier New",monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);font-size:15px;background:#fff}.app,body{height:100vh;overflow:hidden}.app{display:grid;grid-template-columns:220px 1fr}.side{background:#f8f8fa;color:#3a3a3a;flex-direction:column;border-right:1px solid var(--line);overflow-y:auto}.side,.ws{display:flex}.ws{padding:14px 16px;border-bottom:1px solid var(--line);color:var(--ink);font-weight:900;font-size:17px;align-items:center;gap:8px}.ws .caret{margin-left:auto;font-size:11px;color:var(--muted)}.side .grp{padding:14px 16px 4px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.side .ch{padding:5px 16px;font-size:15px;color:#3a3a3a;cursor:pointer;display:flex;align-items:center;gap:7px}.side .ch:hover{background:#eeeef1}.side .ch.on{background:var(--active);color:#fff;font-weight:700}.side .ch.on .h{color:#fff}.side .ch .h{color:var(--muted)}.side .ch .badge{margin-left:auto;background:#cd2553;color:#fff;font-size:11px;font-weight:800;border-radius:9px;padding:0 6px}.side .me{margin-top:auto;padding:12px 16px;display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);background:#fff;position:-webkit-sticky;position:sticky;bottom:0}.side .me .av{width:28px;height:28px;border-radius:5px;background:#ff7a59;display:grid;place-items:center;font-size:15px}.side .me .dot{width:9px;height:9px;background:var(--green);border-radius:50%;border:2px solid #fff;margin-left:auto}.side .me b{color:var(--ink);font-size:14px}.side .me small{color:var(--muted);font-size:11px;display:block}.main{flex-direction:column;min-width:0;min-height:0;height:100vh;background:#fff}.main,.top{display:flex}.top{height:49px;border-bottom:1px solid var(--line);align-items:center;justify-content:space-between;padding:0 18px;flex-shrink:0}.top .t{font-weight:900;font-size:15px}.top .t .desc,.top .t .h{color:var(--muted);font-weight:400}.top .t .desc{font-size:13px;margin-left:10px}.top .bal{display:flex;align-items:center;gap:8px;background:#f8f8f8;border:1px solid var(--line);border-radius:20px;padding:5px 12px;font-size:13px}.top .bal b{font-weight:800}.chat{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 0 6px}.row{display:flex;gap:9px;padding:5px 20px;position:relative}.row:hover{background:#f8f8f8}.row .av{width:36px;height:36px;border-radius:6px;flex-shrink:0;display:grid;place-items:center;color:#fff;font-weight:700;font-size:15px}.row.hl{background:var(--highlight);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:9px 9px}.row .b{min-width:0;flex:1 1}.row .hd{display:flex;align-items:baseline;gap:8px;line-height:1.2}.row .nm{font-weight:900;font-size:15px}.row .bot{background:#e8e8e8;color:#616061;font-size:10px;font-weight:700;padding:1px 4px;border-radius:3px;transform:translateY(-1px)}.row .tm{color:var(--muted);font-size:12px}.row .tx{font-size:15px;line-height:1.46;margin-top:1px;color:#1d1c1d}.row .sub{color:var(--muted);font-size:13px;margin-top:1px}.row .tx code{font-family:var(--mono);font-size:13px;background:#f4ecd8;color:#8a6d00;padding:1px 4px;border-radius:3px}.mention{color:var(--link);background:#e8f5fa;border-radius:3px;padding:0 2px;font-weight:600}.mention.self{color:var(--ink);background:var(--selfhl)}.quote{color:var(--muted)}.btcaddr{font-family:var(--mono);font-size:13px;color:var(--btcred);background:var(--btcbg);border:1px solid #f3cfc8;border-radius:3px;padding:1px 6px;word-break:break-all}.qr-wrap{margin-top:8px}.qr-cap{font-weight:700;font-size:13px;color:#3a3a3a;margin-bottom:4px}.qr-cap .sz{color:var(--muted);font-weight:400}.qr{width:150px;height:150px;border:1px solid var(--line);padding:8px;background:#fff;image-rendering:pixelated}.reacts{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}.react,.reacts{align-items:center}.react{display:inline-flex;gap:5px;border:1px solid #cfe3f5;background:#eaf3fb;color:var(--link);border-radius:12px;padding:1px 9px;font-size:12px;font-weight:700;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react:hover{background:#dcebf8}.react.add{border:1px dashed #c9c9c9;background:#fff;color:var(--muted)}.react.add:hover{border-color:var(--link);color:var(--link)}.code{font-family:var(--mono);font-size:13px;line-height:1.65;color:#3a3a3a;white-space:pre;background:var(--highlight);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:9px 9px;border:1px solid #efe3bf;border-radius:6px;padding:12px 16px;margin-top:6px;overflow:auto;max-width:560px}.lb .you{background:#ffec99;font-weight:700}.card{margin-top:8px;max-width:360px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:26px 20px 0;text-align:center}.card .check{width:66px;height:66px;border-radius:50%;border:1.5px solid #7fb3e0;display:grid;place-items:center;margin:0 auto 18px;color:#4a90d9;font-size:30px}.card h3{font-size:20px;font-weight:400;color:#3a3a3a}.card p{color:var(--muted);font-size:13.5px;line-height:1.5;margin-top:10px;padding:0 6px}.card .addr{font-family:var(--mono);font-size:12.5px;color:#3a3a3a}.card .acts{display:flex;justify-content:center;gap:16px;border-top:1px solid var(--line);margin-top:20px;padding:13px 0}.card .acts a{color:var(--link);font-size:13.5px;cursor:pointer;text-decoration:none}.card .acts .sep{color:#c9c9c9}.composer{padding:0 20px 20px;flex-shrink:0;position:relative}.cbox{border:1px solid #9e9ea6;border-radius:8px;display:flex;align-items:center;padding:0 6px;height:44px}.cbox:focus-within{border-color:#1264a3;box-shadow:0 0 0 1px #1264a3}.cbox .plus{width:30px;height:30px;border-radius:6px;display:grid;place-items:center;color:var(--muted);font-size:20px;cursor:pointer}.cbox input{flex:1 1;border:none;outline:none;font-size:15px;font-family:var(--sans);padding:0 6px;background:transparent}.cbox .emo{color:var(--muted);font-size:18px;cursor:pointer;padding:0 8px}.cbox .emo:hover{color:#e08a00}.suggest{position:absolute;left:20px;right:20px;bottom:66px;background:#fff;border:1px solid #b7b7bb;border-radius:6px;box-shadow:0 -3px 16px rgba(0,0,0,.14);overflow:hidden;z-index:30;display:none}.suggest.show{display:block}.suggest .hdr{display:flex;justify-content:space-between;align-items:center;padding:7px 14px;background:#f7f7f8;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.suggest .hdr .hint{display:flex;gap:14px}.suggest .hdr kbd{background:#fff;border:1px solid #ccc;border-radius:3px;padding:0 4px;font-size:11px;font-family:var(--mono);color:#555;margin-right:3px}.suggest .opt{display:flex;align-items:center;gap:9px;padding:8px 14px;cursor:pointer}.suggest .opt.on{background:var(--active);color:#fff}.suggest .opt .av{width:22px;height:22px;border-radius:4px;display:grid;place-items:center;font-size:13px;color:#fff;flex-shrink:0}.suggest .opt .nm{font-weight:700;font-size:14px}.suggest .opt .st{width:8px;height:8px;border-radius:50%}.suggest .opt .st.on{background:var(--green)}.suggest .opt .st.off{border:1.5px solid #b7b7bb}.suggest .opt .note{color:var(--muted);font-size:12px;font-weight:400}.suggest .opt.on .note{color:#dbe8f5}.emojipick{position:absolute;right:20px;bottom:66px;width:320px;background:#fff;border:1px solid #b7b7bb;border-radius:8px;box-shadow:0 -3px 16px rgba(0,0,0,.14);padding:8px;z-index:30;display:none}.emojipick.show{display:block}.emojipick .search{width:100%;border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:13px;margin-bottom:6px;outline:none}.emojipick .lbl{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin:6px 4px 2px}.emojipick .grid{display:grid;grid-template-columns:repeat(8,1fr);grid-gap:1px;gap:1px;max-height:170px;overflow-y:auto}.emojipick .grid span{font-size:20px;text-align:center;padding:5px 0;border-radius:6px;cursor:pointer}.emojipick .grid span:hover{background:#eaf3fb}.emojipick .handy{display:flex;gap:6px;align-items:center;border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.emojipick .handy .lbl{margin:0;flex:1 1}.emojipick .handy span{font-size:20px;cursor:pointer}.modal-bg{position:fixed;inset:0;background:rgba(20,15,30,.55);display:grid;place-items:center;z-index:100}.modal{background:#fff;border-radius:16px;padding:30px 28px 24px;width:360px;max-width:92vw;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3)}.modal-logo{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,#f7c744,#ff8c42);display:grid;place-items:center;font-size:30px;margin:0 auto 14px}.modal h2{font-size:21px;font-weight:900;color:var(--ink)}.modal p{color:var(--muted);font-size:13.5px;line-height:1.5;margin:8px 0 18px}.modal p b{color:var(--ink)}.uname{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;height:48px;transition:.15s}.uname:focus-within{border-color:var(--active);box-shadow:0 0 0 3px #dbeafe}.uname span{color:var(--muted);font-size:18px;font-weight:700}.uname input{border:none;outline:none;flex:1 1;font-size:17px;font-weight:700;padding:0 6px;color:var(--ink);font-family:var(--sans)}.uname-err{color:#c0341d;font-size:12.5px;margin-top:8px;text-align:left}.uname-btn{width:100%;margin-top:16px;background:var(--active);color:#fff;border:none;border-radius:10px;height:46px;font-size:15px;font-weight:800;cursor:pointer}.uname-btn:disabled{opacity:.5;cursor:not-allowed}.uname-note{display:block;color:var(--muted);font-size:11.5px;margin-top:12px}