:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172033;background:#f3f6f8;line-height:1.55;--navy:#14213d;--teal:#087f73;--line:#d8e0e7;--surface:#fff;--soft:#edf3f5}*{box-sizing:border-box}body{margin:0}header{min-height:60px;padding:0 max(20px,calc((100% - 960px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:white}header strong{font-size:17px}header a{color:#dbeafe;min-height:44px;display:flex;align-items:center}main{max-width:960px;margin:28px auto;padding:0 20px}.narrow{max-width:430px;margin:12vh auto}.card,.messages{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px;margin-bottom:16px;box-shadow:0 2px 10px #14213d0a}h1{margin-top:0;font-size:1.4rem}label{display:grid;gap:.4rem;font-weight:600}input,textarea{width:100%;padding:12px;border:1px solid #98a5b3;border-radius:7px;font:inherit}button{min-height:44px;background:var(--teal);color:white;border:0;border-radius:7px;padding:10px 18px;font-weight:700;cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #5eead4;outline-offset:2px}form{display:flex;gap:12px;align-items:end}.narrow form,.card>form{flex-direction:column;align-items:stretch}.chat-shell{display:flex;flex-direction:column;min-height:calc(100dvh - 88px)}.messages{min-height:58vh;display:flex;flex-direction:column;gap:14px;padding:24px}.messages article{max-width:min(78%,720px);padding:13px 16px;border-radius:8px;overflow-wrap:anywhere}.question{align-self:flex-end;background:var(--navy);color:white}.answer{align-self:flex-start;display:flex;gap:11px;background:var(--soft);border:1px solid #dce6e9}.bot-mark{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:white;font-size:13px;font-weight:800}.welcome p{margin:3px 0 0;color:#526171}.message-content{min-width:0}.message-content>:first-child{margin-top:0}.message-content>:last-child{margin-bottom:0}.message-content h1{font-size:1.25rem}.message-content h2{font-size:1.1rem}.message-content h3{font-size:1rem}.message-content p,.message-content ul,.message-content ol{margin:8px 0}.message-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.message-content th,.message-content td{border:1px solid #cbd5df;padding:7px 9px;text-align:left}.message-content pre{overflow:auto;background:#172033;color:#eef2f6;padding:12px;border-radius:6px}.message-content code{font-family:ui-monospace,SFMono-Regular,monospace}.composer{position:sticky;bottom:0;background:#f3f6f8;padding-top:10px}.composer textarea{min-height:48px;max-height:160px;resize:none;background:white}.composer button{min-width:94px}.composer-hint{text-align:right;margin:4px 0 0;color:#667483;font-size:12px}.typing{align-items:center;min-width:205px}.typing span{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:#687787;animation:pulse 1.1s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.typing small{display:block;margin-top:4px;color:#667483}.error{color:#8f1d1d;background:#fff1f1}.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}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.7rem;border-bottom:1px solid #e5e7eb}.actions,.actions form{display:flex;gap:.4rem}.secondary{background:#475569}.danger{background:#b91c1c}@keyframes pulse{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.typing span{animation:none;opacity:.7}}@media(max-width:600px){header{padding:0 16px}.chat-shell{margin:14px auto;padding:0 12px}.messages{padding:14px;min-height:62vh}.messages article{max-width:94%}.composer{align-items:stretch;flex-direction:column}.composer button{width:100%}.composer-hint{display:none}table{font-size:.9rem}}
