html,
body{
height:100%;
margin:0;
padding:0;
overflow-x:hidden;
font-family:'Inter',sans-serif;
background:#f3f4f6;
background-image:
radial-gradient(at 0% 0%,hsla(253,16%,7%,0.03) 0,transparent 50%),
radial-gradient(at 50% 0%,hsla(225,39%,30%,0.03) 0,transparent 50%),
radial-gradient(at 100% 0%,hsla(339,49%,30%,0.03) 0,transparent 50%);
transition:.3s;
}

body.dark{
background:#111827;
background-image:
radial-gradient(at 0% 0%,hsla(253,100%,50%,.1) 0,transparent 50%),
radial-gradient(at 50% 0%,hsla(225,100%,50%,.1) 0,transparent 50%),
radial-gradient(at 100% 0%,hsla(339,100%,50%,.1) 0,transparent 50%);
}

.apple-glass{
background:rgba(255,255,255,.85);
backdrop-filter:blur(25px) saturate(190%);
-webkit-backdrop-filter:blur(25px) saturate(190%);
border:1px solid rgba(255,255,255,.4);
border-radius:24px;
}

.dark .apple-glass{
background:rgba(30,30,35,.75);
border:1px solid rgba(255,255,255,.1);
}

.input-pod{
background:rgba(0,0,0,.04);
transition:.2s;
}

.dark .input-pod{
background:rgba(255,255,255,.05);
}

.input-pod:focus-within{
background:rgba(0,0,0,.07);
box-shadow:inset 0 0 0 2px rgba(0,122,255,.5);
}

.dark .input-pod:focus-within{
background:rgba(255,255,255,.1);
box-shadow:inset 0 0 0 2px rgba(10,132,255,.5);
}

#keywordInput{
width:100%;
background:transparent;
border:none;
outline:none;
font-size:16px;
font-weight:600;
color:#111827;
}

.dark #keywordInput{
color:#fff;
}

#keywordInput::placeholder{
color:#9ca3af;
}

.nav-btn-main{
background:#007AFF;
color:#fff;
border:none;
cursor:pointer;
transition:.2s;
box-shadow:0 4px 15px rgba(0,122,255,.35);
}

.nav-btn-main:hover{
opacity:.95;
transform:scale(.98);
}

.nav-btn-main:disabled{
opacity:.6;
cursor:not-allowed;
transform:none;
}

.copy-btn{
cursor:pointer;
transition:.2s;
}

.copy-btn:hover{
transform:translateY(-2px);
}

.copy-btn:active{
transform:scale(.95);
}

textarea{
font-family:inherit;
font-size:14px;
}

.custom-scrollbar::-webkit-scrollbar{
width:6px;
height:6px;
}

.custom-scrollbar::-webkit-scrollbar-track{
background:transparent;
}

.custom-scrollbar::-webkit-scrollbar-thumb{
background:rgba(0,0,0,.18);
border-radius:20px;
}

.dark .custom-scrollbar::-webkit-scrollbar-thumb{
background:rgba(255,255,255,.2);
}
.loader{
border:3px solid rgba(255,255,255,.3);
border-top:3px solid #fff;
border-radius:50%;
width:20px;
height:20px;
animation:spin 1s linear infinite;
}

@keyframes spin{

0%{
transform:rotate(0deg);
}

100%{
transform:rotate(360deg);
}

}

.modal-enter{
opacity:1 !important;
pointer-events:auto !important;
}

.modal-enter .modal-content{
transform:scale(1)!important;
}

#alertModal{
opacity:0;
pointer-events:none;
transition:opacity .3s ease;
}

.modal-content{
transform:scale(.95);
transition:transform .3s ease;
}

footer{
font-size:14px;
font-weight:700;
text-align:center;
color:#9ca3af;
padding:20px 0 30px;
}

footer i{
color:#ef4444;
}

button{
outline:none;
}

button:focus{
outline:none;
}

textarea{
border:none;
resize:none;
outline:none;
background:transparent;
}

textarea:focus{
outline:none;
}

#ytTagsOutput,
#ytHashtagsOutput{
line-height:1.7;
font-weight:500;
}

#ytHashtagsOutput{
color:#2563eb;
}

.dark #ytHashtagsOutput{
color:#60a5fa;
}

#resultsContainer{
display:none;
}

#resultsContainer.flex{
display:flex;
}

.shadow-2xl{
box-shadow:
0 25px 50px -12px rgba(0,0,0,.15);
}

.shadow-xl{
box-shadow:
0 20px 25px -5px rgba(0,0,0,.12);
}

@media(max-width:768px){

header{
padding:15px;
}

header h1{
font-size:18px;
}

main{
padding-left:15px;
padding-right:15px;
}

.apple-glass{
padding:20px;
}

#generateBtn{
width:100%;
font-size:16px;
padding:15px;
}

#keywordInput{
font-size:16px;
}

.copy-btn{
position:relative;
right:auto;
bottom:auto;
margin-top:15px;
width:100%;
display:flex;
justify-content:center;
align-items:center;
gap:8px;
}

#ytTagsOutput{
height:180px;
}

#ytHashtagsOutput{
height:120px;
}

}

@media(min-width:769px){

#generateBtn{
min-width:260px;
margin:auto;
}

}

.hide{
display:none!important;
}

.show{
display:block!important;
}