:root { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; color: #1f2937; background:#f5f6f8; font-synthesis:none; }
* { box-sizing: border-box; }
body { margin:0; }
.app { max-width:1000px; height: min(100dvh, 790px); min-height:560px; margin:0 auto; background:white; display:flex; flex-direction:column; border:1px solid #e8e8eb; }
.heading { padding:16px 20px; display:flex; align-items:center; gap:14px; border-bottom:1px solid #ebecef; background:#fff; }
.heading-logo { background:#b42235; color:white; font-weight:800; display:grid; place-items:center; border-radius:11px; width:42px; height:42px; flex:none; }
.head-text { flex:1; min-width:0; }
h1 { font-size:18px; line-height:1.3; margin:0 0 5px; }
.head-text p { font-size:12px; color:#5c6573; margin:0; }
.pdf-button { text-decoration:none; border:1px solid #d9dde3; border-radius:8px; color:#333b46; padding:9px 11px; font-size:13px; white-space:nowrap; }
.conversation { overflow:auto; padding:20px; flex:1; display:flex; flex-direction:column; gap:14px; background:#fafbfc; }
.message { align-self:flex-start; max-width:88%; padding:13px 16px; background:white; border:1px solid #e3e5ea; border-radius:13px; box-shadow:0 1px 2px #00000008; }
.message.user { background:#f9e9ec; border-color:#f3d9dd; align-self:flex-end; }
.speaker { color:#a31d31; font-size:12px; font-weight:700; display:block; margin-bottom:6px; }
.message p { margin:0; white-space:pre-wrap; line-height:1.55; overflow-wrap:anywhere; font-size:15px; }
.refs { font-size:12px; color:#576170; border-top:1px solid #edf0f2; padding-top:9px; margin-top:11px; }
.refs a { color:#a31d31; }
.suggestions { display:flex; flex-wrap:wrap; gap:7px; }
.suggestions button { background:white; border:1px solid #dedfe5; border-radius:16px; font-size:13px; padding:9px 12px; cursor:pointer; color:#364152; }
.composer { display:flex; align-items:end; gap:9px; padding:12px 16px 9px; border-top:1px solid #ebecef; background:white; }
textarea { flex:1; resize:none; border:1px solid #d7dbe1; border-radius:10px; padding:12px; font:inherit; font-size:15px; min-width:0; }
textarea:focus { outline:2px solid #db8895; }
button[type=submit] { color:#fff; background:#ad2033; border:0; border-radius:10px; padding:13px 18px; font:inherit; cursor:pointer; }
button:disabled { opacity:0.6; cursor:wait; }
footer { color:#6b7280; font-size:11px; line-height:1.4; text-align:center; padding:0 16px 12px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:600px) { .app {height:100dvh; min-height:450px; } .heading {padding:10px 12px; gap:8px;} h1 {font-size:15px;} .head-text p{font-size:11px;} .heading-logo{width:33px;height:33px;} .pdf-button{font-size:11px;padding:7px;} .conversation{padding:12px;} .message{max-width:95%;} footer{font-size:10px;} }
