:root{--ink:#252525;--muted:#858585;--paper:#ededed;--panel:#f7f7f7;--line:#d7d7d7;--red:#9f3f34;--green:#95ec69;--white:#fff;--shadow:0 16px 46px rgba(40,40,40,.10)}
.message-gallery{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;white-space:normal;max-width:360px}
.message-gallery button{padding:0;border:0;background:transparent;border-radius:5px;overflow:hidden}
.message-gallery img{display:block;width:90px;height:125px;object-fit:cover}
body .shot .reorder{top:auto;bottom:3px;left:3px;right:auto;border-radius:4px}
.shot img[role=button]{cursor:zoom-in}
button:disabled{cursor:default}
button:focus-visible,[role=button]:focus-visible{outline:2px solid #168544;outline-offset:2px}
body #imageDialog{width:min(900px,calc(100% - 24px));height:min(92dvh,1000px);max-height:92dvh;overflow:hidden}
.image-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;font-size:12px;color:#777;border-bottom:1px solid #ddd}
.image-toolbar button{flex-shrink:0}
.full-image-wrap{height:calc(100% - 78px);overflow:auto;padding:12px;background:#e5e5e5}
#fullImage{display:block;max-width:100%;height:auto;margin:auto}
/* Keep the composer visible while the conversation itself scrolls. */
html body { overflow: hidden; }
body .shell { height: 100dvh; min-height: 0; }
body .main { min-height: 0; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto; }
body .messages { min-height: 0; overflow-wrap: anywhere; }
body .composer textarea { min-width: 0; }
body .assistant .bubble { white-space: normal; }
body .feedback { flex-wrap: wrap; }
body .composer-meta { flex-wrap: wrap; }
body .topbar { gap: 12px; }
body .topbar > div:first-child { min-width: 0; }
body .topbar h1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body .top-actions { flex-shrink: 0; }
body .top-actions button { white-space: nowrap; }
@media(max-width:760px) {
  body .shell { grid-template-rows: auto minmax(0, 1fr); }
  body .main { height: 100%; }
  body .welcome { min-height: 0; overflow: auto; align-self: stretch; }
}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;background:var(--paper);color:var(--ink)}button,textarea,input,select{font:inherit}button{cursor:pointer}.shell{height:100%;display:grid;grid-template-columns:280px 1fr}.sidebar{background:#262626;color:#f7f3eb;padding:26px 18px;display:flex;flex-direction:column;min-width:0}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 24px}.mark{display:grid;place-items:center;width:38px;height:38px;background:#07c160;border-radius:9px;color:#fff;font-family:serif;font-size:21px}.brand strong,.brand small{display:block}.brand strong{font-size:18px;letter-spacing:.05em}.brand small{margin-top:3px;color:#aaa39a;font-size:11px}.new-case{border:1px solid #505050;background:#333;color:#fff;border-radius:8px;padding:11px;text-align:left}.case-list{flex:1;overflow:auto;margin-top:16px}.case-item{border:0;background:transparent;color:#c9c2b9;width:100%;text-align:left;padding:12px;border-radius:7px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-item:hover,.case-item.active{background:#3d3d3d;color:#fff}.case-item small{display:block;color:#847d75;margin-top:4px}.privacy{font-size:11px;color:#8e877e;border-top:1px solid #404040;padding:16px 6px 0}.privacy span{color:#07c160}.main{height:100%;display:grid;grid-template-rows:auto 1fr auto;min-width:0;background:#ededed}.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 28px 14px;border-bottom:1px solid #d6d6d6;background:#f5f5f5}h1{font-weight:600;font-size:19px;margin:0}.topbar p{font-size:11px;color:var(--muted);margin:6px 0 0}.top-actions{display:flex;gap:8px}.ghost,.primary{border:1px solid var(--line);background:var(--white);border-radius:6px;padding:8px 13px}.ghost:hover{background:var(--panel)}.ghost:disabled{opacity:.35}.danger{color:var(--red)}.primary{background:#07c160;color:#fff;border:0}.send{background:#07c160;color:#fff;border:0}.welcome{align-self:center;text-align:center;padding:40px}.welcome.hidden{display:none}.eyebrow{color:#579d48;font-size:12px;letter-spacing:.12em}.welcome h2{font:500 29px serif;margin:13px 0 28px}.intent-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,220px));gap:12px;justify-content:center}.intent-grid button{padding:20px;text-align:left;border:1px solid #d8d8d8;background:rgba(255,255,255,.75);border-radius:10px;box-shadow:0 3px 14px rgba(30,25,20,.03)}.intent-grid button:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.intent-grid b,.intent-grid span{display:block}.intent-grid b{font-size:16px;margin-bottom:8px}.intent-grid span{font-size:12px;line-height:1.7;color:var(--muted)}.messages{overflow:auto;padding:25px max(28px,calc((100% - 830px)/2));display:none}.messages.active{display:block}.message{position:relative;margin:0 0 24px;max-width:78%;padding-left:42px}.message.user{margin-left:auto;padding-left:0;padding-right:42px}.message:before{content:"军";position:absolute;left:0;top:0;width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:#07c160;color:white;font:17px serif}.message.user:before{content:"我";left:auto;right:0;background:#6a7b8d}.bubble{position:relative;display:inline-block;padding:11px 14px;border-radius:5px;white-space:pre-wrap;line-height:1.75;font-size:14px}.user .bubble{float:right;background:var(--green);color:#202020}.assistant .bubble{background:white}.bubble:after{content:"";position:absolute;top:12px;border:6px solid transparent}.assistant .bubble:after{left:-11px;border-right-color:#fff}.user .bubble:after{right:-11px;border-left-color:var(--green)}.msg-meta{clear:both;font-size:10px;color:var(--muted);padding-top:6px}.user .msg-meta{text-align:right}.feedback{clear:both;display:flex;gap:6px;padding-top:8px}.feedback button{border:1px solid #d8d8d8;background:#f8f8f8;border-radius:6px;padding:4px 8px;font-size:11px;color:var(--muted)}.composer-wrap{padding:10px max(28px,calc((100% - 830px)/2)) 16px;background:#f5f5f5;border-top:1px solid #d6d6d6}.composer-wrap.dragging{outline:2px dashed #07c160;outline-offset:-7px}.composer{display:flex;align-items:flex-end;gap:8px;background:white;border:1px solid #ddd;border-radius:7px;padding:9px}.composer textarea{flex:1;padding:5px 8px;max-height:150px}textarea{resize:none;border:0;outline:0;background:transparent;line-height:1.6}.icon-btn{display:grid;place-items:center;width:34px;height:34px;border:1px solid #aaa;border-radius:50%;cursor:pointer;color:#555;font-size:22px}.send{border-radius:6px;padding:9px 17px}.send:disabled{opacity:.45}.composer-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;padding:7px 5px 0}.composer-meta select{border:0;background:transparent;color:var(--ink);max-width:230px}.image-preview{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 9px}.shot{position:relative;flex:none;width:72px;height:88px;background:#ddd;border-radius:7px;overflow:hidden;border:1px solid #ccc}.shot img{width:100%;height:100%;object-fit:cover}.shot b{position:absolute;left:4px;top:4px;background:rgba(0,0,0,.65);color:white;border-radius:10px;padding:1px 5px;font-size:9px}.shot button{position:absolute;right:3px;top:3px;border:0;background:rgba(0,0,0,.7);color:white;border-radius:50%;width:20px;height:20px;line-height:18px;padding:0}.hidden{display:none!important}dialog{border:0;border-radius:12px;padding:0;box-shadow:var(--shadow);width:min(520px,calc(100% - 30px))}dialog::backdrop{background:rgba(30,27,24,.42)}dialog form{padding:26px}dialog h3{font-size:21px;margin:0 0 20px}dialog label{display:block;font-size:12px;color:var(--muted);margin:14px 0}dialog input,dialog textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:7px;padding:10px;color:var(--ink)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.typing{display:inline-flex;gap:4px;padding:18px}.typing i{width:6px;height:6px;border-radius:50%;background:#aaa;animation:pulse 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes pulse{50%{opacity:.25;transform:translateY(-3px)}}
@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{height:auto;padding:10px 12px;display:grid;grid-template-columns:1fr auto;gap:8px}.brand{padding:0}.brand small,.privacy{display:none}.new-case{grid-column:2}.case-list{grid-column:1/-1;display:flex;margin:0;overflow:auto}.case-item{width:auto;min-width:130px;padding:8px 10px}.main{height:calc(100vh - 112px)}.topbar{padding:13px 16px}.topbar p{display:none}h1{font-size:20px}.welcome{padding:25px 15px}.welcome h2{font-size:25px}.intent-grid{grid-template-columns:1fr}.messages,.composer-wrap{padding-left:12px;padding-right:12px}.message{max-width:94%}.composer-meta{gap:8px}.composer-meta select{max-width:160px}}
.bubble strong{font-weight:650}.bubble blockquote{margin:9px 0;padding:7px 11px;border-left:3px solid #07c160;background:#f6f6f6;color:#333}.sources{clear:both;margin-top:8px;border:1px solid #d6d6d6;border-radius:7px;background:#f7f7f7;padding:7px 10px;font-size:11px;color:#777}.sources summary{cursor:pointer;color:#567e4c}.sources div{padding:5px 0;border-top:1px solid #e4e4e4}.sources div:first-of-type{margin-top:6px}.sources code{color:#444}
/* Dark-line identity; keep progress text steady and the dots secondary. */
.message.assistant:before{content:"";background:#14221c url('/anxian-avatar.png') center/cover}
.progress-label{vertical-align:middle;font-size:13px;color:#52695d}
.typing{padding:5px 8px;vertical-align:middle}
.typing i{animation-name:quiet-pulse}
@keyframes quiet-pulse{50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){.typing i{animation:none}}
#creditsDialog{padding:24px}#creditsDialog form{padding:0}
.edit-message{font-size:11px;padding:4px 8px;clear:both;display:block;margin-top:6px}
.account-corner{display:flex;justify-content:flex-end;gap:8px;padding:6px 4px 0}
.account-action{border:0;background:transparent;color:#64736a;font-size:12px;padding:5px 0 2px 10px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-action:hover{color:#235c42;text-decoration:underline}
@media(max-width:760px){.account-corner{padding-top:4px}.composer-meta{flex-wrap:wrap}.composer-meta #status{overflow-wrap:anywhere}.account-action{max-width:65vw}}
:root .bubble p { margin: 0 0 .75em; }
:root .bubble p:last-child { margin-bottom: 0; }
:root .bubble h1, :root .bubble h2, :root .bubble h3,
:root .bubble h4, :root .bubble h5, :root .bubble h6 { font-size: 1.05em; margin: .9em 0 .45em; line-height: 1.5; }
:root .bubble h1:first-child, :root .bubble h2:first-child { margin-top: 0; }
:root .bubble ol, :root .bubble ul { padding-left: 1.6em; margin: .5em 0; }
:root .bubble li { margin: .35em 0; }
:root .bubble pre { white-space: pre-wrap; overflow-wrap: anywhere; }
