*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#1f2937;background:#fff}
button{cursor:pointer;border:0;border-radius:8px;padding:8px 12px;font-size:14px}
input,textarea{font:inherit;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;outline:none}input:focus,textarea:focus{border-color:#6366f1;box-shadow:0 0 0 2px #e0e7ff}
#app{display:flex;height:100vh;overflow:hidden}
#sidebar{width:280px;min-width:240px;background:#f8f8fa;border-right:1px solid #eee;display:flex;flex-direction:column}
.side-head{padding:14px;display:grid;gap:10px}.primary{background:#111;color:#fff}.secondary{background:#eee;color:#111}.danger-text{background:transparent;color:#dc2626}.text-btn{background:transparent;color:#6b7280}
.conv-list{flex:1;overflow:auto;padding:0 10px 10px;display:flex;flex-direction:column;gap:6px}
.conv-item{padding:10px;border-radius:8px;text-align:left;background:transparent;width:100%;display:flex;justify-content:space-between;gap:8px}
.conv-item.active{background:#e9e9f5}.conv-item small{color:#9ca3af;display:block;margin-top:3px}.conv-item .del{background:transparent;color:#9ca3af;padding:2px 6px}
.side-foot{padding:12px;border-top:1px solid #eee;color:#9ca3af;font-size:12px}
#main{flex:1;display:flex;flex-direction:column;min-width:0}
#chatHeader{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #eee}
#titleInput{flex:1;border:0;font-size:16px;font-weight:600;padding:6px}.header-actions{display:flex;gap:6px}.icon-btn{display:none;background:transparent;font-size:18px}
.messages{flex:1;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:18px;max-width:860px;width:100%;margin:0 auto}
.msg{max-width:88%;line-height:1.65;white-space:pre-wrap;word-break:break-word}.msg.user{align-self:flex-end;background:#111;color:#fff;padding:12px 16px;border-radius:16px 16px 4px 16px}.msg.assistant{align-self:flex-start}
.msg .meta{font-size:12px;color:#9ca3af;margin-bottom:4px}.msg.user .meta{color:#d1d5db}
.msg-actions{display:flex;gap:6px;margin-top:6px;opacity:0}.msg:hover .msg-actions{opacity:1}.msg-actions button{background:transparent;color:#9ca3af;padding:2px 6px;font-size:12px}
.edit-box{width:100%;min-height:80px}.edit-row{display:flex;gap:8px;margin-top:8px}
.empty{text-align:center;color:#6b7280;padding:60px 20px 0}.empty h2{color:#111}.hint{font-size:13px}
.composer{max-width:860px;width:100%;margin:0 auto;padding:12px 16px 4px;display:flex;gap:10px;align-items:flex-end}.composer textarea{flex:1;resize:none;max-height:180px}.status{text-align:center;color:#9ca3af;font-size:12px;min-height:18px;margin:2px 0 12px}
.share-banner{background:#fef3c7;padding:10px;text-align:center;font-size:14px}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:10;padding:16px}.card{background:#fff;padding:24px;border-radius:16px;width:360px;max-width:100%;display:grid;gap:12px}.card.wide{width:520px}.full{width:100%}.row{display:flex;gap:8px;flex-wrap:wrap}.error{color:#dc2626;font-size:13px;min-height:18px}.hidden{display:none!important}
@media(max-width:760px){
  #sidebar{position:fixed;z-index:5;height:100%;transform:translateX(-100%);transition:.2s}#sidebar.open{transform:none}.icon-btn{display:block}
  .msg{max-width:95%}.header-actions .danger-text{display:none}
}

.backdrop{display:none}
@media(max-width:760px){
  .backdrop:not(.hidden){display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:4}
}
