:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#1f2937;background:#f5f7fa}
*{box-sizing:border-box}
body{margin:0}main{max-width:900px;margin:30px auto;padding:0 15px}
header{margin-bottom:18px}h1{font-size:29px;margin:0 0 5px}p,footer{color:#667085}
.panel{background:#fff;border:1px solid #e5e7eb;border-radius:13px;padding:18px;margin:12px 0;box-shadow:0 2px 10px #00000008}
.line{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:10px 0}
label{display:block;flex:1;min-width:180px;font-size:14px}
input,select,textarea{width:100%;font:inherit;border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:8px;padding:10px;margin-top:5px}
textarea{resize:vertical}
button{background:#285ad0;color:#fff;border:0;border-radius:8px;padding:11px 18px;cursor:pointer}
button:disabled{background:#b5bfce;cursor:not-allowed}
#status{font-size:14px;color:#475467;margin:8px}
.chat{padding:0;overflow:hidden}#log{min-height:300px;max-height:52vh;overflow:auto;padding:18px}
.entry{margin:9px 0;padding:10px 12px;background:#f7f9fc;border-radius:9px;white-space:pre-wrap;overflow-wrap:anywhere}
.entry.mine{background:#eaf0ff}.meta{font-size:12px;color:#667085;margin-bottom:6px}
.compose{border-top:1px solid #e5e7eb;padding:14px;display:grid;grid-template-columns:1fr auto;gap:10px}
.compose select{grid-column:1/3}.compose textarea{grid-column:1/2;margin:0}
footer{font-size:13px;text-align:center;margin:18px}
@media(max-width:500px){.compose{display:block}.compose>*{margin:7px 0;width:100%}}

.notice{font-size:13px;color:#475467;line-height:1.6}
