:root{

--bg:#09090b;
--card:#111827cc;
--border:#ffffff12;
--text:#ffffff;
--accent:#8b5cf6;
--accent2:#06b6d4;

}

body.light{

--bg:#f8fafc;
--card:#ffffffdd;
--border:#00000010;
--text:#111827;

}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Inter,sans-serif;
}

body{

background:var(--bg);
color:var(--text);

min-height:100vh;
overflow-x:hidden;

}

.bg-blur{

position:fixed;
border-radius:50%;
filter:blur(140px);

}

.blur1{
width:500px;
height:500px;
background:#8b5cf655;
top:-150px;
left:-150px;
}

.blur2{
width:500px;
height:500px;
background:#06b6d455;
bottom:-150px;
right:-150px;
}

header{

height:80px;

display:flex;
align-items:center;
justify-content:space-between;

padding:0 40px;

}

.logo-wrap{

display:flex;
align-items:center;
gap:15px;

}

.logo{

width:50px;
height:50px;

border-radius:16px;

background:linear-gradient(
135deg,
#8b5cf6,
#06b6d4
);

display:flex;
align-items:center;
justify-content:center;

font-weight:bold;
font-size:24px;

}

main{

width:min(1400px,95%);
margin:auto;

}

.translator{

background:var(--card);

backdrop-filter:blur(25px);

border:1px solid var(--border);

border-radius:32px;

padding:25px;

}

.topbar{

display:flex;
justify-content:center;
gap:15px;

margin-bottom:25px;

}

select{

background:transparent;

border:1px solid var(--border);

padding:12px 18px;

border-radius:14px;

color:var(--text);

}

.swap-btn,
.icon-btn{

width:46px;
height:46px;

border:none;

cursor:pointer;

border-radius:14px;

background:#ffffff08;

color:var(--text);

transition:.25s;

}

.icon-btn:hover,
.swap-btn:hover{

transform:translateY(-3px);

box-shadow:
0 15px 35px rgba(139,92,246,.3);

}

.panels{

display:grid;

grid-template-columns:1fr 1fr;

gap:20px;

}

.panel{

background:#ffffff05;

border-radius:24px;

padding:20px;

}

.panel-header{

display:flex;
justify-content:space-between;
margin-bottom:15px;

}

.tools{

display:flex;
gap:10px;

}

textarea{

width:100%;
height:350px;

background:transparent;

border:none;

resize:none;

color:var(--text);

font-size:16px;

outline:none;

}

.counter{

margin-top:10px;

opacity:.7;

}

.status{

margin-top:20px;

display:flex;
align-items:center;
gap:10px;

}

.dot{

width:10px;
height:10px;

background:#22c55e;

border-radius:50%;

}

.suggestions{

margin-top:25px;

}

#synonyms{

display:flex;
flex-wrap:wrap;
gap:10px;

margin-top:15px;

}

.chip{

padding:10px 16px;

border-radius:999px;

background:#8b5cf622;

border:1px solid #8b5cf655;

}

@media(max-width:900px){

.panels{
grid-template-columns:1fr;
}

}