:root{--bg: #0a0a0a;--text: #ffffff;--muted: #a1a1aa;--border: #26262b;--hover: #1c1c1e;--accent: #2563eb;--accent-weak: rgba(37, 99, 235, .16);--user-bg: #26262b;--font: "IBM Plex Sans Arabic", "Inter", -apple-system, "Segoe UI", "Noto Kufi Arabic", sans-serif;--font-code: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace}:root[data-theme=light]{--bg: #ffffff;--text: #0a0a0a;--muted: #8e8e93;--border: #e5e5ea;--hover: #f5f5f7;--accent-weak: #eff6ff;--user-bg: #f4f4f5;--panel: #ffffff;--panel-border: #e5e5ea;--backdrop: rgba(0, 0, 0, .3)}:root[data-theme=dark]{--panel: #141416;--panel-border: #26262b;--backdrop: rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden;overscroll-behavior:none}button{font-family:inherit}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.app{height:100dvh;display:flex;flex-direction:column}.topbar{position:relative;z-index:20;display:flex;justify-content:center;padding:16px 16px 0;flex-shrink:0}.topbar-anchor{position:relative}.logo-btn{border:none;background:transparent;cursor:pointer;padding:4px 12px;font-family:"IBM Plex Serif",var(--font);font-style:italic;font-weight:700;font-size:26px;line-height:1.3;color:var(--text);border-radius:10px;transition:opacity .15s ease,transform .15s ease}.logo-btn:hover{opacity:.82}.logo-btn:active{transform:scale(.96)}.popover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:transparent;cursor:default}.model-popover{position:absolute;top:calc(100% + 12px);right:50%;transform:translate(50%);width:264px;z-index:30;background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:6px;box-shadow:0 8px 30px #00000014;animation:pop-in .16s ease}@keyframes pop-in{0%{opacity:0;transform:translate(50%) scale(.97)}to{opacity:1;transform:translate(50%) scale(1)}}.model-item{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border:none;border-radius:11px;background:transparent;cursor:pointer;text-align:start;font-family:inherit;transition:background .12s ease}.model-item:hover{background:var(--hover)}.model-item.selected{background:var(--accent-weak)}.model-item-text{display:flex;flex-direction:column;gap:1px;min-width:0}.model-item-name{font-size:13.5px;font-weight:600;color:var(--text);line-height:1.4}.model-item.selected .model-item-name{color:var(--accent)}.model-item-desc{font-size:11.5px;color:var(--muted);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-check{margin-inline-start:auto;display:flex;color:var(--accent);flex-shrink:0}.main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px 20px 16px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.main::-webkit-scrollbar{width:8px}.main::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.empty-state{height:100%;display:grid;place-items:center}.empty-state h1{margin:0;font-size:clamp(28px,4.6vw,34px);font-weight:400;letter-spacing:-.01em;color:var(--text)}.messages{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:28px;padding-bottom:8px}.msg-user{align-self:flex-end;max-width:78%;background:var(--user-bg);border-radius:14px;padding:9px 15px;font-size:15px;line-height:1.75;display:flex;flex-direction:column;gap:8px}.msg-user-text{white-space:pre-wrap;overflow-wrap:break-word}.chat-img-single{display:block;border:none;border-radius:12px;padding:0;background:transparent;cursor:zoom-in;overflow:hidden;align-self:flex-start;max-width:180px}.chat-img-single img{display:block;max-width:180px;max-height:160px;border-radius:12px;object-fit:cover;border:1px solid var(--border)}.chat-img-many{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;padding:4px 12px 4px 4px;background:var(--bg);color:var(--text);font-family:inherit;font-size:13px;cursor:pointer;align-self:flex-start}.chat-img-many img{width:44px;height:44px;border-radius:9px;object-fit:cover;display:block}.chat-img-many:hover{background:var(--hover)}.image-viewer{display:flex;flex-direction:column;max-width:min(760px,94vw);max-height:88vh;background:var(--panel);border:1px solid var(--panel-border);border-radius:20px;overflow:hidden;color:var(--text)}.image-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--panel-border)}.image-viewer-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-viewer-body{flex:1;min-height:0;display:grid;place-items:center;padding:16px;background:var(--bg)}.image-viewer-body img{max-width:100%;max-height:62vh;object-fit:contain;border-radius:8px}.image-viewer-strip{display:flex;gap:8px;padding:12px 14px;overflow-x:auto;border-top:1px solid var(--panel-border)}.image-viewer-thumb{flex-shrink:0;border:2px solid transparent;border-radius:8px;padding:0;background:transparent;cursor:pointer;overflow:hidden;width:52px;height:52px}.image-viewer-thumb.active{border-color:var(--accent)}.image-viewer-thumb img{width:100%;height:100%;object-fit:cover;display:block}.attachments{display:flex;gap:8px;max-width:720px;margin:0 auto 8px;overflow-x:auto}.attachment{position:relative;flex-shrink:0}.attachment img{display:block;width:56px;height:56px;border-radius:10px;object-fit:cover;border:1px solid var(--border)}.attachment-remove{position:absolute;top:-6px;inset-inline-end:-6px;width:18px;height:18px;display:grid;place-items:center;border:none;border-radius:50%;background:var(--text);color:var(--bg);cursor:pointer;padding:0}.attach-btn{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s ease,color .12s ease}.attach-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.attach-btn:disabled{opacity:.4;cursor:not-allowed}.composer-error{max-width:720px;margin:8px auto 0;font-size:13px;color:#ef4444}.sidebar-open-btn{position:fixed;top:20px;inset-inline-start:20px;z-index:40;display:grid;place-items:center;border:none;background:transparent;color:var(--muted);cursor:pointer;padding:0;transition:color .15s ease,transform .1s ease}.sidebar-open-btn:hover{color:var(--text);transform:scale(1.06)}.temp-chat-btn{position:fixed;top:20px;inset-inline-start:56px;z-index:40;display:grid;place-items:center;border:none;background:transparent;color:var(--muted);cursor:pointer;padding:0;transition:color .15s ease,transform .1s ease}.temp-chat-btn:hover{color:var(--text);transform:scale(1.06)}.temp-chat-btn[aria-pressed=true]{color:var(--accent)}.sidebar{position:fixed;top:12px;bottom:12px;inset-inline-start:12px;z-index:50;width:300px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--panel-border);border-radius:20px;box-shadow:0 8px 40px #0000004d;transform:translate(-110%);transition:transform .28s ease;overflow:hidden}[dir=rtl] .sidebar{transform:translate(110%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:var(--backdrop);opacity:0;pointer-events:none;transition:opacity .2s ease}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 8px;flex-shrink:0}.sidebar-title{font-family:var(--font-serif);font-style:italic;font-weight:700;font-size:24px;color:var(--text)}.icon-btn{width:32px;height:32px;display:grid;place-items:center;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s ease,color .12s ease}.icon-btn:hover{background:var(--hover);color:var(--text)}.sidebar-section-label{padding:4px 18px 8px;font-size:12px;font-weight:600;color:var(--muted)}.sidebar-list{flex:1;overflow-y:auto;padding:0 10px;display:flex;flex-direction:column;gap:2px}.history-item{display:flex;align-items:center;gap:6px;width:100%;border-radius:10px;background:transparent;color:var(--text);font-family:inherit;font-size:13.5px;cursor:pointer;text-align:start;transition:background .12s ease;padding:0}.history-item:hover{background:var(--hover)}.history-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:none;background:transparent;color:inherit;font-family:inherit;font-size:inherit;text-align:start;cursor:pointer;padding:9px 0 9px 10px}.history-item .history-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item .history-meta{flex-shrink:0;font-size:11px;color:var(--muted)}.history-item.new{color:var(--accent);font-weight:600;margin-bottom:4px;padding:9px 10px;border:none;background:transparent}.history-actions{display:none;gap:2px;padding-inline-end:6px;flex-shrink:0}.history-item:hover .history-actions{display:flex}.history-act{width:26px;height:26px;display:grid;place-items:center;border:none;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s ease,color .12s ease}.history-act:hover{background:var(--bg);color:var(--text)}.history-act.danger{color:#ef4444;background:#ef44441f}.history-rename{padding:4px 10px}.history-rename input{width:100%;border:1px solid var(--accent);border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;font-size:13px;padding:7px 10px;outline:none}.guest-prompt{margin:4px 2px 10px;border:1px dashed var(--border);border-radius:12px;padding:14px;text-align:center}.guest-prompt p{margin:0 0 10px;font-size:12.5px;line-height:1.8;color:var(--muted)}.guest-login-btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-family:inherit;font-size:13px;font-weight:600;padding:9px 18px;cursor:pointer;transition:background .15s ease}.guest-login-btn:hover{background:#1d4ed8}.sidebar-note{padding:8px 12px;font-size:12.5px;color:var(--muted);text-align:center}.sidebar-foot{flex-shrink:0;display:flex;flex-direction:column;gap:2px;padding:10px;border-top:1px solid var(--panel-border)}.side-action{display:flex;align-items:center;gap:10px;width:100%;border:none;border-radius:10px;background:transparent;color:var(--text);font-family:inherit;font-size:13.5px;padding:10px;cursor:pointer;text-align:start;transition:background .12s ease}.side-action:hover{background:var(--hover)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:var(--backdrop);padding:16px}.sheet{width:100%;max-width:440px;max-height:86vh;overflow-y:auto;background:var(--panel);border:1px solid var(--panel-border);border-radius:22px;padding:18px 20px 22px;color:var(--text)}.sheet-small{max-width:360px}.sheet-wide{max-width:780px}.sheet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sheet-head h2{margin:0;font-size:18px;font-weight:700}.sheet-section{padding:14px 16px;border:1px solid var(--panel-border);border-radius:16px}.sheet-section h3{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.2px}.sheet-field{display:block;margin-bottom:14px}.sheet-label{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;font-weight:600;margin-bottom:6px}.sheet-label em{font-style:normal;font-weight:600;color:var(--accent)}.sheet-field input[type=text],.sheet-field textarea{width:100%;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-family:inherit;font-size:14px;padding:9px 12px;outline:none;resize:vertical;transition:border-color .15s ease}.sheet-field input[type=text]:focus,.sheet-field textarea:focus{border-color:var(--accent)}.sheet-field input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.limit-row{margin-bottom:14px}.limit-row>span{display:block;font-size:13px;margin-bottom:4px}.limit-row strong{display:block;font-size:13px;color:var(--muted);font-weight:500;margin-bottom:6px}.limit-bar{height:6px;border-radius:999px;background:var(--hover);overflow:hidden}.limit-bar-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .3s ease}.sheet-hint{margin:0;font-size:12px;color:var(--muted);line-height:1.7}.theme-toggle{display:flex;gap:8px}.theme-toggle button{flex:1;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-family:inherit;font-size:13.5px;padding:9px;cursor:pointer;transition:all .12s ease}.theme-toggle button.active{border-color:var(--accent);background:var(--accent-weak);color:var(--accent);font-weight:600}@media(max-width:1024px){.sheet-wide{max-width:640px}}@media(max-width:600px){.modal-backdrop{place-items:end stretch;padding:0}.sheet{max-width:100%;max-height:92dvh;border-radius:22px 22px 0 0;padding:16px 16px 26px}.sheet-grid{grid-template-columns:1fr;gap:12px}.sheet-section{padding:13px 14px}.sheet-field input[type=text],.sheet-field textarea{font-size:16px}.theme-toggle button{padding:12px}.btn-primary,.btn-secondary{padding:13px}}.login-name{font-size:18px;font-weight:700;margin-bottom:14px}.btn-primary{width:100%;border:none;border-radius:12px;background:var(--accent);color:#fff;font-family:inherit;font-size:14px;font-weight:600;padding:11px;cursor:pointer;transition:background .15s ease,opacity .15s ease}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary.logout{background:transparent;border:1px solid #ef4444;color:#ef4444}.btn-primary.logout:hover{background:#ef444414}.btn-secondary{width:100%;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--text);font-family:inherit;font-size:14px;font-weight:600;padding:11px;margin-top:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.btn-secondary:hover{background:var(--hover);border-color:var(--accent)}.auth-tabs{display:flex;gap:8px;margin-bottom:12px}.auth-tabs button{flex:1;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-family:inherit;font-size:13.5px;padding:9px;cursor:pointer;transition:all .12s ease}.auth-tabs button.active{border-color:var(--accent);background:var(--accent-weak);color:var(--accent);font-weight:600}.auth-error{margin:0 0 12px;font-size:12.5px;line-height:1.7;color:#ef4444;background:#ef444414;border-radius:10px;padding:9px 12px}.msg-assistant{display:flex;align-items:flex-start}.msg-body{flex:1;min-width:0;font-size:15px;line-height:1.9;color:var(--text);overflow-wrap:break-word}.msg-actions{display:flex;gap:2px;margin-top:8px;opacity:0;transition:opacity .15s ease}.msg-assistant:hover .msg-actions,.msg-assistant:focus-within .msg-actions{opacity:1}@media(pointer:coarse){.msg-actions{opacity:1}}.action-btn{width:30px;height:30px;display:grid;place-items:center;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s ease,color .12s ease}.action-btn:hover{background:var(--hover);color:var(--text)}.thinking{display:flex;align-items:center;gap:5px;padding:10px 2px}.thinking span{width:6px;height:6px;border-radius:50%;background:#4b4b52;animation:blink 1.2s infinite ease-in-out}.thinking span:nth-child(2){animation-delay:.2s}.thinking span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.msg-body>*:first-child{margin-top:0}.msg-body>*:last-child{margin-bottom:0}.msg-body p{margin:0 0 .7em}.msg-body h1,.msg-body h2,.msg-body h3{margin:1em 0 .5em;font-weight:650;line-height:1.4}.msg-body h1{font-size:1.25em}.msg-body h2{font-size:1.12em}.msg-body h3{font-size:1.02em}.msg-body ul,.msg-body ol{margin:0 1.4em .7em 0;padding-inline-start:.5em}.msg-body li{margin:.2em 0}.msg-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(37,99,235,.3);transition:border-color .15s ease}.msg-body a:hover{border-color:var(--accent)}.msg-body code{font-family:var(--font-code);font-size:.86em;background:var(--hover);border-radius:6px;padding:1px 6px;direction:ltr;unicode-bidi:embed}.msg-body pre{direction:ltr;text-align:left;background:var(--hover);border-radius:12px;padding:14px 16px;overflow-x:auto;margin:0 0 .8em}.msg-body pre code{background:transparent;padding:0;font-size:.82em;line-height:1.7}.msg-body blockquote{margin:0 0 .8em;padding-inline-start:12px;border-inline-start:3px solid var(--border);color:var(--muted)}.msg-body table{border-collapse:collapse;margin:0 0 .8em;width:100%;font-size:.93em}.msg-body th,.msg-body td{border:1px solid var(--border);padding:6px 10px;text-align:start}.msg-body th{background:var(--hover);font-weight:600}.msg-body hr{border:none;border-top:1px solid var(--border);margin:1.2em 0}.composer-wrap{flex-shrink:0;padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px))}.composer{display:flex;align-items:flex-end;gap:10px;max-width:720px;margin:0 auto;background:var(--bg);border:1px solid var(--border);border-radius:18px;padding:8px 8px 8px 12px;transition:border-color .15s ease,box-shadow .15s ease}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb14}.composer textarea{flex:1;min-width:0;border:none;outline:none;resize:none;background:transparent;font-family:inherit;font-size:15px;line-height:1.7;min-height:26px;max-height:180px;padding:6px 4px;color:var(--text);overflow-y:auto}.composer textarea::placeholder{color:var(--muted)}.send-btn{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border:none;border-radius:50%;background:var(--accent);color:#fff;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .1s ease}.send-btn:hover:not(:disabled){background:#1d4ed8}.send-btn:active:not(:disabled){transform:scale(.94)}.send-btn:disabled{background:#26262b;color:#6b6b70;cursor:not-allowed}.send-btn.stop{background:var(--text)}.send-btn.stop:hover{background:#262626}@media(max-width:600px){.composer textarea{font-size:16px}.msg-user{max-width:88%}.messages{gap:24px}}@media(max-height:480px){.topbar{padding-top:10px}.empty-state h1{font-size:24px}}
