:root{color:#1c1917;background:#f6f3ee;font:16px/1.45 Segoe UI,PingFang SC,Noto Sans SC,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}#app{min-height:100vh}.gate{max-width:420px;margin:8vh auto;padding:28px;background:#fff;border:1px solid #e7e1d8}h1{font-size:28px;margin:0 0 8px}.note{color:#57534e;font-size:14px}label{display:block;margin:14px 0 6px;font-size:13px}input,textarea{width:100%;border:1px solid #d6d0c8;background:#fff;padding:10px}.row{display:flex;gap:8px}.row>*{flex:1}button.primary{background:#1c1917;color:#fff;border:0;padding:10px 14px}button.ghost{background:#fff;border:1px solid #d6d0c8;padding:10px 14px}.err{color:#9f1239;min-height:1.2em;font-size:14px}.shell{display:grid;grid-template-columns:280px 1fr;height:100vh}aside{border-right:1px solid #e7e1d8;background:#fff;display:flex;flex-direction:column}header,.composer{padding:12px;border-bottom:1px solid #e7e1d8}.composer{border-bottom:0;border-top:1px solid #e7e1d8;display:flex;gap:8px}.list{overflow:auto}.item{padding:12px;border-bottom:1px solid #f0ebe4;cursor:pointer}.item.on{background:#f6f3ee}.main{display:flex;flex-direction:column;min-width:0}.msgs{flex:1;overflow:auto;padding:16px}.bubble{max-width:70%;margin:8px 0;padding:8px 12px;background:#fff;border:1px solid #e7e1d8}.bubble.me{margin-left:auto;background:#1c1917;color:#fff}.top{display:flex;justify-content:space-between;align-items:center}.banner{background:#fff7ed;color:#9a3412;padding:8px 12px;font-size:13px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:8px;border-bottom:1px solid #e7e1d8;font-size:14px}
