:root{
  --xe-bg:#f6f7fb;--xe-bg2:#eef1f7;--xe-card:rgba(255,255,255,.78);--xe-solid:#fff;
  --xe-border:rgba(17,24,39,.10);--xe-border2:rgba(17,24,39,.16);
  --xe-text:#111827;--xe-muted:#667085;--xe-faint:#98a2b3;
  --xe-accent:#4f46e5;--xe-accent2:#06b6d4;
  --xe-shadow:0 22px 80px rgba(15,23,42,.10);--xe-soft:0 10px 36px rgba(15,23,42,.08);
  --xe-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html,body{
  font-family:var(--xe-font)!important;color:var(--xe-text);
  background:radial-gradient(circle at 8% 0%,rgba(79,70,229,.13),transparent 34vw),
             radial-gradient(circle at 95% 4%,rgba(6,182,212,.12),transparent 30vw),
             linear-gradient(180deg,var(--xe-bg),var(--xe-bg2))!important;
  overflow-x:hidden;min-width:320px;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.32;background-image:linear-gradient(rgba(255,255,255,.50) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.50) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 70%);}
*,*:before,*:after{box-sizing:border-box}
a{color:var(--xe-accent)}
img,video,canvas,iframe{max-width:100%}
.app,.xevander-app,.shell,.layout,.chat-shell,main,#app,body>.container,body>.wrap,body>.wrapper{max-width:1480px;margin:0 auto}
.layout,.shell,.chat-shell,.app{
  border:1px solid var(--xe-border);background:rgba(255,255,255,.48);
  box-shadow:var(--xe-shadow);border-radius:28px;overflow:hidden;backdrop-filter:blur(22px);
}
@media(min-width:900px){.layout,.shell,.chat-shell,.app{min-height:calc(100vh - 28px);margin-top:14px;margin-bottom:14px}}
.sidebar,.contacts,.contact-list,aside{
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.58))!important;
  border-right:1px solid var(--xe-border);backdrop-filter:blur(18px);
}
.sidebar h1,.contacts h1,.brand,.logo,header h1{letter-spacing:-.045em;font-weight:780!important}
.brand:after,.logo:after{content:" private chat";display:inline-flex;margin-left:8px;padding:3px 8px;border-radius:999px;background:rgba(79,70,229,.10);color:var(--xe-accent);font-size:11px;letter-spacing:0;vertical-align:middle}
.contact,.contact-row,.conversation-row,.user-row,.ai-row,.sidebar button,.contacts button,.contact-list button{
  border-radius:18px!important;border:1px solid transparent!important;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.contact:hover,.contact-row:hover,.conversation-row:hover,.user-row:hover,.ai-row:hover,.sidebar button:hover,.contacts button:hover,.contact-list button:hover{
  transform:translateY(-1px);background:rgba(255,255,255,.76)!important;border-color:var(--xe-border)!important;box-shadow:var(--xe-soft);
}
.active,.selected,.contact.active,.contact-row.active,.conversation-row.active,.sidebar button.active,.contacts button.active{
  background:linear-gradient(135deg,rgba(79,70,229,.13),rgba(6,182,212,.10))!important;border-color:rgba(79,70,229,.22)!important;
}
.avatar,.contact-avatar,.profile-avatar{
  border-radius:18px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 10px 24px rgba(15,23,42,.10);
  background:linear-gradient(135deg,#111827,#4f46e5)!important;color:white!important;font-weight:750!important;
}
.chat-header,.thread-header,header.chat,.conversation-header{
  background:rgba(255,255,255,.76)!important;border-bottom:1px solid var(--xe-border);backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(255,255,255,.55) inset;
}
.chat-header h2,.thread-header h2,.conversation-header h2{font-weight:760!important;letter-spacing:-.035em}
.chat,.thread,.conversation,.messages-wrap,.messages-panel{
  background:radial-gradient(circle at 18% 10%,rgba(79,70,229,.08),transparent 28%),radial-gradient(circle at 80% 16%,rgba(6,182,212,.08),transparent 26%)!important;
}
.message,.bubble,.msg,.chat-message{
  border-radius:20px!important;border:1px solid var(--xe-border);box-shadow:0 8px 24px rgba(15,23,42,.055);line-height:1.45;
}
.message.mine,.bubble.mine,.msg.mine,.chat-message.mine,.message.me,.bubble.me,.msg.me,.outgoing,.sent{
  background:linear-gradient(135deg,#111827,#253047)!important;color:white!important;border-color:rgba(17,24,39,.12);box-shadow:0 12px 32px rgba(17,24,39,.16);
}
.message.theirs,.bubble.theirs,.msg.theirs,.chat-message.theirs,.incoming,.received{background:rgba(255,255,255,.88)!important;color:var(--xe-text)!important}
.message.ai,.bubble.ai,.msg.ai,.chat-message.ai,[data-contact="ollama"],[data-ai="true"]{background:linear-gradient(135deg,rgba(241,245,255,.96),rgba(236,254,255,.88))!important;border-color:rgba(79,70,229,.18)!important}
.message small,.bubble small,.timestamp,.time,.meta{color:var(--xe-faint)!important;font-size:11px!important}
.message img,.bubble img,.message video,.bubble video,.msg img,.msg video{border-radius:16px;box-shadow:0 10px 26px rgba(15,23,42,.10)}
.composer,.message-composer,form.composer,form#composer,.chat-input,.inputbar,.input-bar{
  background:rgba(255,255,255,.84)!important;border:1px solid var(--xe-border);border-radius:24px!important;box-shadow:0 16px 46px rgba(15,23,42,.10);backdrop-filter:blur(18px);
}
.composer input,.composer textarea,.message-composer input,.message-composer textarea,.chat-input input,.chat-input textarea,.inputbar input,.inputbar textarea,.input-bar input,.input-bar textarea{
  background:rgba(255,255,255,.76)!important;border:1px solid rgba(17,24,39,.08)!important;border-radius:18px!important;color:var(--xe-text)!important;outline:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.80);
}
.composer input:focus,.composer textarea:focus,.message-composer input:focus,.message-composer textarea:focus,.chat-input input:focus,.chat-input textarea:focus,.inputbar input:focus,.inputbar textarea:focus,.input-bar input:focus,.input-bar textarea:focus{
  border-color:rgba(79,70,229,.36)!important;box-shadow:0 0 0 4px rgba(79,70,229,.10),inset 0 1px 0 rgba(255,255,255,.80)!important;
}
button,.btn,input[type=submit],.send,.send-btn{border-radius:16px!important;font-weight:690!important;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,opacity .14s ease}
button:hover,.btn:hover,input[type=submit]:hover,.send:hover,.send-btn:hover{transform:translateY(-1px)}
button:active,.btn:active,input[type=submit]:active,.send:active,.send-btn:active{transform:translateY(0)}
button[type=submit],.send,.send-btn,.primary,.btn-primary{background:linear-gradient(135deg,var(--xe-accent),#2563eb)!important;color:#fff!important;border:0!important;box-shadow:0 12px 30px rgba(79,70,229,.22)}
.login,.login-card,.auth-card,form[action*=login],form.login{
  background:rgba(255,255,255,.78)!important;border:1px solid var(--xe-border);border-radius:30px!important;box-shadow:var(--xe-shadow);backdrop-filter:blur(22px);
}
.login input,.auth-card input,form[action*=login] input{border-radius:16px!important;border:1px solid var(--xe-border)!important;background:rgba(255,255,255,.84)!important}
#xevander-webtools-hint{top:12px!important;right:12px!important;bottom:auto!important;left:auto!important;pointer-events:none!important;opacity:.42!important;background:rgba(17,24,39,.72)!important;border:1px solid rgba(255,255,255,.18)!important}
*{scrollbar-width:thin;scrollbar-color:rgba(79,70,229,.35) transparent}
*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:rgba(79,70,229,.22);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:rgba(79,70,229,.38);background-clip:padding-box}
@media(max-width:760px){
  html,body{background:var(--xe-bg)!important}
  .layout,.shell,.chat-shell,.app{border-radius:0!important;border-left:0;border-right:0;margin:0;min-height:100dvh;box-shadow:none}
  .chat-header,.thread-header,.conversation-header{position:sticky;top:0;z-index:20}
  .message,.bubble,.msg,.chat-message{border-radius:18px!important}
  .composer,.message-composer,form.composer,form#composer,.chat-input,.inputbar,.input-bar{border-radius:20px!important;margin:8px!important}
  #xevander-webtools-hint{display:none!important}
}
@media(prefers-color-scheme:dark){
  :root{--xe-bg:#0b1020;--xe-bg2:#111827;--xe-border:rgba(255,255,255,.10);--xe-border2:rgba(255,255,255,.16);--xe-text:#f9fafb;--xe-muted:#cbd5e1;--xe-faint:#94a3b8}
  html,body{color:var(--xe-text);background:radial-gradient(circle at top left,rgba(79,70,229,.16),transparent 34vw),radial-gradient(circle at top right,rgba(6,182,212,.13),transparent 30vw),linear-gradient(180deg,var(--xe-bg),var(--xe-bg2))!important}
  .layout,.shell,.chat-shell,.app,.sidebar,.contacts,.contact-list,aside,.chat-header,.thread-header,header.chat,.conversation-header,.composer,.message-composer,form.composer,form#composer,.chat-input,.inputbar,.input-bar{background:rgba(15,23,42,.72)!important;border-color:var(--xe-border)!important}
  .message.theirs,.bubble.theirs,.msg.theirs,.chat-message.theirs,.incoming,.received{background:rgba(30,41,59,.88)!important;color:var(--xe-text)!important}
  .composer input,.composer textarea,.message-composer input,.message-composer textarea,.chat-input input,.chat-input textarea,.inputbar input,.inputbar textarea,.input-bar input,.input-bar textarea{background:rgba(15,23,42,.82)!important;color:var(--xe-text)!important;border-color:rgba(255,255,255,.10)!important}
}
