*{box-sizing:border-box}body,html{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#08070d;color:#f4f0ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,textarea{font:inherit}button{border:0}.app{width:100%;min-height:0;overflow:hidden;background:radial-gradient(circle at 70% 10%,rgba(125,74,255,.09),transparent 32%),#08070d}.app,.sidebar{display:flex;height:100dvh}.sidebar{width:280px;flex:0 0 280px;flex-direction:column;background:rgba(13,11,21,.96);border-right:1px solid rgba(255,255,255,.07);z-index:50}.sidebar-header{height:72px;min-height:72px;justify-content:space-between;padding:0 18px}.brand,.sidebar-header{display:flex;align-items:center}.brand{gap:10px;background:none;color:#fff;font-size:20px;font-weight:700;cursor:pointer}.brand-orb{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#a66cff,#6840e8);box-shadow:0 0 24px rgba(137,86,255,.28)}.brand-orb.small{width:30px;height:30px;border-radius:9px;font-size:15px}.close-sidebar{display:none;background:transparent;color:#aaa3ba;font-size:28px;cursor:pointer}.new-chat{height:46px;margin:4px 14px 20px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;background:#171320;border:1px solid rgba(255,255,255,.08);color:#eee9fa;cursor:pointer;transition:.2s}.new-chat:hover{background:#211a2f;border-color:rgba(160,110,255,.3)}.conversation-label{padding:0 18px 9px;color:#716a80;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.conversation-list{flex:1 1;min-height:0;overflow-y:auto;padding:0 10px}.conversation{width:100%;min-height:43px;display:flex;align-items:center;gap:10px;padding:0 11px;margin-bottom:3px;border-radius:9px;background:transparent;color:#aaa4b6;text-align:left;cursor:pointer}.conversation:hover{background:rgba(255,255,255,.045);color:#eee}.conversation.active{background:rgba(132,79,239,.15);color:#eee7ff}.conversation-icon{color:#756d83;font-size:13px}.conversation-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px}.empty-conversations{padding:15px 10px;color:#5e5868;font-size:13px}.sidebar-footer{padding:17px;border-top:1px solid rgba(255,255,255,.06)}.status{display:flex;align-items:center;gap:9px;color:#777081;font-size:12px}.status-dot{width:7px;height:7px;border-radius:50%;background:#6ee7a5;box-shadow:0 0 9px rgba(110,231,165,.6)}.chat{flex:1 1;min-width:0;min-height:0;height:100dvh;display:flex;flex-direction:column;position:relative}.topbar{height:64px;min-height:64px;flex:0 0 64px;display:none;align-items:center;justify-content:space-between;padding:0 15px;background:rgba(8,7,13,.94);border-bottom:1px solid rgba(255,255,255,.07);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20}.menu-button,.mobile-new{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.055);color:#dcd6e8;cursor:pointer;font-size:20px}.mobile-title{display:flex;align-items:center;gap:9px;color:#f6f1ff;font-weight:700;font-size:17px}.chat-content{flex:1 1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.welcome{width:min(700px,calc(100% - 32px));min-height:100%;margin:0 auto;padding:80px 0 130px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.welcome-orb{width:70px;height:70px;display:grid;place-items:center;margin-bottom:22px;border-radius:23px;background:linear-gradient(135deg,#a66cff,#6338df);box-shadow:0 0 50px rgba(126,69,246,.25);font-size:30px}.welcome h1{margin:0 0 12px;font-size:clamp(27px,5vw,40px);letter-spacing:-.04em}.welcome p{max-width:520px;margin:0;color:#898294;line-height:1.65;font-size:15px}.suggestions{width:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:34px}.suggestions button{min-height:70px;padding:14px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);color:#aaa3b5;text-align:left;cursor:pointer;transition:.2s}.suggestions button:hover{background:rgba(137,82,255,.09);border-color:rgba(137,82,255,.25);color:#ddd5eb}.messages{width:min(900px,calc(100% - 32px));margin:0 auto;padding:35px 0 150px}.message-row{display:flex;width:100%;margin-bottom:27px}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start;gap:10px}.message-avatar{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;margin-top:2px;border-radius:9px;background:linear-gradient(135deg,#9b62ff,#6338dc);color:white;font-size:13px}.message{max-width:min(760px,82%);color:#e9e4ef;line-height:1.65;font-size:15px}.message-row.user .message{padding:11px 15px;border-radius:17px 17px 5px 17px;background:#282032;color:#f0ebf5}.message-row.assistant .message{padding:1px 0}.message-image{margin-bottom:9px}.message-image img{display:block;max-width:280px;max-height:300px;border-radius:13px;object-fit:contain}.markdown{overflow-wrap:anywhere}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:0 0 12px}.markdown p:last-child{margin-bottom:0}.markdown strong{color:#fff;font-weight:700}.markdown em{color:#ddd4e8}.markdown ol,.markdown ul{margin:9px 0 13px;padding-left:23px}.markdown li{margin:4px 0}.markdown blockquote{margin:12px 0;padding:7px 14px;border-left:3px solid #8050e9;color:#aaa1b2;background:rgba(128,80,233,.06)}.markdown hr{margin:18px 0;border:0;border-top:1px solid rgba(255,255,255,.09)}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:18px 0 9px;line-height:1.25;color:#f6f1fa}.markdown h1{font-size:1.45em}.markdown h2{font-size:1.3em}.markdown h3{font-size:1.15em}.markdown a{color:#ad86ff;text-decoration:underline;-webkit-text-decoration-color:rgba(173,134,255,.4);text-decoration-color:rgba(173,134,255,.4)}.markdown a:hover{color:#c4a8ff}.inline-code{padding:2px 5px;border-radius:5px;background:rgba(255,255,255,.08);color:#d9c6ff;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88em}.code-block{width:100%;margin:12px 0;padding:13px;overflow-x:auto;border-radius:10px;background:#0b0910;border:1px solid rgba(255,255,255,.08);color:#ddd6e7;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55}.markdown table{width:100%;margin:14px 0;border-collapse:collapse;overflow:hidden;font-size:13px}.markdown td,.markdown th{padding:8px 10px;border:1px solid rgba(255,255,255,.1);text-align:left}.markdown th{background:rgba(255,255,255,.06);color:#f0eaf8}.markdown td{color:#c4bdca}.vision-status{gap:9px;color:#8c8498;font-size:13px}.typing,.vision-status{display:flex;align-items:center}.typing{gap:5px;padding-top:8px!important}.typing span,.typing-dots span{width:6px;height:6px;display:block;border-radius:50%;background:#91859f;animation:bounce 1.1s ease-in-out infinite}.typing span:nth-child(2),.typing-dots span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3),.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}.composer-area{position:absolute;left:0;right:0;bottom:0;padding:18px max(18px,calc((100% - 900px) / 2)) 16px;background:linear-gradient(0deg,#08070d 60%,rgba(8,7,13,0));z-index:10}.composer{width:100%;min-height:54px;display:flex;align-items:flex-end;gap:7px;padding:7px;border-radius:17px;background:#15121c;border:1px solid rgba(255,255,255,.09);box-shadow:0 10px 40px rgba(0,0,0,.3)}.composer:focus-within{border-color:rgba(145,88,255,.35)}.composer textarea{flex:1 1;min-width:0;max-height:150px;resize:none;padding:10px 5px;outline:none;border:0;background:transparent;color:#eeeaf3;line-height:1.45;font-size:15px}.composer textarea::placeholder{color:#696274}.attach,.send{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:11px;cursor:pointer}.attach{background:transparent;color:#8e8599;font-size:22px}.attach:hover{background:rgba(255,255,255,.05);color:#d7cfdf}.send{background:#8150ec;color:white;font-size:21px;transition:.2s}.send:hover:not(:disabled){background:#9668f5;transform:translateY(-1px)}.send:disabled{opacity:.3;cursor:default}.composer-hint{margin-top:7px;color:#55505e;text-align:center;font-size:10px}.image-preview{position:relative;width:-moz-fit-content;width:fit-content;margin:0 0 8px}.image-preview img{width:70px;height:70px;display:block;border-radius:11px;object-fit:cover;border:1px solid rgba(255,255,255,.1)}.image-preview button{position:absolute;top:-7px;right:-7px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#302936;color:white;cursor:pointer}.error{margin-bottom:8px;padding:9px 12px;border-radius:9px;background:rgba(190,50,80,.12);border:1px solid rgba(190,50,80,.2);color:#e995a8;font-size:12px}.mobile-overlay{display:none}@media (max-width:700px){.app{height:100dvh;min-height:100dvh;position:relative}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(310px,86vw);height:100dvh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 50px rgba(0,0,0,.4)}.sidebar.open{transform:translateX(0)}.close-sidebar{display:block}.mobile-overlay{position:fixed;inset:0;display:block;background:rgba(0,0,0,.58);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:40}.mobile-overlay.visible{opacity:1;pointer-events:auto}.chat{width:100%;height:100dvh;min-height:0}.topbar{display:flex}.chat-content{min-height:0;height:auto}.welcome{width:calc(100% - 28px);padding:45px 0 150px;justify-content:center}.welcome-orb{width:58px;height:58px;margin-bottom:18px;border-radius:19px;font-size:25px}.welcome h1{font-size:29px}.welcome p{font-size:14px}.suggestions{grid-template-columns:1fr;gap:7px;margin-top:25px}.suggestions button{min-height:52px;padding:12px 14px}.messages{width:calc(100% - 24px);padding:22px 0 145px}.message{max-width:88%;font-size:14px}.message-row{margin-bottom:22px}.message-avatar{width:27px;height:27px;flex-basis:27px;border-radius:8px;font-size:11px}.message-image img{max-width:220px;max-height:240px}.markdown table{display:block;overflow-x:auto}.code-block{max-width:100%;font-size:12px}.composer-area{padding:10px 10px max(10px,env(safe-area-inset-bottom));background:linear-gradient(0deg,#08070d 70%,rgba(8,7,13,0))}.composer{min-height:51px;border-radius:15px}.composer textarea{font-size:15px;padding-top:9px;padding-bottom:9px}.composer-hint{display:none}.error{font-size:11px}}@media (max-width:380px){.mobile-title{font-size:16px}.menu-button,.mobile-new{width:38px;height:38px}.welcome h1{font-size:26px}.message{max-width:91%}}