:root{--sand:#f6efe3;--sand-deep:#ece0cc;--paper:#fffdf8;--ink:#222724;--muted:#7b746a;--line:#e7ddcc;--teal:#0f5c52;--teal-soft:#14766a;--teal-tint:#e3f0ed;--coral:#d9542f;--coral-tint:#fdecea;--gold:#d8a03d;--shadow:0 30px 70px -30px #2a241973;--font-sans:"Segoe UI", "Noto Kufi Arabic", "Cairo", Tahoma, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--ink);background-color:var(--sand);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 12% 18%,#d8a03d2e,#0000 42%),radial-gradient(circle at 88% 8%,#0f5c5229,#0000 40%),radial-gradient(circle at 70% 92%,#d9542f1a,#0000 45%);background-attachment:fixed}button,select,textarea{font-family:inherit}.page{justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.chat-shell{background:var(--paper);width:min(980px,100%);height:calc(100dvh - 40px);max-height:960px;box-shadow:var(--shadow);border:1px solid #e7ddcce6;border-radius:28px;flex-direction:column;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--line);background:linear-gradient(#fffdf8 0%,#faf5ea 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--teal) 0%, var(--teal-soft) 60%, var(--gold) 130%);border-radius:15px;flex:none;place-items:center;width:46px;height:46px;font-size:23px;font-weight:800;display:grid;box-shadow:0 10px 20px -10px #0f5c52cc}.brand-text{min-width:0}.brand-text h1{letter-spacing:-.2px;margin:0;font-size:20px;font-weight:800}.brand-text p{color:var(--muted);margin:2px 0 0;font-size:12.5px}.header-actions{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.model-picker{flex-direction:column;gap:4px;display:flex}.model-picker-label{color:var(--muted);letter-spacing:.4px;font-size:10.5px;font-weight:700}.model-picker select{border:1px solid var(--line);max-width:250px;height:40px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;outline:none;padding:0 12px;font-size:13px;font-weight:600}.model-picker select:focus-visible{border-color:var(--teal-soft);box-shadow:0 0 0 3px #14766a29}.model-picker select:disabled{opacity:.6;cursor:not-allowed}.new-chat-button{border:1px solid var(--teal);height:40px;color:var(--teal);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.new-chat-button:hover:not(:disabled){background:var(--teal);color:#fff}.new-chat-button:disabled{opacity:.45;cursor:not-allowed}.models-error{background:var(--coral-tint);color:#8f2b1e;border-bottom:1px solid #f4c9c0;align-items:center;gap:10px;padding:10px 22px;font-size:13px;display:flex}.models-error span:nth-child(2){flex:1}.models-error button{color:#fff;cursor:pointer;background:#8f2b1e;border:0;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700}.chat-body{scroll-behavior:smooth;flex:1;padding:24px 22px;overflow-y:auto}.chat-body::-webkit-scrollbar{width:10px}.chat-body::-webkit-scrollbar-thumb{border:3px solid var(--paper);background:#ddd1bd;border-radius:10px}.messages{flex-direction:column;gap:18px;max-width:780px;margin:0 auto;display:flex}.message-row{align-items:flex-start;gap:10px;animation:.25s both rise;display:flex}.message-row.is-user{justify-content:flex-end}.is-user+.is-assistant{margin-top:2px}.avatar{color:#fff;background:linear-gradient(135deg, var(--teal), var(--teal-soft));border-radius:12px;flex:none;place-items:center;width:34px;height:34px;font-size:15px;font-weight:800;display:grid;box-shadow:0 6px 12px -8px #0f5c52e6}.bubble{overflow-wrap:anywhere;border-radius:18px;max-width:78%;padding:12px 16px;font-size:15.5px;line-height:1.9}.user-bubble{background:linear-gradient(135deg, var(--teal) 0%, #136f63 100%);color:#fff;border-bottom-left-radius:6px;box-shadow:0 12px 24px -16px #0f5c52e6}.assistant-bubble{color:var(--ink);border:1px solid var(--line);background:#fff;border-bottom-right-radius:6px;box-shadow:0 10px 26px -22px #2a2419b3}.bubble-text{white-space:pre-wrap}.cursor{color:var(--coral);margin-inline-start:2px;animation:1s steps(2,start) infinite blink;display:inline-block}.thinking{color:var(--muted);font-size:13.5px;animation:1.4s ease-in-out infinite pulse}.usage{border-top:1px dashed var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:8px;font-size:11.5px;display:flex}.usage-tokens{align-items:center;gap:4px;display:inline-flex}.usage-sep{background:#c4b9a4;border-radius:50%;width:3px;height:3px}.usage-cost{color:var(--teal);font-weight:700}.usage-usd{color:var(--muted);font-weight:500}.bubble-model{color:#a79d8c;margin-top:6px;font-size:10px;display:block}.bubble-error{background:var(--coral-tint);color:#8f2b1e;border:1px solid #f4c9c0;border-radius:12px;gap:8px;margin-top:10px;padding:10px 12px;font-size:13px;line-height:1.7;display:flex}.error-icon{line-height:1.4}.error-body{min-width:0}.error-body p{margin:0}.error-body details{margin-top:6px}.error-body summary{cursor:pointer;opacity:.85;font-size:11px;font-weight:700}.error-body code{white-space:pre-wrap;overflow-wrap:anywhere;background:#8f2b1e14;border-radius:8px;margin-top:4px;padding:6px 8px;font-size:10.5px;display:block}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:560px;height:100%;margin:0 auto;padding:20px 0 40px;display:flex}.empty-mark{color:#fff;background:linear-gradient(135deg, var(--teal) 0%, var(--teal-soft) 55%, var(--gold) 125%);border-radius:24px;place-items:center;width:74px;height:74px;margin-bottom:16px;font-size:34px;font-weight:800;display:grid;box-shadow:0 18px 34px -18px #0f5c52cc}.empty-state h2{margin:0 0 6px;font-size:23px;font-weight:800}.empty-state p{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.8}.suggestions{flex-direction:column;gap:9px;width:100%;display:flex}.suggestion{border:1px solid var(--line);color:var(--ink);text-align:start;cursor:pointer;background:#fff;border-radius:14px;padding:12px 16px;font-size:13.5px;transition:border-color .15s,transform .15s,background .15s}.suggestion:hover:not(:disabled){border-color:var(--teal-soft);background:var(--teal-tint);transform:translateY(-1px)}.suggestion:disabled{opacity:.55;cursor:not-allowed}.app-footer{border-top:1px solid var(--line);background:linear-gradient(#fbf7ef 0%,#f8f2e6 100%);padding:12px 22px 10px}.composer{flex-wrap:wrap;align-items:flex-end;gap:10px;max-width:780px;margin:0 auto;display:flex}.composer textarea{resize:none;border:1px solid var(--line);min-height:48px;max-height:160px;color:var(--ink);background:#fff;border-radius:16px;outline:none;flex:220px;padding:13px 16px;font-size:15px;line-height:1.6;transition:border-color .15s,box-shadow .15s}.composer textarea:focus{border-color:var(--teal-soft);box-shadow:0 0 0 3px #14766a24}.composer textarea::placeholder{color:#a79d8c}.send-button{background:linear-gradient(135deg, var(--teal), #14776a);color:#fff;cursor:pointer;border:0;border-radius:16px;flex:none;justify-content:center;align-items:center;gap:8px;min-width:96px;height:48px;padding:0 20px;font-size:14.5px;font-weight:800;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex;box-shadow:0 14px 26px -16px #0f5c52e6}.send-button:hover:not(:disabled){transform:translateY(-1px)}.send-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.send-spinner{border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.composer-hint{color:#a79d8c;width:100%;margin:2px 4px 0;font-size:10.5px}.footer-note{text-align:center;color:#a79d8c;max-width:780px;margin:6px auto 0;font-size:10.5px}@keyframes blink{to{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:720px){.page{padding:0}.chat-shell{border:0;border-radius:0;height:100dvh;max-height:none}.app-header{gap:10px;padding:12px 14px}.brand-text h1{font-size:18px}.header-actions{width:100%}.model-picker{flex:1}.model-picker select{width:100%;max-width:none}.chat-body{padding:16px 14px}.bubble{max-width:88%;font-size:15px}.app-footer{padding:10px 14px 8px}.send-button{min-width:84px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
