:root{
    --bg:#09090B;
    --surface:#111318;
    --surface2:#1A1D24;
    --accent:#00D4FF;
    --accent2:#7A5CFF;
    --text:#FFFFFF;
    --text2:#A3A8B8;
    --radius:18px;
    --shadow:0 10px 40px rgba(0,0,0,.45);
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,body{
    width:100%;
    height:100%;
    background:var(--bg);
    color:var(--text);
    font-family:"Inter",sans-serif;
    overflow:hidden;
}

body{
    display:flex;
    flex-direction:column;
}

#background{
    position:fixed;
    inset:0;
    background:
    radial-gradient(circle at top left,#00d4ff22,transparent 40%),
    radial-gradient(circle at bottom right,#7a5cff22,transparent 40%);
    z-index:-1;
}

header{
    height:80px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px;
    backdrop-filter:blur(18px);
    background:rgba(20,20,25,.65);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.logo h1{
    font-size:30px;
    font-weight:700;
    letter-spacing:3px;
}

.logo p{
    color:var(--text2);
    font-size:13px;
}

#settingsButton{
    width:48px;
    height:48px;
    border:none;
    border-radius:50%;
    background:var(--surface2);
    color:white;
    font-size:20px;
}

main{
    flex:1;
    overflow:hidden;
}

#chat{
    height:100%;
    overflow-y:auto;
    padding:20px;
}

#messages{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.ai,
.user{
    max-width:85%;
    padding:18px;
    border-radius:var(--radius);
    line-height:1.6;
    animation:fade .3s ease;
}

.ai{
    background:var(--surface);
    align-self:flex-start;
    border:1px

#settingsMenu{

position:fixed;

top:0;

right:-320px;

width:300px;

height:100%;

background:#15181f;

padding:24px;

transition:.3s;

z-index:999;

box-shadow:-10px 0 30px rgba(0,0,0,.45);

}

#settingsMenu.open{

right:0;

}

#settingsMenu h2{

margin-bottom:24px;

}

#settingsMenu button{

width:100%;

margin-bottom:12px;

padding:14px;

border:none;

border-radius:12px;

background:#242833;

color:white;

font-size:16px;

}

#snackbar{

position:fixed;

bottom:90px;

left:50%;

transform:translateX(-50%) translateY(120px);

background:#242833;

padding:14px 20px;

border-radius:999px;

transition:.3s;

opacity:0;

z-index:1000;

}

#snackbar.show{

opacity:1;

transform:translateX(-50%) translateY(0);

}

#splash{

position:fixed;

inset:0;

background:#09090B;

display:flex;

justify-content:center;

align-items:center;

z-index:99999;

transition:.6s;

}

#splash.hide{

opacity:0;

visibility:hidden;

}

.logo-container{

text-align:center;

}

.logo-container h1{

margin-top:24px;

font-size:42px;

letter-spacing:6px;

font-weight:700;

}

.logo-container p{

margin-top:10px;

color:#A3A8B8;

font-size:15px;

}

.core{

width:90px;

height:90px;

border-radius:50%;

margin:auto;

background:linear-gradient(135deg,#00D4FF,#7A5CFF);

box-shadow:

0 0 25px #00D4FF,

0 0 60px #7A5CFF55;

animation:coreAnimation 2s infinite;

}

.dots{

margin-top:24px;

display:flex;

justify-content:center;

gap:10px;

}

.dots span{

width:10px;

height:10px;

border-radius:50%;

background:#00D4FF;

animation:loadingDots 1.2s infinite;

}

.dots span:nth-child(2){

animation-delay:.2s;

}

.dots span:nth-child(3){

animation-delay:.4s;

}