:root{--bg:#0f1220;--card:#181c2f;--accent:#5b8cff;--accent2:#8f6bff;--text:#eef0ff;--muted:#9aa0c0;--ok:#2ecc71;--err:#ff5f6d;--radius:14px}
*{box-sizing:border-box;margin:0;padding:0}
@font-face{font-family:'IRANYekanX';src:url('../fonts/IRANYekanXVF.woff2') format('woff2'),url('../fonts/IRANYekanXVF.woff') format('woff');font-display:swap}
body{font-family:'IRANYekanX',Tahoma,sans-serif;background:var(--bg);color:var(--text);direction:rtl;line-height:1.7}
a{color:var(--accent);text-decoration:none}
.container{max-width:1080px;margin:0 auto;padding:16px}
header.site{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
header.site img.logo{height:44px}
nav a{margin-inline-start:14px}
.card{background:var(--card);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.btn{display:inline-block;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:10px;padding:10px 22px;cursor:pointer;font-family:inherit;font-size:15px;transition:opacity .2s}
.btn:hover{opacity:.88}
.btn.secondary{background:#2a2f4a}
input,textarea,select{width:100%;background:#11142a;border:1px solid #2c3155;color:var(--text);border-radius:10px;padding:11px 14px;font-family:inherit;margin-bottom:10px}
input:focus,textarea:focus{outline:none;border-color:var(--accent)}
#chat-box{height:420px;overflow-y:auto;background:#11142a;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:75%;padding:10px 14px;border-radius:14px;white-space:pre-wrap;word-break:break-word}
.msg.user{align-self:flex-start;background:linear-gradient(135deg,var(--accent),var(--px}
.msg.assistant{align-bottom-right-radius:4px}
.msg.assistant{align-self:flex-end;background:#232848;border-bottom-left-radius:4px}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid #2c3155;text-align:right}
th{color:var(--muted);font-weight:600}
.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;background:#2a2f4a;color:var(--muted)}
.badge.ok{background:rgba(46,204,113,.15);color:var(--ok)}
.badge.err{background:rgba(255,95,109,.15);color:var(--err)}
footer.site{color:var(--muted);text-align:center;padding:24px 0;font-size:13px}
@media(max-width:600px){.msg{max-width:90%}}
