html,
body {
    scroll-behavior: smooth;
}

textarea,
input,
button {
    outline: none;
}

input:focus,
textarea:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
}

.homepage-shell {
    background:
        radial-gradient(circle at 20% 10%, rgba(79, 70, 229, 0.2), transparent 30%),
        radial-gradient(circle at 90% 30%, rgba(14, 165, 233, 0.13), transparent 30%),
        #0f0f14;
}

.homepage-shell .text-gradient {
    background: linear-gradient(90deg, #d0bcff 0%, #4f46e5 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.kinetic-theme {
    color: #e5e7eb;
}

.kinetic-theme main {
    color: #e5e7eb;
}

.kinetic-theme .bg-white {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

.kinetic-theme .bg-slate-50 {
    background-color: transparent !important;
}

.kinetic-theme .bg-slate-100 {
    background-color: rgba(255, 255, 255, 0.07) !important;
}

.kinetic-theme .border-slate-200,
.kinetic-theme .border-slate-300 {
    border-color: rgba(255, 255, 255, 0.14) !important;
}

.kinetic-theme .text-slate-900,
.kinetic-theme .text-slate-800,
.kinetic-theme .text-slate-700,
.kinetic-theme .text-slate-600,
.kinetic-theme .text-secondary {
    color: #b7bdd3 !important;
}

.kinetic-theme .text-slate-500,
.kinetic-theme .text-slate-400 {
    color: #97a0bd !important;
}

.kinetic-theme .shadow-sm,
.kinetic-theme .shadow,
.kinetic-theme .shadow-md {
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
}

.kinetic-theme input,
.kinetic-theme textarea,
.kinetic-theme select {
    background-color: rgba(20, 20, 31, 0.65);
    color: #e5e7eb;
    border-color: rgba(255, 255, 255, 0.18);
}

.kinetic-theme input::placeholder,
.kinetic-theme textarea::placeholder {
    color: #8f97b4;
}

.kinetic-theme table thead {
    background-color: rgba(255, 255, 255, 0.06) !important;
}
