:root{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;color:#eeeef5;background:#101116}*{box-sizing:border-box}body{margin:0;display:flex;height:100dvh}button,textarea{font:inherit}button{cursor:pointer}button:focus-visible,textarea:focus-visible{outline:2px solid #a78bfa;outline-offset:2px}#sidebar{width:260px;flex-shrink:0;background:#17181f;border-right:1px solid #292a33;display:flex;flex-direction:column;padding:20px 12px;gap:15px}.brand{font-weight:800;font-size:15px;display:flex;align-items:center;gap:10px;padding:4px}.brand img{width:39px;height:39px;border-radius:12px}.brand b{color:#b8a1ff}#new{border:1px solid #494050;background:#292531;color:#f4efff;padding:13px;border-radius:12px;text-align:left}.side-label{display:flex;align-items:center;justify-content:space-between;padding:10px 7px 0;color:#a5a3b3;font-size:13px}.side-label button{border:0;background:transparent;color:#c6b9e9;font-size:12px;padding:7px;border-radius:8px}.side-label button:hover{background:#302b3b}#chats{display:flex;flex-direction:column;gap:5px;overflow:auto;flex:1}.chat-row{display:flex;align-items:center;gap:3px;border-radius:9px}.chat-row.active{background:#353044}.chat-link{flex:1;min-width:0;background:transparent;border:0;border-radius:9px;color:#c5c4cf;text-align:left;padding:11px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-chat{border:0;background:transparent;color:#a9a1b5;padding:8px;opacity:.6}.delete-chat:hover{color:#ffaaaa;opacity:1}.chat-row:hover{background:#2b2834}.foot{font-size:11px;color:#888896;padding:8px}.app{display:flex;flex-direction:column;min-width:0;flex:1}header{height:64px;border-bottom:1px solid #262730;display:flex;align-items:center;gap:12px;padding:0 25px}header strong{font-size:15px}header small{color:#a78bfa;font-size:11px}.status{margin-left:auto;color:#a3a3b1;font-size:12px}#menu{display:none;background:none;border:0;color:white;font-size:22px}#conversation{flex:1;overflow-y:auto;min-height:0}#welcome{max-width:760px;margin:auto;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center}#welcome img{width:76px;height:76px;border-radius:22px}h1{font-size:clamp(27px,4vw,40px);margin:16px 0 8px}#welcome p{color:#a1a1ae;line-height:1.6}.suggestions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.suggestions button{background:#20212a;border:1px solid #353541;color:#dddde8;padding:12px 15px;border-radius:14px}.suggestions button:hover{border-color:#9d82ec}#messages{max-width:830px;margin:auto;padding:30px 24px 45px;display:flex;flex-direction:column;gap:25px}.message{display:flex;gap:14px;align-items:flex-start}.message.user{justify-content:flex-end}.bubble{max-width:min(100%,720px);line-height:1.7;overflow-wrap:anywhere}.user .bubble{background:#2d2b39;border:1px solid #3a3747;border-radius:20px 20px 5px 20px;padding:12px 18px;white-space:pre-wrap}.assistant .bubble{flex:1;min-width:0}.bot-icon{width:34px;height:34px;border-radius:11px;object-fit:cover;flex-shrink:0}.bubble p{margin:0 0 12px}.bubble p:last-child{margin-bottom:0}.bubble h2,.bubble h3{margin:18px 0 8px}.bubble pre{background:#1b1c23;border:1px solid #393a46;border-radius:13px;overflow:auto;margin:14px 0}.codehead{display:flex;justify-content:space-between;align-items:center;background:#282933;padding:8px 13px;color:#a8a9b7;font-size:12px}.copy-code{background:none;border:0;color:#e1d6ff}.bubble pre code{display:block;padding:16px;white-space:pre;font:13px/1.6 Consolas,monospace}.bubble :not(pre)>code{background:#292b36;border-radius:5px;padding:2px 5px}.bubble a{color:#bda7ff}.loading{color:#bda7ff}.message-photo{display:block;max-width:240px;max-height:240px;border-radius:12px;margin-bottom:8px;object-fit:contain}.composer{padding:12px 22px 20px;background:linear-gradient(transparent,#101116 15%);width:100%}.composer form{display:flex;align-items:flex-end;gap:10px;max-width:830px;margin:auto;background:#24252e;border:1px solid #454553;border-radius:22px;padding:10px 13px;box-shadow:0 12px 32px #0003}.composer form:focus-within{border-color:#9579dc}textarea{flex:1;min-width:0;max-height:160px;resize:none;background:transparent;border:0;outline:0;color:white;padding:8px 0;line-height:1.5}textarea::placeholder{color:#9999a7}#send{background:#a68bf5;color:#16121d;border:0;border-radius:12px;width:39px;height:39px;font-size:18px}#send:disabled{opacity:.4;cursor:wait}#attach{background:#373744;color:#ddd;border:0;border-radius:12px;width:39px;height:39px;font-size:25px}#attach:disabled{opacity:.4}.composer small{display:block;text-align:center;color:#858594;margin-top:12px;font-size:11px}#preview{max-width:830px;margin:0 auto 10px;background:#23232e;border:1px solid #454553;border-radius:12px;padding:8px;display:flex;align-items:center;gap:12px;font-size:12px;color:#bdbdca}#preview[hidden]{display:none}#preview img{width:52px;height:52px;object-fit:cover;border-radius:8px}#preview span{flex:1;overflow:hidden;text-overflow:ellipsis}#removeImage{background:transparent;border:0;color:#eee;font-size:20px}#scrim{display:none}@media(max-width:760px){#sidebar{position:fixed;z-index:10;top:0;bottom:0;left:0;transform:translateX(-105%);transition:transform .2s}#sidebar.open{transform:translateX(0)}#scrim.open{display:block;position:fixed;inset:0;background:#0009;z-index:9}#menu{display:block}header{padding:0 15px}#messages{padding:24px 14px}.composer{padding:10px 12px 14px}.status{display:none}}

.auth-overlay{position:fixed;z-index:99;inset:0;background:#101116;display:flex;align-items:center;justify-content:center;padding:20px}.auth-overlay[hidden]{display:none}.auth-card{width:min(100%,410px);background:#1c1d26;border:1px solid #383545;border-radius:22px;padding:30px;display:flex;flex-direction:column;gap:13px;box-shadow:0 25px 90px #0009}.auth-card>img{width:64px;height:64px;border-radius:17px}.auth-card h2{margin:0}.auth-card p{margin:0;color:#aaa8b8}.auth-card label{display:flex;flex-direction:column;gap:7px;color:#cfcddd;font-size:13px}.auth-card input{width:100%;padding:13px;background:#11121a;color:white;border:1px solid #464454;border-radius:10px;outline:none}.auth-card input:focus{border-color:#a68bf5}.auth-card button{padding:12px;border:0;border-radius:10px;background:#a68bf5;color:#17121e;font-weight:700}.auth-card #authSwitch{background:transparent;color:#c8b5ff}.auth-card #authError{color:#ff9d9d;font-size:13px}.auth-card small{color:#888896}.foot #logout{background:#292733;border:1px solid #484052;color:#eee;padding:8px;border-radius:9px;margin-top:8px}.foot #accountName{font-size:13px;color:#eee}
